von sudo » Sa 29. Jun 2013, 17:13
Also dein Minimalbeispiel ist weder minimal noch läuft es bei mir. Wenn ich es richtig erkannt habe, verwendest du biblatex um dein Literaturverzeichnis zu erzeugen. Dann solltest du es auch laden. Andere Pakete wie microtype, ... brauchst du hingegen nicht. Dann hast du beim Übertragen des Beispiels auch irgendetwas falsch gemacht. Ich hatte übrigens dieses gemeint:
% 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{scrbook}% bliebige Standard- oder KOMA-Script-Klasse
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\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
\begin{document}
\tableofcontents
\blinddocument
\appendix
\blinddocument
\postappendix
\makeatletter
\@ifundefined{addchap}{%
\@ifundefined{addsec}{%
\@ifundefined{chapter}{%
\section*{Testabschnitt halbwegs nach dem Anhang}%
\addcontentsline{toc}{section}{Testabschnitt halbwegs nach dem Anhang}%
}{%
\chapter*{Testkapitel halbwegs nach dem Anhang}
\addcontentsline{toc}{chapter}{Testkapitel halbwegs nach dem Anhang}%
}%
}{%
\addsec{Testabschnitt halbwegs nach dem Anhang}%
}%
}{%
\addchap{Testkapitel halbwegs nach dem Anhang}%
}
\makeatother
\blindtext
\end{document}
Darin wird eine sty-Datei erzeugt diese kannst du nehmen und in deinen Ordner packen. Dann brauchst du nicht jedesmal so eine lange Präembel und es fehlt trotzdem nichts. Damit läuft bei mir dieses Beispiel auch so wie ich denke, dass du es dir vorstellst:
\documentclass[bibliography=totoc]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[font=footnotesize]{caption}
\usepackage{appendixtoc}
\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{Inhaltsverzeichnis} %% Warum auch immer du das IHV im IHV haben möchtest
\section{1. Teil}
\section{2.Teil}
\newpage
\renewcommand{\thepage}{\Roman{page}}
\setcounter{page}{4}
\appendix
\section{Leistunsindikatoren der GRI}
\newpage
\postappendix
\renewcommand{\refname}{Literaturverzeichnis}
\sloppy
\newpage
\begin{thebibliography}{9}
\bibitem{lamport94}
Leslie Lamport,
\emph{\LaTeX: A Document Preparation System}.
Addison Wesley, Massachusetts,
2nd Edition,
1994.
\end{thebibliography}
\end{document}
PS: ich habe mal den Status auf "mit Vorschlag" geändert, bei "beantwortet" gucken glaub ich nicht so viele Leute hier rein!
Also dein Minimalbeispiel ist weder minimal noch läuft es bei mir. Wenn ich es richtig erkannt habe, verwendest du biblatex um dein Literaturverzeichnis zu erzeugen. Dann solltest du es auch laden. Andere Pakete wie microtype, ... brauchst du hingegen nicht. Dann hast du beim Übertragen des Beispiels auch irgendetwas falsch gemacht. Ich hatte übrigens dieses gemeint:
[code]% 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{scrbook}% bliebige Standard- oder KOMA-Script-Klasse
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\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
\begin{document}
\tableofcontents
\blinddocument
\appendix
\blinddocument
\postappendix
\makeatletter
\@ifundefined{addchap}{%
\@ifundefined{addsec}{%
\@ifundefined{chapter}{%
\section*{Testabschnitt halbwegs nach dem Anhang}%
\addcontentsline{toc}{section}{Testabschnitt halbwegs nach dem Anhang}%
}{%
\chapter*{Testkapitel halbwegs nach dem Anhang}
\addcontentsline{toc}{chapter}{Testkapitel halbwegs nach dem Anhang}%
}%
}{%
\addsec{Testabschnitt halbwegs nach dem Anhang}%
}%
}{%
\addchap{Testkapitel halbwegs nach dem Anhang}%
}
\makeatother
\blindtext
\end{document}[/code]
Darin wird eine sty-Datei erzeugt diese kannst du nehmen und in deinen Ordner packen. Dann brauchst du nicht jedesmal so eine lange Präembel und es fehlt trotzdem nichts. Damit läuft bei mir dieses Beispiel auch so wie ich denke, dass du es dir vorstellst:
[code]
\documentclass[bibliography=totoc]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[font=footnotesize]{caption}
\usepackage{appendixtoc}
\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{Inhaltsverzeichnis} %% Warum auch immer du das IHV im IHV haben möchtest
\section{1. Teil}
\section{2.Teil}
\newpage
\renewcommand{\thepage}{\Roman{page}}
\setcounter{page}{4}
\appendix
\section{Leistunsindikatoren der GRI}
\newpage
\postappendix
\renewcommand{\refname}{Literaturverzeichnis}
\sloppy
\newpage
\begin{thebibliography}{9}
\bibitem{lamport94}
Leslie Lamport,
\emph{\LaTeX: A Document Preparation System}.
Addison Wesley, Massachusetts,
2nd Edition,
1994.
\end{thebibliography}
\end{document} [/code]
PS: ich habe mal den Status auf "mit Vorschlag" geändert, bei "beantwortet" gucken glaub ich nicht so viele Leute hier rein!