von Elocin » Do 26. Jul 2018, 12:44
Danke für die Hinweise.
Die Informationen habe ich auch schon gefunden. Dass mein Anhang so strukturiert ist liegt an den Vorgaben des Instituts...
Das habe ich jetzt ausprobiert. Es funktioniert auch dahingehend, dass die Unterpunkte nicht mehr im Inhaltsverzeichnis auftauchen, allerdings taucht jetzt auch nur noch "Anlagenverzeichnis" auf und nicht mehr "Anhang".
Gibt es die Möglichkeit das \chapter{Anhang} im Inhaltsverzeichnis anzeigen zu lassen? Alle darunter folgenden Teile sind \section{}.
Mein Beispiel - ich weiß, dass das nicht mehr wirklich minimal ist, aber sobald ich irgendetwas heraus nehme funktioniert es nicht mehr...
\documentclass[fleqn, a4paper, 11pt, oneside, openright]{report}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%-------------------
% Anhangsverzeichnis
%-------------------
\usepackage{filecontents}
\begin{filecontents}{appendixtoc.sty}
\ProvidesPackage{appendixtoc}[2017/05/03 unsupported LaTeX2e package]
\RequirePackage{scrbase}[2013/12/19]
\RequirePackage{tocstyle}
\usetocstyle{KOMAlike}
\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".
% Für die Überschrift wird \tocbasic@listhead verwendet, damit das
% Verzeichnis via \setuptoc{appendix}{…} (siehe Kapitel zu `tocbasic' in
% der KOMA-Script-Anleitung) konfiguriert werden kann. Das passiert, 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 \tocbasic@listhead 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{ngerman}\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
\usepackage[colorlinks, linkcolor=black, frenchlinks]{hyperref}
\usepackage[a4paper , lmargin = {2.5cm} , rmargin = {2.5cm} , tmargin = {2.5cm} , bmargin = {2.5cm} ]{geometry}
%Seitenformat, als LETZTES einbinden!
\usepackage{fancyhdr} %Kopf- und Fußzeile bearbeitbar (nach geometry!)
\usepackage{titlesec}
\titleformat{\chapter}{\normalfont\huge\bfseries}{\thechapter\quad}{20pt}{\huge\bfseries}
\AtBeginDocument{\renewcommand{\chaptername}{}} % Um "Kapitel" zu entfernen
\addto\captionsngerman{
%\renewcommand{\figurename}{Abb.}
%\renewcommand{\tablename}{Tab.}
\setcounter{secnumdepth}{3}
}
\begin{document}
\tableofcontents
\clearpage
\pagenumbering{arabic}
\chapter{XY}
\section{XY-1}
\section{XY-11}
\begin{appendix}
\titleformat{\chapter}{\bfseries\Huge}{\thechapter\quad}{0em}{}
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\chaptername\ \thechapter\ -\ #1}}{}}
\chapter{Anhang}
\section{Anhang 1}
\section{Anhang 2}
\end{appendix}
\end{document}
Ich weiß, das hier ist ein ziemliches rumgemurkse und mir gefällt es selbst nicht. Ich hab mir am Anfang recht viel Zeit für meine Latex-Vorlage genommen (ich bin absoluter Anfänger), aber nicht daran gedacht, dass der Anhang noch Probleme bereiten kann...

Danke für die Hinweise.
Die Informationen habe ich auch schon gefunden. Dass mein Anhang so strukturiert ist liegt an den Vorgaben des Instituts...
[quote]Bei einem korrekt gesetzt Anhang mit report würde ich dagegen eher zu https://komascript.de/comment/3447#comment-3447 tendieren[/quote]
Das habe ich jetzt ausprobiert. Es funktioniert auch dahingehend, dass die Unterpunkte nicht mehr im Inhaltsverzeichnis auftauchen, allerdings taucht jetzt auch nur noch "Anlagenverzeichnis" auf und nicht mehr "Anhang".
Gibt es die Möglichkeit das \chapter{Anhang} im Inhaltsverzeichnis anzeigen zu lassen? Alle darunter folgenden Teile sind \section{}.
Mein Beispiel - ich weiß, dass das nicht mehr wirklich minimal ist, aber sobald ich irgendetwas heraus nehme funktioniert es nicht mehr...
[code]\documentclass[fleqn, a4paper, 11pt, oneside, openright]{report}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%-------------------
% Anhangsverzeichnis
%-------------------
\usepackage{filecontents}
\begin{filecontents}{appendixtoc.sty}
\ProvidesPackage{appendixtoc}[2017/05/03 unsupported LaTeX2e package]
\RequirePackage{scrbase}[2013/12/19]
\RequirePackage{tocstyle}
\usetocstyle{KOMAlike}
\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".
% Für die Überschrift wird \tocbasic@listhead verwendet, damit das
% Verzeichnis via \setuptoc{appendix}{…} (siehe Kapitel zu `tocbasic' in
% der KOMA-Script-Anleitung) konfiguriert werden kann. Das passiert, 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 \tocbasic@listhead 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{ngerman}\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
\usepackage[colorlinks, linkcolor=black, frenchlinks]{hyperref}
\usepackage[a4paper , lmargin = {2.5cm} , rmargin = {2.5cm} , tmargin = {2.5cm} , bmargin = {2.5cm} ]{geometry}
%Seitenformat, als LETZTES einbinden!
\usepackage{fancyhdr} %Kopf- und Fußzeile bearbeitbar (nach geometry!)
\usepackage{titlesec}
\titleformat{\chapter}{\normalfont\huge\bfseries}{\thechapter\quad}{20pt}{\huge\bfseries}
\AtBeginDocument{\renewcommand{\chaptername}{}} % Um "Kapitel" zu entfernen
\addto\captionsngerman{
%\renewcommand{\figurename}{Abb.}
%\renewcommand{\tablename}{Tab.}
\setcounter{secnumdepth}{3}
}
\begin{document}
\tableofcontents
\clearpage
\pagenumbering{arabic}
\chapter{XY}
\section{XY-1}
\section{XY-11}
\begin{appendix}
\titleformat{\chapter}{\bfseries\Huge}{\thechapter\quad}{0em}{}
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\chaptername\ \thechapter\ -\ #1}}{}}
\chapter{Anhang}
\section{Anhang 1}
\section{Anhang 2}
\end{appendix}
\end{document}[/code]
Ich weiß, das hier ist ein ziemliches rumgemurkse und mir gefällt es selbst nicht. Ich hab mir am Anfang recht viel Zeit für meine Latex-Vorlage genommen (ich bin absoluter Anfänger), aber nicht daran gedacht, dass der Anhang noch Probleme bereiten kann... :oops: