Sectionnummer ohne abschl. Punkt bei appendixtoc.sty
Verfasst: Mi 22. Jan 2014, 18:00
Ich möchte die Überschriftennummerierung aller Ebenen ohne abschließenden Punkt haben. Das funktioniert auch, solange ich das Anhangsverzeichnis mit appendixtoc.sty nicht nutze.
Im folgenden Code ist das Anhangsverzeichnis am Ende auskommentiert. In dem Fall ist kein Punkt hinter der Überschriftennummerierung.
Nutze ich das Verzeichnis (Aufruf \appendix) passiert irgendwas (?), was dieses Verhalten ändert. Es hat schon ewig gedauert diesen relevanten Code zu isolieren.
(Bitte beachten, dass mind. zwei Läufe notwendig sind und ggf. output-files gelöscht werden müssen.)
Der appendixtoc-Code stammt von Markus Kohm und ist in aktuellester Version hier zu finden.
http://www.komascript.de/comment/3447#comment-3447
Vermutlich läuft hier irgendwas mit den tocstyles ab. Verstehe es aber zu wenig.
Die tocstyle doku hat leider zu wenig Beispiele. Daher weiß ich auch gar nicht, wie man diesen abschließenden Punkt ein- bzw. ausschalten könnte. Also ich weiß nicht wonach ich suchen muss.
Im folgenden Code ist das Anhangsverzeichnis am Ende auskommentiert. In dem Fall ist kein Punkt hinter der Überschriftennummerierung.
Nutze ich das Verzeichnis (Aufruf \appendix) passiert irgendwas (?), was dieses Verhalten ändert. Es hat schon ewig gedauert diesen relevanten Code zu isolieren.
(Bitte beachten, dass mind. zwei Läufe notwendig sind und ggf. output-files gelöscht werden müssen.)
Der appendixtoc-Code stammt von Markus Kohm und ist in aktuellester Version hier zu finden.
http://www.komascript.de/comment/3447#comment-3447
%% ----- APPENDIXTOC file ----- \begin{filecontents}{appendixtoc.sty} % % appendixtoc.sty % Copyright (c) Markus Kohm, 2013-2014 % See `appendixtocexample.tex' for license informations. Distribution without % `appendixtocexample.tex' is forbidden! % See <http://www.komascript.de/comment/3447#comment-3447> for more information. \ProvidesPackage{appendixtoc}[2014/01/22 unsupported LaTeX2e package] \RequirePackage{scrbase}[2013/12/19]% frühere Versionen unterstützen keine Sprachliste bei \providecaptionname \RequirePackage{tocstyle} \usetocstyle{KOMAlike} % Die folgende Umgebung wird verwendet, um innerhalb der toc-Datei einzelne % Bereiche ein- und ausschalten zu können. In die toc-Datei wird die Umgebung % dabei jeweils als \begin{tocconditional}{BEREICH}...\end{tocconditional} % eingefügt. \newenvironment*{tocconditional}[1]{% \expandafter\ifx\csname if@toccond@#1\expandafter\endcsname \csname iftrue\endcsname \else \value{tocdepth}=-10000\relax \fi \typeout{tocdepth in `#1': \the\c@tocdepth}% }{% } % Gleich nach dem Öffnen der toc-Datei beginnen wir den Haupt-Bereich "main": \AtBeginDocument{% \addtocontents{toc}{\string\begin{tocconditional}{main}} } % Und der letzte Bereich endet am Ende der toc-Datei. \BeforeClosingMainAux{% \addtocontents{toc}{\string\end{tocconditional}}% } % Hier können nun neue Bereiche definiert (wie man das % macht zeigen wir gleich im Anschluss) ... \newcommand*{\newtocconditional}[2][false]{% \expandafter\newif\csname if@toccond@#2\endcsname \csname @toccond@#2#1\endcsname } % ... und ein- oder ausgeschaltet werden. % (Beispiele für die Verwendung von \settocconditional sind % weiter unten bei der Definition von \appendixtableofcontents % zu finden.) \newcommand*{\settocconditional}[2]{% \csname @toccond@#1#2\endcsname } % Neben dem (bereits aktivierten) Hauptbereich ... \newtocconditional[true]{main} % ... definieren wir noch einen (noch nicht aktivierten) % Bereich für den Anhang. \newtocconditional{appendix} % Mit dem Anhang geben wir einerseits das Anhangsverzeichnis aus, % andererseits beenden wir den aktuellen Bereich in der toc-Datei und beginnen % den neuen Bereich "appendix". Damit im Haupt-Inhaltsverzeichnis ein Eintrag % für das Anhangsverzeichnis erscheint, verwenden wir \addchap und zwar noch % bevor der letzte Bereich geschlossen wird. Wenn wir es ganz sicher machen % wollten, müssten wir die auskommentierten Zeilen noch aktivieren. So % verlassen wir uns einfach darauf, dass vor dem appendix-Bereich der % main-Bereich lag. \g@addto@macro\appendix{% % \addtocontents{toc}{\string\end{tocconditional}^^J % \string\begin{tocconditional}{main}}% \begingroup \@ifundefined{tocbasic@listhead}{% Falls \tocbasic@listhead (wird von % KOMA-Script-Klassen verwendet) nicht % definiert ist \@ifundefined{chapter}{% und falls \chapter nicht definiert ist, \section*{\listofappendixname}% \section* verwenden }{% aber falls \chapter definiert ist, \chapter*{\listofappendixname}% \chapter* verwenden }% % und noch die Kolumnentitel passend setzen. \@mkboth{\csname MakeMarkcase\endcsname{\listofappendixname}}% {\csname MakeMarkcase\endcsname{\listofappendixname}}% }{% Falls \toc@heading definiert ist, \def\@currext{appendix}% initialisieren \tocbasic@listhead{\listofappendixname}% und verwenden }% \endgroup \addtocontents{toc}{\string\end{tocconditional}^^J \string\begin{tocconditional}{appendix}}% \appendixtableofcontents } % Jetzt definieren wir das Anhangsverzeichnis selbst als Alias für die % toc-Datei. Dabei wird aber der Hauptbereich "main" deaktiviert und der % Anhangsbereich "appendix" aktiviert. \newcommand*{\appendixtableofcontents}{% \showtoc[{ % \aliastoc{\tocstyleTOC}{toc}% \settocconditional{main}{false}% \settocconditional{appendix}{true}% }]{toc}% } % Auch wenn man einen Anhang normalerweise nicht beenden kann, so ist es % ggf. erwünscht, dass Literaturverzeichnis, Index etc. zwar nach den Kapiteln % des Anhangs kommen, aber dem Hauptverzeichnis zugeordnet werden sollen. Also % benötigen wir eine Anweisung, um in der toc-Datei den aktuellen Bereich zu % beenden und wieder einen Hauptbereich einzuschalten: \newcommand*{\postappendix}{% \addtocontents{toc}{\string\end{tocconditional}^^J% \string\begin{tocconditional}{main}}% } % Den Namen definieren: \newcommand*{\listofappendixname}{Table of appendices} \AtBeginDocument{% \providecaptionname{american,australien,british,canadian,english,UKenglish,USenglish}\listofappendixname{Table of appendices}% \providecaptionname{german,ngerman,austrian,naustrian,swissgerman,nswissgerman}\listofappendixname{Anhangsverzeichnis}% }% \end{filecontents} % \documentclass{scrartcl} \usepackage{xltxtra} \defaultfontfeatures{Mapping=tex-text} % -- Sprache -- \usepackage{polyglossia} \setdefaultlanguage[spelling=new]{german} % Wir wollen das Anhangsverzeichnis im Inhaltsverzeichnis, also sorgen wir % dafür, dass das Paket tocbasic geladen ist (auch, wenn keine % KOMA-Script-Klasse verwendet wird). Das muss unbedingt _vor_ dem Laden von % appendixtoc passieren! \usepackage{tocbasic} \usepackage{appendixtoc} \setuptoc{appendix}{totoc}% dank tocbasic geht das jetzt so einfach % -- Blindtext -- \usepackage{blindtext} \begin{document} % -- Inhaltsverzeichnis -- \tableofcontents % -- Dokument -- \section{Ebene Eins} \subsection{Ebene Zwei} \subsubsection{Ebene Drei} \blindtext % -- Anhang(sverzeichnis) -- %\newpage\appendix %\section{Erster Anhang} %\postappendix \end{document}
Die tocstyle doku hat leider zu wenig Beispiele. Daher weiß ich auch gar nicht, wie man diesen abschließenden Punkt ein- bzw. ausschalten könnte. Also ich weiß nicht wonach ich suchen muss.