Discussion:
Seitenumbruch verhindern, \nopagebreak[4] hilft nicht
(zu alt für eine Antwort)
Dominic Suter
2005-01-13 20:10:46 UTC
Permalink
Ich habe ein Makro geschrieben, welches mir die Formatierungen fuer eine
Definition abnimmt. Der Code dazu sieht so aus:

\newcommand\DefDef[1]{\begin{flushright} \stepcounter{definition}
\textbf{(\arabic{chapter} .\arabic{definition})} \end{flushright}
\textcolor{darkgreen}{Definition:\\#1}}

Nun will ich verhindern, dass innerhalb einer Definition ein
Seitenumbruch gemacht wird, da das eher stoerend wirkt (im vorliegenden
Fall wird lediglich der Counter am Ende der Seite dargestellt, der ganze
Rest erscheint dann auf der naechsten Seite). Darum dachte ich, dass ich
das mit dem \nopagebreak[4] erzwingen kann und habe das Makro
entsprechend modifiziert:

\newcommand\DefDef[1]{\nopagebreak[4] \begin{flushright}
\stepcounter{definition} \textbf{(\arabic{chapter}
.\arabic{definition})} \end{flushright}
\textcolor{darkgreen}{Definition:\\#1}}

Leider hat das aber nicht zum gewuenschten Erfolg gefuehrt. Weiss jemand
Rat? Meine Literatur hat mich nur auf den \nopagebreak Befehl verwiesen,
der ansonsten ja auch ganz gut zu arbeiten scheint.

Danke schonmals!
Martin aus Chemnitz
2005-01-14 17:38:26 UTC
Permalink
Post by Dominic Suter
Ich habe ein Makro geschrieben, welches mir die Formatierungen fuer eine
\newcommand\DefDef[1]{\begin{flushright} \stepcounter{definition}
\textbf{(\arabic{chapter} .\arabic{definition})} \end{flushright}
\textcolor{darkgreen}{Definition:\\#1}}
Bist Du Dir sicher, dass Du dort so viele Leerzeichen haben willst (z.
B. zwischen Kapitelnummer und Punkt)? Bist Du Dir sicher, dass Du die
Definitions-Nummer eine Zeile über der Definition haben willst?

Hast Du Dich gewundert, warum niemand antwortet? Weil z. B. ein
Minimalbeispiel fehlt. Reich doch bitte eins nach.

Allgemein:
1. \nopagebreak wirkt nur auf die aktuelle Stelle, an der es steht.
2. LaTeX versucht immer, eine Seite voll zu kriegen. Wenn dann bestimmte
Sachen zusammengehalten werden sollen, ist das manchmal unmöglich.
Anstatt LaTeX immer auf die Finger zu hauen und mit Gewalt zu versuchen,
etwas zusammen zu halten, sollte man Alternativen aufzeigen und
Seitenumbrüche oberhalb anbieten.

Martin
Markus Kohm
2005-01-14 18:01:33 UTC
Permalink
Post by Martin aus Chemnitz
1. \nopagebreak wirkt nur auf die aktuelle Stelle, an der es steht.
Jain. Wenn es in einer vertikalen Liste steht, dann ist das so. Wenn es aber
in einer horizontalen Liste steht, dann wird ein \vadjust zur Verhinderung
des Umbruchs eingefügt.

In folgendem Beispiel würde man erwarten, dass das Einfügen von \nopagebreak
an der mit "HIER" markierten Stelle notwendig wäre. Tatsächlich
funktioniert es aber auch an der von mir angegebenen Stelle:

\listfiles
\documentclass[a5paper]{article}
\usepackage{blindtext}
\begin{document}
\blindtext[2] 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 gleich\-g\"ul\-tig ob ich schreibe:
\frqq Dies ist ein Blindtext\flqq\ oder \frqq Huardest gefburn\flqq? Kjift
-- mitnichten! %\nopagebreak
Ein Blindtext bietet mir %HIER
wichtige Informationen. An ihm messe ich die Lesbarkeit einer Schrift, ihre
Anmutung, wie harmonisch die Figuren zueinander stehen und pr\"u\-fe, wie
breit oder schmal sie l\"auft. Ein Blindtext sollte m\"og\-lichst viele
verschiedene Buchstaben enthalten und in der Originalsprache gesetzt sein.
Er mu\ss\ keinen Sinn ergeben, sollte aber lesbar sein. Fremdsprachige
Texte wie \frqq Lorem ipsum\flqq\ dienen nicht dem eigentlichen Zweck, da
sie eine falsche Anmutung vermitteln.
\end{document}

*File List*
tmp.tex
article.cls 2004/02/16 v1.4f Standard LaTeX document class
size10.clo 2004/02/16 v1.4f Standard LaTeX file (size option)
blindtext.sty 2003/12/14 V1.4 blindtext-Package
xspace.sty 1997/10/13 v1.06 Space after command names (DPC)

Gruß
Markus
--
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> Anleitung z. B. auf CTAN (--> FAQ);
--> http://www.komascript.de
Die Verwendung einer falschen From-Angabe wäre ein Verstoß gegen rfc1036.
Loading...