Seitenumbruch in einem Befehl unterbinden Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Seitenumbruch in einem Befehl unterbinden

Beitrag 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)

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Seitenumbruch in einem Befehl unterbinden

Beitrag 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

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Re: Seitenumbruch in einem Befehl unterbinden

Beitrag von Seban »

Danke sehr Stefan, funktioniert :)

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Seitenumbruch in einem Befehl unterbinden

Beitrag 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}

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 94
Registriert: Do 10. Jan 2013, 13:31

Re: Seitenumbruch in einem Befehl unterbinden

Beitrag von Seban »

Ah jetzt erst gesehen. Vielen Dank! Ohne zusätzliches Paket ist natürlich top

Antworten