PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Absätze zusammenhalten



Sammy_B.
06-11-2004, 18:49
Hallo, vieleicht bin ich zu blöd, aber ich habe irgentwie keine Möglichkeit gefunden, z.B. Absätze mit hoher innhaltlicher Bedeutung zusammenzuhalten oder Bilder/Tabellen so an Absätze zu binden, dass diese immer auf derselben Seite zu finden sind.

Da solche Funktionen von allen besseren Textverarbeitungsprogrammen geboten werden: Was hab ich übersehen??

red.iceman
09-11-2004, 15:43
Du könntest das ganze einfach in eine minipage oder parbox packen.

ri

blubb
09-11-2004, 15:50
Bilder/Tabellen sind Gleitumgebungen, d.h. der Sinn besteht gerade darin, nicht an einem bestimmten Absatz zu kleben.

Ansonsten siehe red.iceman Antwort (wobei die Kombination minipage oder parbox mit table/figure für dein Problem nichts bringt)

red.iceman
09-11-2004, 16:31
table und figure gehen natürlich nicht, da es Gleitobjekte sind. Deshalb müssen sie in diesem Fall fest eingebungen werden, also ohne die table/figure Umgebung.

ri

bischi
09-11-2004, 18:47
Hallo, vieleicht bin ich zu blöd, aber ich habe irgentwie keine Möglichkeit gefunden, z.B. Absätze mit hoher innhaltlicher Bedeutung zusammenzuhalten oder Bilder/Tabellen so an Absätze zu binden, dass diese immer auf derselben Seite zu finden sind.

Komische Vorstellung - wenn ein Absatz läger ist, als er auf der Seite Platz hat, geht logischerweise ein Teil auf die nächste Seite - sähe sonst komisch aus... Ansonsten wie ri 2.

MfG Bischi

Christoph
09-11-2004, 20:33
Da solche Funktionen von allen besseren Textverarbeitungsprogrammen geboten werden: Was hab ich übersehen??
Das ist leider etwas, das Latex nur unzureichend unterstützt. Ich ärgere mich über dasselbe Problem auch ständig und habe bisher folgendes mit mäßigem Erfolg probiert:

a) \nopagebreak
Wird nach meinen Erfahrungen von Latex vollständig ignoriert. Anscheinend hat dieser Befehl keine Wirkung, wenn er zwischen Absätzen verwendet wird.

b) \begin{samepage} .... \end{samepage}
Funktioniert, verlangt aber, dass alle Umgebungen innerhalb "samepage" geöffnet und geschlossen werden, d.h. das folgende Konstrukt geht leider nicht:


\begin{samepage}
Folgende Punkte beachten
\begin{itemize}
\item Punkt 1
\end{samepage}
\item Punkt 2
\item punkt 3
\end{itemize}


c) \clubpenalty und \widowpenalty
Werden von Latex bei Absätzen ignoriert, die nur aus einer Zeile bestehen. Ausserdem führen Sie gerade zu den unerwünschten Seitenumbrüchen zwischen bestimmten Absätzen.

Die einzige wirklich verlässliche Lösung ist ein explizites \pagebreak an brauchbaren Stellen, aber das ist natürlich genau das, was man mit Latex eigentlich vermeiden möchte...

bischi
09-11-2004, 21:02
Das ist leider etwas, das Latex nur unzureichend unterstützt. Ich ärgere mich über dasselbe Problem auch ständig und habe bisher folgendes mit mäßigem Erfolg probiert:

Ich sehe immer noch nicht für was; Jedes (mir bekannte) gute Buch hat überall konsequent die gleichen Abstände zwischen Absätzen,... Ich sehe also nicht ein, warum zwei Absätze unbedingt auf der gleichen Seite sein müssen (ich kann ja blättern...).
Wenn mir jemand mal ein konkretes Beispiel geben kann (stichwortartig reicht mir), warum der zweite Absatz nicht auf die nächste Seite darf (bzw. warum innerhalb eines Absatzes die Seite nicht wechseln darf...).

MfG Bischi
:confused: :confused: :confused:

Christoph
10-11-2004, 09:35
Wenn mir jemand mal ein konkretes Beispiel geben kann (stichwortartig reicht mir), warum der zweite Absatz nicht auf die nächste Seite darf (bzw. warum innerhalb eines Absatzes die Seite nicht wechseln darf...).

Bei dem folgenden Beispiel macht Latex den Seitenumbruch zuverlässig an der ungünstigsten Stelle:


Folgende Punkte beachten
% vor itemize macht Latex formal einen Absatzwechsel
% => aus Sicht von Latex ideale Stelle für Seitenumbruch
\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize}

Trotz langwieriger Suche nach Lösungen, habe ich bisher nichts Brauchbares gefunden (siehe obige Ansätze).

blubb
10-11-2004, 10:04
Leider bringt dein Beispiel zum testen nichts.

Bei meinem Versuch ein Minimalbeispiel komme ich zu dem Ergebnis:

\documentclass[DIV9]{scrartcl}
\usepackage{blindtext}
\begin{document}
\blindtext[2]

\blindtext[2]

Hier gehört jetzt genau soviel Text rein, das der Seitenumbruch
nicht mehr klappt. Noch etwas Text.

Folgende Punkte beachten
% vor itemize macht Latex formal einen Absatzwechsel
% => aus Sicht von Latex ideale Stelle für Seitenumbruch
\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize}

\end{document}


Eine (schlechte) Möglichkeit:
\enlargethispage{1em}
Das macht die Seite etwas grösser, so das der Begin der Liste noch auf die Seite passt. (ungünstig, weil man dann eine Formatierung festlegt, die auch erhalten bleibt, wenn sich der Text ändert und die Seitenvergrösserung unnötig ist.)

Christoph
10-11-2004, 10:16
Die einzige Lösung, die mir bisher eingefallen ist, lautet:


\begin{samepage}
Folgende Punkte sind wichtig
\begin{itemize}
\item Punkt 1
\end{itemize}
\end{samepage}
\begin{itemize} % und den Item-Counter bei Enumerations eintsprechend hochsetzen
\item Punkt 2
\item Punkt 3
\end{itemize}

Ggf. muss man dann noch an den Absatzabständen zwischen den beiden itemize Umgebungen (die ja eigentlich ein itemize sein sollen) rum fummeln.
[/code]

bischi
10-11-2004, 14:48
Oder beispielsweise ne figure-umgebung zweckentfremden...

MfG Bischi

mr. pelle
12-11-2004, 13:27
Moin moin,



\makeatletter
\newcommand\need[1]{\par \penalty-100 \begingroup % preserve \dimen@
\dimen@\pagegoal \advance\dimen@-\pagetotal % space left
\ifdim #1>\dimen@ % not enough space left
% only do \vfil if some space left on page
\ifdim\dimen@>\z@ \vskip -\pagedepth plus 1fil \fi
\break
\fi \endgroup}
\makeatother




\need{2cm}
Folgende Punkte beachten
\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize}


Da ich mich nicht mit fremden Werken schmücken will:
Google Groups (http://groups.google.com/groups?hl=en&selm=14SEP199915572073%40reg.triumf.ca)

MfG

Mr. Pelle