Zitat von
lockstep
Dazu zwei weitere Fragen (bzw. ein Bugreport
):
Habe kein Paket programmiert, somit kein Bug möglich
Zitat von
lockstep
Was passiert, wenn \tableofcontents (z.B. mit der Klasse book und der Option openright) ein \cleardoublepage auslöst? Weist die (nach \clearpage) gesetzte pdf-Sprungmarke dann auf die richtige Seite, oder ist alles noch komplizierter?
Was soll passieren. \pdfbookmark erzeugt ja keine Seite. Nehmen wir beispielsweise an, dass du openany bei der Klasse book nutzt, dann beginnt das zugehörige \tableofcontents mit \clearpage usw. Wenn du nun \clearpage\clearpage schreibst, kommt ja nun keine zusätzliche Seite zur Stande.
Dito ist es bei openrigth. \clearpage\cleardoublepage. Da passiert nichts. Also brauchst du nichts abfangen.
Das ist auch gut so, denn bei KOMA wird schließlich extra \lisftof{} durch tocbasic definiert, was wiederum zusätzliche Verzweigungen einbaut.
Zitat von
lockstep
Zur Verwendung von \ifdefined: Sofern vorher mittels des LaTeX-Befehls \@ifundefined auf die Existenz von \chapter getestet wurde (und das tut wohl so manches Paket), hat \chapter die Bedeutung \relax, d.h. ein Test auf \ifdefined liefert true. Ist es aus diesem Grund nicht sicherer, mit \ifundef zu arbeiten (das bei einem Befehl mit der Bedeutung \relax ebenfalls true liefert)?
Da hast du recht. Ich nehme sonst auch \@ifundefined.
Hier ist es mal gezeigt.
Code:
\documentclass{article}
\makeatletter
\@ifundefined{chapter}{%
\def\AusgabeI{\texttt{@ifundefined} sagt, wir haben kein \texttt{chapter}}%
}{%
\def\AusgabeI{\texttt{@ifundefined} sagt, wir haben ein \texttt{chapter}}%
}
\makeatother
\begin{document}
\AusgabeI
\ifdefined\chapter
wir haben ein \texttt{chapter}
\else
wir haben kein \texttt{chapter}
\fi
\end{document}
Entsprechend sollte es oben geändert werden. Entweder mittels der etoolbox-Anweisung oder tex-Primitive. Wobei ich etoolbox nehmen würde.
Gruß
Marco
Lesezeichen