Seitenumbruch für n-Zeilen in eigener Umgebung verhindern

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


DG1BGS
Forum-Anfänger
Forum-Anfänger
Beiträge: 15
Registriert: Do 6. Mai 2010, 19:36
Wohnort: Ulm

Seitenumbruch für n-Zeilen in eigener Umgebung verhindern

Beitrag von DG1BGS »

Hallo LV-Kommunitie,
für die im folgenden abgedruckte (eigene) Umgebung soll folgendes erreicht werden: Es darf kein Umbruch genau nach der Überschrift erfolgen. Am besten wäre es, wenn man vorgeben kann wieviele Zeilen von dem in der Umgebung übergebenen Text noch auf der Seite mit abgedruckt werden soll, bevor die Umgebung komplett auf einer neuen Seite abgedruckt wird.

Hier meine bisherigen Lösungsansätze:
1. Verwendung von \samepage -> funktioniert zwar, bezieht sich aber dann auf den ganzen Absatz was bedeutet, dass der Text nicht abgedruckt wird wenn er nicht mehr aufs Blatt passt.

2. Verwendung einer float-Umgebung
\usepackage{float}
\newcounter{unused}
\floatstyle{plaintop}
\newfloat{Aufgfloat}{ht!}{}[unused]

\newcounter{countAufgabe}
\newenvironment{Aufgabe}[1][]{\refstepcounter{countAufgabe}\begin{Aufgfloat}
\par\noindent{\hspace*{-20pt}\makebox[20pt][l]{\Large\PencilRightDown}
\textbf{Aufgabe \arabic{countAufgabe}\@nooption{#1}:}\\}\em}{\par\end{Aufgfloat}}
-> das funktioniert grundsätzlich so, aber nicht wenn sich der Text sich über mehrere Seiten erstreckt

3. Verwendung des packages needspace
\usepackage{needspace}
\newcounter{countAufgabe}
\newenvironment{Aufgabe}[1][]{\Needspace*{5\baselineskip}\refstepcounter{countAufgabe}
\par\noindent{\hspace*{-20pt}\makebox[20pt][l]{\Large\PencilRightDown}
\textbf{Aufgabe \arabic{countAufgabe}\@nooption{#1}:}\\}\em}{\par}
-> das funktioniert, ist aber sicher nicht die eleganteste Lösung.

Kennt ihr einen besseren Lösungsvorschlag oder andere hilfreiche Packages? Wie macht es Latex selbst bei Titelüberschriften?

Ich hoffe ihr habt ein paar hilfreiche Vorschläge parat.
Viele Grüße, Stephan

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Was LaTeX bzw. die Klassen selbst bei Überschriften machen, ist den dokumentierten Quellen von LaTeX und den Klassen zu entnehmen. Sich so etwas anzuschauen ist quasi die Grundlage, um selbst Pakete und Klassen zu schreiben - etwas was Du hier offenbar versuchst.

Ansonsten verstehe ich nicht, warum Du nicht eine richtige Überschrift oder etwas wie newtheorem verwendest, so dass Dein Problem nicht auftritt. Aber ich verstehe ja auch nicht, warum man uns immer wieder mit Code-Schnippseln quälen muss, obwohl im goLaTeX-Knigge und alle Nase lang im Forum erklärt wird, dass man ein vollständiges Minimalbeispiel (← dies ist ein geprüfter Link mit relevanten Informationen!) angeben soll, wenn man vernünftige Hilfe haben will.

DG1BGS
Forum-Anfänger
Forum-Anfänger
Beiträge: 15
Registriert: Do 6. Mai 2010, 19:36
Wohnort: Ulm

Beitrag von DG1BGS »

KOMA hat geschrieben:Was LaTeX bzw. die Klassen selbst bei Überschriften machen, ist den dokumentierten Quellen von LaTeX und den Klassen zu entnehmen. Sich so etwas anzuschauen ist quasi die Grundlage, um selbst Pakete und Klassen zu schreiben - etwas was Du hier offenbar versuchst.
Das die Quellen gut dokumentiert wurden war zu erwarten. Scheinbar lässt sich die Frage nicht in einem Satz beantworten, so dass ich mir die Doku wohl selbst anschauen muss.
KOMA hat geschrieben: Ansonsten verstehe ich nicht, warum Du nicht eine richtige Überschrift oder etwas wie newtheorem verwendest, so dass Dein Problem nicht auftritt.
Richtige Überschriften können meines Erachtens ohne weiteres alleine auf einer Seite stehen, aber vielleicht war das Problem wirklich unklar.
KOMA hat geschrieben: Aber ich verstehe ja auch nicht, warum man uns immer wieder mit Code-Schnippseln quälen muss ...
Da es sich bei den Codeschnipseln um funktionierenden Quellcode handelt, der nur als Anregung gedacht war, entzog sich mir der Sinn eines funktionierenden Minimalbeispiels. Nur die erzeugte Ausgabe wäre wohl sinnvoller gewesen, aber um das Problem zu verdeutlichen reiche ich nun Beides nach.

Mit newtheorem werde ich noch experimentieren!

Liebe Grüße, Stephan
Dateianhänge
aufg.tex
Minimalbeispiel
(2.25 KiB) 710-mal heruntergeladen
aufg.pdf
Ausgabe
(56.61 KiB) 719-mal heruntergeladen

DG1BGS
Forum-Anfänger
Forum-Anfänger
Beiträge: 15
Registriert: Do 6. Mai 2010, 19:36
Wohnort: Ulm

Beitrag von DG1BGS »

So, ich habe mich mal mit dem ntheorem-package befasst und meine Umgebung in dieser umgesetzt. Der Quellcode ist gleich viel übersichtlicher und es hat den gewünschten Effekt.

Danke für den Tipp!
Dateianhänge
theorem.tex
Minimalbeispiel mit ntheorem
(806 Bytes) 731-mal heruntergeladen
theorem.pdf
Ausgabe
(40.67 KiB) 626-mal heruntergeladen

Antworten