Seite 1 von 1

Seitenumbruch in einem Befehl unterbinden

Verfasst: Fr 18. Okt 2024, 03:44
von Seban
Hallo,

Zum Einfügen von Bemerkungen habe ich einen Befehl angelegt, der Bemerkung: gefolgt vom Text der Bemerkung in der nächsten Zeile mittels quote ausgibt.

Das problem: Wenn eine Seite beinahe voll ist, passiert es, dass Bemerkung: am Ende der Seite steht, der Text der Bemerkung aber auf der folgenden Seite.

Dies müsste ich unterbinden, indem der Seitenumbruch vor Bemerkung: erfolgt oder im Text der Bemerkung, nicht aber dazwischen.
\documentclass{scrreprt}

\usepackage{lipsum}

\newcommand{\bemerkung}[1]{% Bemerkungen einfügen mit \bemerkung{Text}
	\textbf{Bemerkung:}
	\vspace{-0.5\baselineskip}
	\begin{quote}#1\end{quote}
}

\begin{document}

\lipsum[1-5]

Some additional text to fill out the page to see the unwanted linebreak. Even more text is needed. 

\bemerkung{\lipsum[1]}

\end{document}
Hat jemand eine Idee wie das gemacht werden kann?

(Bemerkung: und Text der Bemerkung immer auf der selben Seite anzeigen zu lassen, geht nicht. Denn zB. wenn eine Seite 4/5 voll, die Bemerkung 1/2 Seite lang, dann entstünde ja ein 1/5 Seiten langer Freiraum auf der ersten Seite)

Re: Seitenumbruch in einem Befehl unterbinden

Verfasst: So 20. Okt 2024, 12:54
von Stefan Kottwitz
Hallo Seban,

das geht mit dem needspace-Paket:
%!TEX none
\usepackage{needspace}
\newcommand{\bemerkung}[1]{% Bemerkungen einfügen mit \bemerkung{Text}
	\needspace{1.5\baselineskip}
	\textbf{Bemerkung:}
	\vspace{-0.5\baselineskip}
	\begin{quote}#1\end{quote}
}
Stefan

Re: Seitenumbruch in einem Befehl unterbinden

Verfasst: Mi 23. Okt 2024, 13:10
von Seban
Danke sehr Stefan, funktioniert :)

Re: Seitenumbruch in einem Befehl unterbinden

Verfasst: Fr 25. Okt 2024, 10:06
von u_fischer
Benütze eine richtige Überschrift. Das ist erstens semantisch besser, aber kann halt auch Umbrüche verhindern:
\documentclass{scrreprt}

\usepackage{lipsum}

\newcommand{\bemerkung}[1]{% Bemerkungen einfügen mit \bemerkung{Text}
	\minisec{Bemerkung:}
	\begin{quote}#1\end{quote}
}

\begin{document}

\lipsum[1-5]

Some additional text to fill out the page to see the unwanted linebreak. Even more text is needed. 

\bemerkung{\lipsum[1]}

\end{document}

Re: Seitenumbruch in einem Befehl unterbinden

Verfasst: Mi 11. Dez 2024, 19:13
von Seban
Ah jetzt erst gesehen. Vielen Dank! Ohne zusätzliches Paket ist natürlich top