Anhangsverzeichnis nach Kohm mit apa6
Verfasst: So 1. Dez 2013, 15:23
Basierend auf diesem Code
http://www.komascript.de/comment/3447#comment-3447
habe ich nach wenigen Anpassungen ein Dokument mit Anhangsverzeichnis nach meinem (bzw. meiner Dozentin) Bedürfnissen erzeugen können.
Lief mit scrartcl unter XeTeX besser als ich es erwartet hatte.
Nun muss ich das alles mit apa6-Klasse (Dozentin) machen. Prompt gibt es natürlich Probleme, deren Ursache ich nicht völlig erfassen kann.
Fehlermeldung lautet:
btw: In 01.toc gibt es aber keine Zeile 656. 
http://www.komascript.de/comment/3447#comment-3447
habe ich nach wenigen Anpassungen ein Dokument mit Anhangsverzeichnis nach meinem (bzw. meiner Dozentin) Bedürfnissen erzeugen können.
Lief mit scrartcl unter XeTeX besser als ich es erwartet hatte.
Nun muss ich das alles mit apa6-Klasse (Dozentin) machen. Prompt gibt es natürlich Probleme, deren Ursache ich nicht völlig erfassen kann.
Fehlermeldung lautet:
01.toc|656 error| Command \l@addto@macro already defined.

% Achtung: Updates verfügbar % http://www.komascript.de/comment/3447#comment-3447% Dies ist Datei `appendixtocexample.tex' % Copyright (c) Markus Kohm, 2010-2013 % Diese Datei steht unter LPPL 1.3c. % Wird diese Datei abgeändert, so handelt es sich um ein abgeleitetes Werk % im Sinne der LPPL. Dies bedeutet u. a. dass in diesem Fall darauf % hinzuweisen ist, dass der hier im Copyright-Vermerk angegebene Autor, % Markus Kohm, für den Inhalt nicht verantwortlich und für keinerlei % Support oder Auskünfte heranzuziehen ist! % % Changelog: % 2013-06-15 (mjk): Funktioniert mit allen Standard- oder KOMA-Script-Klassen. % \documentclass[ man ]{apa6} \usepackage{xltxtra} \defaultfontfeatures{Mapping=tex-text} % Sprache \usepackage{polyglossia} \setdefaultlanguage[spelling=new]{german} \usepackage{filecontents} \begin{filecontents}{appendixtoc.sty} % % appendixtoc.sty % Copyright (c) Markus Kohm, 2013 % See `appendixtocexample.tex' for license informations. Distribution without % `appendixtocexample.tex' is forbidden! \ProvidesPackage{appendixtoc}[2013/06/15 unsupported LaTeX2e package] \RequirePackage{scrbase} \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{english}{\listofappendixname}{Table of appendices}% \providecaptionname{USenglish}{\listofappendixname}{Table of appendices}% \providecaptionname{UKenglish}{\listofappendixname}{Table of appendices}% \providecaptionname{british}{\listofappendixname}{Table of appendices}% \providecaptionname{german}\listofappendixname{Anhangsverzeichnis}% \providecaptionname{ngerman}\listofappendixname{Anhangsverzeichnis}% \providecaptionname{austrian}\listofappendixname{Anhangsverzeichnis}% \providecaptionname{austrian}\listofappendixname{Anhangsverzeichnis}% }% \end{filecontents} \usepackage{appendixtoc} % 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 \title{T} \shorttitle{ST} \author{A} \begin{document} % -- Inhaltsverzeichnis -- \maketitle \tableofcontents % -- Dokument -- \newpage\section{Erste Section} section section % -- Anhangsverzeichnis -- \newpage\appendix % -- Anhang -- \newpage\section{Anhang} Anhang der erste \postappendix \end{document}