PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ungewollter Seitenumbruch zwischen Überschrift und Text



swissjohnny
04-03-2010, 18:52
Liebe LaTeXler

Ich habe folgendes Problem: Es kommt bei den unteren Überschriftenebenen (soweit ersichtlich bei subsubsection und paragraph, bei den anderen ist das bisher nocht nicht passiert) vor, dass die Überschrift alleine unten auf eine Seite kommt, der Text aber auf die nächste Seite geht. Siehe das Beispiel im Attachment.

Wie kann man das verhindern?

Leider kann ich kein Minimalbeispiel posten, denn dann würde das Problem ja kaum auftauchen, es sei denn ich poste das ganze Dokument ...

Ev. könnte es an dieser Einstellung hier liegen?
\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000

Herzlichen Dank im Voraus für Eure Hilfe!

The EYE
04-03-2010, 19:01
Hallo!

du könntest doch einfach deine Präambel verkleinern und das Dokument nur mit Text für ein Seite füllen (aus deinem Dokument kopieren) und dann einen subsubsection Befehl an geeigneter Stelle einbringen. Bzw einfach den betroffenden Teil deines Dokuments kopieren/Fehler nachstellen.

Dein Anhang hilft mir leider überhaupt nicht.

Gruß Max

swissjohnny
04-03-2010, 19:55
Servus

Ich hab mal versucht, die Präambel zu verkürzen und ein Minimalbeispiel zu erstellen - aber leider taucht jetzt der Fehler nicht mehr auf.

Ich muss zu diesem Fehler auch noch dazu sagen, dass er bei meinem Dokument von insgesamt 300 Seiten nur an einigen wenigen Stellen auftaucht, insgesamt ca. 4 mal, aber das ist trotzdem blöd, weil wenn ich es mit \newpage löse und dann doch nochmal etwas anpasse, habe ich dann unschöne Seitenwechsel ...

Vielleicht findet ja trotzdem jemand von Euch den Fehler.

\documentclass[a4paper,headsepline,smallheadings,cleardoubleplain ,nopartprefix,bibsgerman]{scrbook}

\usepackage{setspace}
\usepackage{ifthen}
\usepackage{fix-cm}
\areaset[0cm]{12cm}{19.7cm}
\DeclareOption*{\PassOptionsToClass{\CurrentOption }{scrbook}}
\ProcessOptions\relax
\usepackage[english,french,ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{varioref}
\usepackage{lmodern}
\usepackage{xspace}
\usepackage{fancyhdr}
\usepackage{blindtext}
\usepackage{ragged2e}
\usepackage{bibgerm}
\usepackage{titlesec}
\usepackage[protrusion=true,expansion]{microtype}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyfoot[LE,RO]{\thepage}
\fancyhead[RO]{\rightmark}
\fancyhead[LE]{\leftmark}
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}}

\skip\footins=30pt plus 4.0pt minus 2.0pt\relax
\renewcommand{\footnoterule}%
{\rule{0mm}{0pt}\vspace{0mm}}

\usepackage{remreset}
\makeatletter
\@removefromreset{footnote}{chapter}
\makeatother

\setlength{\parindent}{0,5cm}
\renewcommand*{\partformat}{\arabic{part}. Teil:}
\renewcommand*{\thepart}{\arabic{part}. {}Teil:}
\renewcommand \thechapter {§\,\arabic{chapter}}
\renewcommand \thesection {\Roman{section}.}
\renewcommand \thesubsection {\arabic{subsection}.}
\renewcommand \thesubsubsection {\alph{subsubsection})}
\renewcommand \theparagraph {\alph{paragraph}\alph{paragraph})} % oder: {(\arabic{paragraph})}
\makeatletter
\renewcommand*\l@section{\@dottedtocline{1}{2.5em} {2em}}
\renewcommand*\l@subsection{\@dottedtocline{1}{4.5 em}{2em}}
\renewcommand*\l@subsubsection{\@dottedtocline{1}{ 6.5em}{2em}}
\renewcommand*\l@paragraph{\@dottedtocline{1}{8.5e m}{2em}}
\renewcommand*\l@subparagraph{\@dottedtocline{1}{1 0.5em}{2em}}
\makeatother

