Leeres kapitel erkennen

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


TinTin82
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mo 21. Mai 2018, 10:49

Leeres kapitel erkennen

Beitrag von TinTin82 »

Hi,

gibt es eigentlich eine Möglichkeit zu erkennen ob ein Kapitel keinen Inhalt hat ?

Also zum Beispiel:
\section{Section2}
\subsection{Section2.1}
von
\section{Section2}
Ich bin ein toller Inhalt
\subsection{Section2.1}
Ich bin auch ein toller Inhalt
zu unterscheiden ?

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

Beitrag von u_fischer »

Im Prinzip schon, aber nicht so wie du deine \section der anderen Frage nach definiert hast. Warum verwendest du nicht \@startsection oder die Möglichkeiten, die die KOMA-Klassen bieten?

TinTin82
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mo 21. Mai 2018, 10:49

Beitrag von TinTin82 »

Hi Ulrike,

danke für Deine Antwort.
Ich möchte es um ehrlich zu sein mal ohne versuchen.
Auch um mich in Tex und Latex etwas besser einzuarbeiten.

Kannst Du mir ein bisschen einen Hint geben, in welche Richtung ich suchen muss oder mir sogar ein kleinen Beispiel zeigen wie man soetwas löst ?

Viele Grüße,
TinTin

saputello
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 98
Registriert: Do 15. Jan 2015, 08:49

Beitrag von saputello »

viewtopic,p,108010.html#108010 (das war ich übrigens auch, wurde zwischendurch aber leider ausgeloggt, was mir leider immer mal wieder passiert).

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

Beitrag von u_fischer »

Nun, wenn du lernen willst: Schau in latex.ltx. Der \@startsection-code beginnt etwa in Zeile 6079 und hat nur etwa 100 kurze Zeilen. Eine kommentierte Version des Codes bekommst du mit texdoc source2e (ab Seite 372).

TinTin82
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: Mo 21. Mai 2018, 10:49

Beitrag von TinTin82 »

Hi Ulrike,

Vielen Dank für die tolle Hilfe.
Also so ganz klar, was hier passiert ist es mir nicht. Aber ich denke irgendwo muss ich auch anfangen.
\def\@startsection#1#2#3#4#5#6{%
  \if@noskipsec \leavevmode \fi
  \par
  \@tempskipa #4\relax
  \@afterindenttrue
  \ifdim \@tempskipa <\z@
    \@tempskipa -\@tempskipa \@afterindentfalse
  \fi
  \if@nobreak
    \everypar{}%
  \else
    \addpenalty\@secpenalty\addvspace\@tempskipa
  \fi
  \@ifstar
    {\@ssect{#3}{#4}{#5}{#6}}%
    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
Ich habe herausgefunden, dass ich zum Beispiel auch mit:
\@tempskipa 9mm\relax
\addpenalty\@secpenalty\addvspace\@tempskipa
meine 9 mm Abstand bekomme.
Was ich nicht verstehe ist, wo die Information herkommen soll,
ob die 9 mm eingerückt werden sollen oder nicht.

Mir ist nicht klar, wie
\if@nobreak
als informationsträger funktioniert. Ist das ein "Flage" welches vorher
auf Grund anderen Funktionen entsprechen gesetzt wird ??
(Bei assembler gibt es ja sowas wie Zero flags etc, ist das hier ähnlich ?? )

Grüße,
TinTin

Antworten