von Noch so einer » Do 16. Aug 2012, 16:20
Das LaTeX-Team rät davon ab, Überschriftenbefehle innerhalb einer Gruppe zu verwenden. Das gibt u. a. Probleme mit späteren \label-Anweisungen. Das ganze Kapitel (also alles bis zur nächsten \chapter-Anweisung) in eine Gruppe zu packen, würde zwar dieses Problem lösen, könnte aber beispielsweise zum "! LaTeX Error: Not in outer par mode."-Fehler führen.
Es gibt aber bei KOMA-Script mit Kapitelpräambeln eine einfache Lösung. Im folgenden zeige ich, wie diese direkt in der Dokumentpräambel verwendet werden kann, wodurch die Trennung von Form und Inhalt gewahrt bleibt:
\documentclass[ngerman]{scrbook}
\usepackage{babel,blindtext}
\usepackage{hyperref}
\usepackage{etoolbox}
\appto\appendix{%
% Die nächsten drei Zeilen, falls ein Eintrag ins Inhaltsverzeichnis
% erwünscht ist:
\cleardoubleoddpage
\csname phantomsection\endcsname% falls hyperref verwendet wird: Anker werfen
\addcontentsline{toc}{part}{\appendixname}%
% Das erste Kapitel im Anhang mit einer entsprechenden Präambel versehen:
\setchapterpreamble[o]{% o = oberhalb der Kapitelüberschrift
{\usekomafont{disposition}\usekomafont{part}\appendixname\par}%
\vspace{\baselineskip}
}%
}
\begin{document}
\tableofcontents
\blinddocument
\appendix
\blinddocument
\blinddocument
\end{document}
Wer irgendwelchen Hacker-Murks bevorzugt, kann natürlich auch alles hinter \appendix ins Dokument wursteln:
\documentclass[ngerman]{scrbook}
\usepackage{babel,blindtext}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\blinddocument
\appendix
% Die nächsten drei Zeilen, falls ein Eintrag ins Inhaltsverzeichnis
% erwünscht ist:
\cleardoubleoddpage
\csname phantomsection\endcsname% falls hyperref verwendet wird: Anker werfen
\addcontentsline{toc}{part}{\appendixname}%
% Das erste Kapitel im Anhang mit einer entsprechenden Präambel versehen:
\setchapterpreamble[o]{% o = oberhalb der Kapitelüberschrift
{\usekomafont{disposition}\usekomafont{part}\appendixname\par}%
\vspace{\baselineskip}
}%
\blinddocument
\blinddocument
\end{document}
Wahrscheinlich könnte man alternativ auch etwas über \chapterformat basteln.
Das LaTeX-Team rät davon ab, Überschriftenbefehle innerhalb einer Gruppe zu verwenden. Das gibt u. a. Probleme mit späteren \label-Anweisungen. Das ganze Kapitel (also alles bis zur nächsten \chapter-Anweisung) in eine Gruppe zu packen, würde zwar dieses Problem lösen, könnte aber beispielsweise zum "! LaTeX Error: Not in outer par mode."-Fehler führen.
Es gibt aber bei KOMA-Script mit Kapitelpräambeln eine einfache Lösung. Im folgenden zeige ich, wie diese direkt in der Dokumentpräambel verwendet werden kann, wodurch die Trennung von Form und Inhalt gewahrt bleibt:
[code]\documentclass[ngerman]{scrbook}
\usepackage{babel,blindtext}
\usepackage{hyperref}
\usepackage{etoolbox}
\appto\appendix{%
% Die nächsten drei Zeilen, falls ein Eintrag ins Inhaltsverzeichnis
% erwünscht ist:
\cleardoubleoddpage
\csname phantomsection\endcsname% falls hyperref verwendet wird: Anker werfen
\addcontentsline{toc}{part}{\appendixname}%
% Das erste Kapitel im Anhang mit einer entsprechenden Präambel versehen:
\setchapterpreamble[o]{% o = oberhalb der Kapitelüberschrift
{\usekomafont{disposition}\usekomafont{part}\appendixname\par}%
\vspace{\baselineskip}
}%
}
\begin{document}
\tableofcontents
\blinddocument
\appendix
\blinddocument
\blinddocument
\end{document}[/code]
Wer irgendwelchen Hacker-Murks bevorzugt, kann natürlich auch alles hinter \appendix ins Dokument wursteln:
[code]
\documentclass[ngerman]{scrbook}
\usepackage{babel,blindtext}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\blinddocument
\appendix
% Die nächsten drei Zeilen, falls ein Eintrag ins Inhaltsverzeichnis
% erwünscht ist:
\cleardoubleoddpage
\csname phantomsection\endcsname% falls hyperref verwendet wird: Anker werfen
\addcontentsline{toc}{part}{\appendixname}%
% Das erste Kapitel im Anhang mit einer entsprechenden Präambel versehen:
\setchapterpreamble[o]{% o = oberhalb der Kapitelüberschrift
{\usekomafont{disposition}\usekomafont{part}\appendixname\par}%
\vspace{\baselineskip}
}%
\blinddocument
\blinddocument
\end{document}
[/code]
Wahrscheinlich könnte man alternativ auch etwas über \chapterformat basteln.