%%%%%%%%%%%%%%%%%%%%%Anfang Abstand Part- und chapter-Überschriften %%%%%%%%%%%%%%%%%%%%%
\makeatletter
\renewcommand*\l@part[2]{%
\ifnum \c@tocdepth >-2\relax
\addpenalty{-\@highpenalty}%
\addvspace{2.25em \@plus\p@}%
\setlength{\@tempdima}{4.5em}%
\if@tocleft
\ifx\toc@l@number\@empty\else
\setlength\@tempdima{0\toc@l@number}%
\fi
\fi
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode
\advance\leftskip\@tempdima
\hskip -\leftskip
\usekomafont{partentry}{#1\nobreak
\usekomafont{partentrypagenumber}{\hfil\nobreak
\hb@xt@\@pnumwidth{\hss#2}}}\par
\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
\endgroup
\penalty20010
\else
\penalty\@highpenalty
\endgroup
\fi
\fi
}
\makeatother

\let\partheadmidvskip\ %part einzeilig

\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{2.5em}%
\if@tocleft
\ifx\toc@l@number\@empty\else
\setlength\@tempdima{0\toc@l@number}%
\fi
\fi
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \sectfont
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%Ende Abstand Part- und chapter-Überschriften %%%%%%%%%%%%%%%%%%%%%

\let\raggedsection\relax

\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000

\usepackage[colorlinks,linkcolor=black,citecolor=black,urlcolo r=black,plainpages=false,pdfpagelabels]{hyperref}

\begin{document}
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}}
\setcounter{footnote}{0}
\mainmatter


\chapter{2}
\section{2.1}
\section{3}
\section{3.a}
\subsection{4}
\blindtext
\blindtext\footnote{\blindtext}
\subsubsection{warum steht diese Blöde Überschrift hier?}
\blindtext\footnote{\Blindtext}
\subsubsection{warum steht diese Blöde Überschrift hier?}
\blindtext
\paragraph{7}
\blindtext


\end{document}

The EYE
04-03-2010, 20:05
Hm...naja ein Minimalbeispiel, dass fehlerfrei läuft hilft natürlich nicht sehr viel. Das einzige was mir dazu einfallen würde ist, dass du nach und nach alle Pakete heraus nimmst und so herausfindest wo der Fehler liegt.

Gruß Max

lockstep
04-03-2010, 20:35
Was passiert, wenn du \raggedbottom in die Präambel einfügst?

lockstep

swissjohnny
04-03-2010, 21:15
:-( Da ändert sich leider nix

Könnte es ev. an meiner Fussnoteneinstellung liegen?

The EYE
04-03-2010, 22:06
Nimm sie doch mal raus ;-)

Gruß Max

lockstep
05-03-2010, 11:55
Ohne ein Beispiel, das den Fehler nachvollziehbar macht (selbst wenn es nicht "minimal" ist), wird es wohl nicht gehen.

Dein Dokument hat ca. 300 Seiten, in denen der Fehler bloß viermal auftritt. Aber du arbeitest mit \chapter. Es sollte also möglich sein, in einer Kopie (!) des Dokumentes alle Kapitel bis auf eines zu löschen, in dem der Fehler auftritt; es sollte auch funktionieren, in diesem Kapitel allen Text nach dem Fehler zu löschen. Die Präambel würde ich zunächst völlig unverändert lassen. Das Dokument sollte jetzt deutlich kürzer sein (je nach Kapitelanzahl und Auftreten des Fehlers vielleicht nur 5-10% der Ursprungsgröße). Als nächtes - jedenfalls dann, wenn der Dokumentinhalt vertraulich ist - sollten Textblöcke vor dem Fehler durch \blindtext u.ä. ersetzt werden, wobei die Zeilenanzahl des Blocks konstant gehalten werden sollte (hier helfen zusätzliche Zeilenumbrüche mittels \\). Nach jedem Schritt überprüfen, ob der Fehler noch auftritt! Wenn der Dokumenttext nicht mehr gekürzt werden kann, experimentiere ev. noch mit der Präambel. Dann stell das ganze hier ins Forum (in einer Codeumgebung oder als Dateianhang).

lockstep

u_fischer
05-03-2010, 13:11
Naja, wenn ich deinem Bild gehe, sieht es weniger nach einem Umbruch nach einer Überschrift aus, sondern nach einem Umbruch in einer mehrzeiligen \paragraph-Überschrift aus. Abgesehen davon, glaube ich deiner Präambel nicht. Die würde, soweit ich sehe, keine nummerierten \paragraph-Überschriften ergeben.

lockstep
05-03-2010, 13:38
@Ulrike: Zumindest standardmäßig sollten Seitenumbrüche innerhalb einer mehrzeiligen Paragraph-Überschrift unzulässig sein - vergleiche dazu die Varianten A und B im folgenden Beispiel:



\documentclass[12pt]{article}

\usepackage[latin9]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\begin{document}

\section{Ein Abschnitt}

\blindtext

\blindtext

\blindtext% Variante A

% \blindtext Noch ein bisschen Text, um den Absatz um eine Zeile zu verlängern.% Variante B

\paragraph{Eine paragraph-Überschrift, die lang genug ist, um sich über zwei Zeilen zu erstrecken}

\blindtext

\end{document}


lockstep

u_fischer
05-03-2010, 16:45
\documentclass{scrbook}
\usepackage{lipsum}
\begin{document}
\vspace*{39\baselineskip}
\paragraph{\lipsum[1]}

a\\b\\c
\end{document}

Abgesehen davon, verwendet der OP titlesec.

lockstep
05-03-2010, 17:08
Ich muss mich korrigieren: Seitenumbrüche in mehrzeiligen paragraph-Überschriften sind erlaubt. Allerdings scheint \clubpenalty=10000 innerhalb der Überschrift weiterhin zu gelten - setze ich in deinem Beispiel \vspace*{40\baselineskip}, wird die gesamte Überschrift auf die nächste Seite verschoben.


Abgesehen davon, verwendet der OP titlesec.

Deswegen sagte ich "zumindest standardmäßig". (Und das Hinzufügen von \usepackage{titlesec} ändert nichts am obigen Ergebnis.)

lockstep

swissjohnny
21-03-2010, 14:06
Liebe LaTeXler

Besten Dank für Eure Tips!
Leider habe ich das Problem noch nicht lösen können, weiss nun aber, wo es zu lokalisieren ist:

Das Problem, dass eine Überschrift alleine unten auf einer Seite erscheint, und der Text dann auf der nächsten Seite folgt, tritt immer dann auf, wenn eine Fussnote so lange ist, dass sie sich auf die nachfolgende Seite erstreckt.

Soviel ich weiss tritt das Problem nur bei paragraph und subparagraph auf, wenn gleichzeitig unten eine lange Fussnote hinzukommt.

Könnt Ihr mir da vielleicht weiterhelfen?
BESTEN DANK!!!

Anbei ein "Minimalbeispiel"; sorry für die Länge, aber ich habe nur aber immerhin das gelöscht, was sicher nicht problematisch ist; bei allem anderen bin ich mir nicht sicher ....:





\documentclass[a4paper,11pt,headsepline,smallheadings]{scrbook}
\usepackage{setspace}
\usepackage{ifthen}
\usepackage{fix-cm}
\usepackage{nicefrac}
\DeclareOption*{\PassOptionsToClass{\CurrentOption }{scrbook}}
\ProcessOptions\relax
\areaset[0cm]{12cm}{19.7cm}
\usepackage[english,french,ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage{xspace}
\usepackage{fancyhdr}
\usepackage{blindtext}
\usepackage{ragged2e}
\usepackage{titlesec}
\usepackage[protrusion=true,expansion]{microtype}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyfoot[LE,RO]{\thepage}
\fancyhead[RO]{\rightmark}
\fancyhead[LE]{\leftmark}
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}}

\skip\footins=30pt plus 4.0pt minus 2.0pt\relax

\renewcommand{\footnoterule}%
{\rule{0mm}{0pt}\vspace{0mm}}

\usepackage{remreset}
\makeatletter
\@removefromreset{footnote}{chapter}
\makeatother

\setlength{\parindent}{0,5cm}
\renewcommand*{\partformat}{\arabic{part}. Teil:}
\renewcommand*{\thepart}{\arabic{part}. {}Teil:}
\renewcommand \thechapter {§\,\arabic{chapter}}
\renewcommand \thesection {\Roman{section}.}
\renewcommand \thesubsection {\arabic{subsection}.}
\renewcommand \thesubsubsection {\Alph{subsubsection})}
\renewcommand \theparagraph {\alph{paragraph})}
\renewcommand \thesubparagraph {\alph{subparagraph}\alph{subparagraph})}

\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000

\usepackage{xcolor}
\newcommand{\white}[1]{\emph{\textcolor{white}{#1}}}

\usepackage[colorlinks,linkcolor=black,citecolor=black,urlcolo r=black,plainpages=false,pdfpagelabels]{hyperref}
\setcounter{footnote}{0}
\begin{document}

Dies hier ist ein Blindtext zum Testen von Textausgaben. Wer diesen
Text liest, ist selbst schuld. Der Text gibt lediglich den Grauwert
der Schrift an. Ist das wirklich so? Ist es gleichgültig ob ich schreibe:
»Dies ist ein Blindtext« oder »Huardest gefburn«?. Kjift – mitnichten!
Ein Blindtext bietet mir wichtige Informationen. An ihm messe ich die
Lesbarkeit einer Schrift, ihre Anmutung, wie harmonisch die Figuren
zueinander stehen und prüfe, wie breit oder schmal sie läuft. Ein Blindtext
sollte möglichst viele verschiedene Buchstaben enthalten.\footnote{Bla\\Bla\\Blabla\\Bla.}

\blindtext.\footnote{Bla.} \blindtext.\footnote{\blindtext.}

\subparagraph{Überschrift Subparagraph}
\blindtext.\footnote{\blindtext.}

\end{document}

lockstep
21-03-2010, 15:22
Wenn ich in deinem Beispiel die Zeile



\usepackage{titlesec}


auskommentiere, tritt das von dir beschriebene Verhalten nicht mehr auf.

lockstep

swissjohnny
21-03-2010, 15:50
Hm ... das Problem ist, dass ich titlesec brauche, da ich alle Überschriften umformatiert habe ... ginge es nicht auch irgendwie MIT titlesec?

Aber vielen Dank schon mal für den Hinweis!

lockstep
21-03-2010, 15:56
Hm ... das Problem ist, dass ich titlesec brauche, da ich alle Überschriften umformatiert habe ... ginge es nicht auch irgendwie MIT titlesec?

Möglicherweise ja. Ich kann auf die Schnelle nicht sagen, ob eine andere Formatierungsoption das Problem beseitigen würde, oder ob hier ein Bug in titlesec am Werken ist.

Welcher Art sind deine Überschriften-Umformatierungen? Vielleicht lässt sich das ja auch (größtenteils) mit KOMA-Script-Bordmitteln bewerkstelligen.

lockstep

lockstep
21-03-2010, 16:35
Habe in der titlesec-Anleitung auf die Schnelle nichts gefunden, was darauf hindeutet, dass der Seitenumbruch nach der \subparagraph-Überschrift beabsichtigt ist. Habe auch ein bisschen weiter mit deinem Beispiel gespielt und dabei folgenden seltsamen Effekt entdeckt: Erhöht man die (mit \areaset gesetzte Texthöhe) in Schritten von 0,5 cm, so wird bis 21,7 cm ein Teil der Fußnote 3 auf die erste Seite verlagert; die einsame Überschrift bleibt bestehen. Bei der nächsten Erhöhung auf 22,2 cm wird die \subparagraph-Überschrift dann auf die zweite Seite (!) verschoben. Ehrlich gesagt, bin ich momentan in Bezug auf titlesec ratlos.

lockstep

voss
21-03-2010, 17:23
\renewcommand{\footnoterule}%
{\rule{0mm}{0pt}\vspace{0mm}}




\renewcommand\footnoterule{}

Wenn du auf die Linie verzichten willst und trotzdem die Überschrift
nicht alleine erscheinen soll.

Herbert

lockstep
21-03-2010, 17:46
@voss: Funktioniert. :o

Warum genau hat



\renewcommand{\footnoterule}{\rule{0mm}{0pt}\vspac e{0mm}}


diese Nebenwirkung? Werden dadurch irgendwelche Umbruch-Penalties zerstört? Und warum passiert das Ganze nur bei Verwendung von titlesec?

lockstep

swissjohnny
22-03-2010, 18:49
Vielen Dank Euch allen!!!!