Anhangsverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Rakete
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: So 12. Jan 2014, 00:57

Anhangsverzeichnis

Beitrag von Rakete »

Hallo zusammen,

ich habe im Internet eine Vorlage gefunden für Master Arbeiten. Diese Vorlage ist jedoch so aufgebaut dass die Anhänge in dem Inhaltsverzeichnis aufgelistet werden. Ich habe mir jetzt schon den gesamten Abend den Kopf darüber zerbrochen wie man ein Anhangsverzeichnis erstellen könnte, dass nach der Überschrift "Anhang" ein kleines Verzeichnis (wie Inhaltsverzeichnis) hat und die einzelnen Anhänge auflistet mit Seitenzahl.

Bei der Recherche bin ich auf das Minitoc gestoßen, allerdings habe ich damit viele Probleme. Momentan ist es so dass ich ein Verzeichnis erstellen konnte aber nicht die Anhänge gezeigt werden sondern irgendwelche überschritten aus dem Dokument.

Weiterhin löscht es mir alle einträge aus den Abbildungs und Tabellenverzeichnissen. Die sind nun leer.

Die Latex Vorlage kann unter http://blog.stefan-macke.com/2009/04/24 ... nuernberg/ heruntergeladen werden um ein vollständiges Bild zu bekommen.

Ich habe minitoc geladen und wie folgt in die master Datei eingebunden:
\documentclass[
    11pt, % Schriftgröße
    DIV10,
    ngerman, % für Umlaute, Silbentrennung etc.
    a4paper, % Papierformat
    oneside, % einseitiges Dokument
    titlepage, % es wird eine Titelseite verwendet
    parskip=half, % Abstand zwischen Absätzen (halbe Zeile)
    headings=normal, % Größe der Überschriften verkleinern
    listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
    bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
    index=totoc, % Index im Inhaltsverzeichnis aufführen
    captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
    final % Status des Dokuments (final/draft)
]{scrreprt}

% Meta-Informationen -----------------------------------------------------------
%   Informationen über das Dokument, wie z.B. Titel, Autor, Matrikelnr. etc
%   werden in der Datei Meta.tex definiert und können danach global
%   verwendet werden.
% ------------------------------------------------------------------------------
\input{Meta}

% benötigte Packages -----------------------------------------------------------
%   LaTeX-Packages, die benötigt werden, sind in die Datei Packages.tex
%   "ausgelagert", um diese Vorlage möglichst übersichtlich zu halten.
% ------------------------------------------------------------------------------
\input{Packages}

% Erstellung eines Index und Abkürzungsverzeichnisses aktivieren ---------------
\makeindex
\makenomenclature

% Kopf- und Fußzeilen, Seitenränder etc. ---------------------------------------
\input{Seitenstil}

% eigene Definitionen für Silbentrennung
\include{Silbentrennung}

% eigene LaTeX-Befehle
\include{Befehle}

% Das eigentliche Dokument -----------------------------------------------------
%   Der eigentliche Inhalt des Dokuments beginnt hier. Die einzelnen Seiten
%   und Kapitel werden in eigene Dateien ausgelagert und hier nur inkludiert.
% ------------------------------------------------------------------------------
\begin{document}

 \dominitoc %Mit Minitoc Anhangsverzeichnis erstellen


% auch subsubsection nummerieren
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

% Deckblatt und Abstract ohne Seitenzahl
\ofoot{}
\include{Deckblatt}
\include{Inhalt/Abstract}
\ofoot{\pagemark}

% Seitennummerierung -----------------------------------------------------------
%   Vor dem Hauptteil werden die Seiten in großen römischen Ziffern 
%   nummeriert.
% ------------------------------------------------------------------------------
\pagenumbering{Roman}
\newcounter{SeitenzahlSpeicher} % Seitenzahlen speichern und später fortführen


\tableofcontents % Inhaltsverzeichnis

% Abkürzungsverzeichnis --------------------------------------------------------
\input{Inhalt/Glossar}
% für korrekte Überschrift in der Kopfzeile
\clearpage\markboth{\nomname}{\nomname} 
\printnomenclature
\label{sec:Glossar}

\listoffigures % Abbildungsverzeichnis
\listoftables % Tabellenverzeichnis
\renewcommand{\lstlistlistingname}{Verzeichnis der Listings}
\lstlistoflistings % Listings-Verzeichnis

% arabische Seitenzahlen im Hauptteil ------------------------------------------
\clearpage
\setcounter{SeitenzahlSpeicher}{\value{page}} 	% Seitenzahl speichern um im Anhang hier mit der
									% römischen Zahl weiter zu machen
\pagenumbering{arabic}

% die Inhaltskapitel werden in "Inhalt.tex" inkludiert -------------------------
\input{Inhalt}

% Literaturverzeichnis ---------------------------------------------------------
%   Das Literaturverzeichnis wird aus der BibTeX-Datenbank "Bibliographie.bib"
%   erstellt.
% ------------------------------------------------------------------------------
\bibliography{Bibliographie} % Aufruf: bibtex Masterarbeit
\bibliographystyle{natdin} % DIN-Stil des Literaturverzeichnisses
\pagenumbering{Roman} % Römisch fortfahren
\setcounter{page}{\theSeitenzahlSpeicher} % Römisch bei letzter römischen Seitenzahl weiter machen

\include{Erklaerung} % Selbständigkeitserklärung

% Anhang -----------------------------------------------------------------------
%   Die Inhalte des Anhangs werden analog zu den Kapiteln inkludiert.
%   Dies geschieht in der Datei "Anhang.tex".
% ------------------------------------------------------------------------------

\begin{appendix}
    \clearpage
    \chapter{Anhang}
    \label{sec:Anhang}
    % Rand der Aufzählungen in Tabellen anpassen
    \setdefaultleftmargin{1em}{}{}{}{}{}
    
    %\begin{mtchideinmaintoc}
    \minitoc
    
    \input{Anhang}
    
    %\end{mtchideinmaintoc}

    
\end{appendix}

% Index ------------------------------------------------------------------------
%   Zum Erstellen eines Index, die folgende Zeile auskommentieren.
% ------------------------------------------------------------------------------
%\printindex

\end{document}
hier unten sind meine Versuche zu sehen. Bei Begin Appendix geht es ans eingemacht meiner Meinung nach, aber vielleicht habt ihr einen Grund für meine Probleme gefunden und eine Lösung parat. Ich hoffe mir kann jmd konkret für diese Vorlage einen Lösungsansatz darstellen, da diese Vorlage wirklich sehr gut ist und eine super Basis darstellt. Vielen Dank für eure Hilfe.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Rakete
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: So 12. Jan 2014, 00:57

Beitrag von Rakete »

Johannes_B hat geschrieben:Hilft dir http://www.golatex.de/separates-anhangv ... chnis.html eventuell schon weiter?
Hi, vielen Dank für deine Antwort. Ich muss mir das Beispiel einmal genau anschauen. Es ist meines Erachtens ziemlich viel Code im Vergleich zu anderen Lösungen, was ja nicht unbedingt schlecht ist aber ich konnte es noch nicht 100% verstehen. Ich werde mich heute damit beschäftigen und mich später nochmal melden! Sollte jemand noch eine andere Lösung parat haben ist diese gerne willkommen! :)

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Falls du das Beispiel nicht auf deinen fall übertragen kannst und weitere Hilfe benötigst, dann erstell uns bitte ein Minimalbeispiel.

Zum Thema Vorlagen kannst du dir auch mal Minimale Vorlage vs. maximale Probleme anschauen.

Auf den ersten Blick kann ich dir aber schon mal sagen, dass \appendix ein Schalter und keine Umgebung ist.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Rakete
Forum-Anfänger
Forum-Anfänger
Beiträge: 25
Registriert: So 12. Jan 2014, 00:57

Beitrag von Rakete »

Ich habe mich damit nochmal beschäftigt und bin leider nicht weiter gekommen abgesehen von vielen Fehlermeldungen. Das Beispiel aus dem Link funktioniert perfekt aber ich habe es nicht geschafft es zu übertragen. Frustrierend.

Da die Datei sehr komplex ist, ist es glaube ich besser sich diese herunterzuladen über den Link http://blog.stefan-macke.com/2009/04/24 ... nuernberg/ und dann nachzuvollziehen welche beiden .tex Dateien ich geändert habe und wie ich fortgefahren bin.

Der Code von Markus Kohm aus der Anhangsverzeichnis Datei ist folgender:
% 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{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}
Meines Erachtens unterteilt in pre document Clarifications und dann ab begin document mit den Befehlen zum Aufrufen der verschiedenen Chapter und später dem Anhang.

Um alle Pakete einzubinden habe ich die Datei packages.tex wie folgt erweitert und ab der Stelle %%% AB HIER WIRD EIN ANHANGSVERZEICHNIS ERSTELLT %%% den code übernommen der ursprünglich alles bis auf begin document beinhaltet.
% Anpassung des Seitenlayouts --------------------------------------------------
%   siehe Seitenstil.tex
% ------------------------------------------------------------------------------
\usepackage[
    automark, % Kapitelangaben in Kopfzeile automatisch erstellen
    headsepline, % Trennlinie unter Kopfzeile
    ilines % Trennlinie linksbündig ausrichten
]{scrpage2}

% Anpassung an Landessprache ---------------------------------------------------
\usepackage[ngerman]{babel}

% Blindtexte zum Testen ermöglichen ------------------------------------------
\usepackage{blindtext}


% Umlaute ----------------------------------------------------------------------
%   Umlaute/Sonderzeichen wie äüöß direkt im Quelltext verwenden (CodePage).
%   Erlaubt automatische Trennung von Worten mit Umlauten.
% ------------------------------------------------------------------------------
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp} % Euro-Zeichen etc.

% Schrift ----------------------------------------------------------------------
\usepackage{lmodern} % bessere Fonts
\usepackage{relsize} % Schriftgröße relativ festlegen

% Grafiken ---------------------------------------------------------------------
% Einbinden von JPG-Grafiken ermöglichen
\usepackage[dvips,final]{graphicx}
% hier liegen die Bilder des Dokuments
\graphicspath{{Bilder/}}

% Befehle aus AMSTeX für mathematische Symbole z.B. \boldsymbol \mathbb --------
\usepackage{amsmath,amsfonts}

% für Index-Ausgabe mit \printindex --------------------------------------------
\usepackage{makeidx}

% Einfache Definition der Zeilenabstände und Seitenränder etc. -----------------
\usepackage{setspace}
\usepackage{geometry}

% Symbolverzeichnis ------------------------------------------------------------
%   Symbolverzeichnisse bequem erstellen. Beruht auf MakeIndex:
%     makeindex.exe %Name%.nlo -s nomencl.ist -o %Name%.nls
%   erzeugt dann das Verzeichnis. Dieser Befehl kann z.B. im TeXnicCenter
%   als Postprozessor eingetragen werden, damit er nicht ständig manuell
%   ausgeführt werden muss.
%   Die Definitionen sind ausgegliedert in die Datei "Glossar.tex".
% ------------------------------------------------------------------------------
\usepackage[intoc]{nomencl}
\let\abbrev\nomenclature
\renewcommand{\nomname}{Abkürzungsverzeichnis}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\parsep}

% zum Umfließen von Bildern ----------------------------------------------------
\usepackage{floatflt}


% zum Einbinden von Programmcode -----------------------------------------------
\usepackage{listings}
\usepackage{xcolor} 
\definecolor{hellgelb}{rgb}{1,1,0.9}
\definecolor{colKeys}{rgb}{0,0,1}
\definecolor{colIdentifier}{rgb}{0,0,0}
\definecolor{colComments}{rgb}{1,0,0}
\definecolor{colString}{rgb}{0,0.5,0}
\lstset{
    float=hbp,
    basicstyle=\ttfamily\color{black}\small\smaller,
    identifierstyle=\color{colIdentifier},
    keywordstyle=\color{colKeys},
    stringstyle=\color{colString},
    commentstyle=\color{colComments},
    columns=flexible,
    tabsize=2,
    frame=single,
    extendedchars=true,
    showspaces=false,
    showstringspaces=false,
    numbers=left,
    numberstyle=\tiny,
    breaklines=true,
    backgroundcolor=\color{hellgelb},
    breakautoindent=true
}

% URL verlinken, lange URLs umbrechen etc. -------------------------------------
\usepackage{url}

% wichtig für korrekte Zitierweise ---------------------------------------------
\usepackage[square]{natbib}

% PDF-Optionen -----------------------------------------------------------------
\usepackage[
    bookmarks,
    bookmarksopen=true,
    colorlinks=true,
% diese Farbdefinitionen zeichnen Links im PDF farblich aus
    linkcolor=red, % einfache interne Verknüpfungen
    anchorcolor=black,% Ankertext
    citecolor=blue, % Verweise auf Literaturverzeichniseinträge im Text
    filecolor=magenta, % Verknüpfungen, die lokale Dateien öffnen
    menucolor=red, % Acrobat-Menüpunkte
    urlcolor=cyan, 
% diese Farbdefinitionen sollten für den Druck verwendet werden (alles schwarz)
    %linkcolor=black, % einfache interne Verknüpfungen
    %anchorcolor=black, % Ankertext
    %citecolor=black, % Verweise auf Literaturverzeichniseinträge im Text
    %filecolor=black, % Verknüpfungen, die lokale Dateien öffnen
    %menucolor=black, % Acrobat-Menüpunkte
    %urlcolor=black, 
    backref,
    plainpages=false, % zur korrekten Erstellung der Bookmarks
    pdfpagelabels, % zur korrekten Erstellung der Bookmarks
    hypertexnames=false, % zur korrekten Erstellung der Bookmarks
    linktocpage % Seitenzahlen anstatt Text im Inhaltsverzeichnis verlinken
]{hyperref}
% Befehle, die Umlaute ausgeben, führen zu Fehlern, wenn sie hyperref als Optionen übergeben werden
\hypersetup{
    pdftitle={\titel \untertitel},
    pdfauthor={\autor},
    pdfcreator={\autor},
    pdfsubject={\titel \untertitel},
    pdfkeywords={\titel \untertitel},
}

% fortlaufendes Durchnummerieren der Fußnoten ----------------------------------
\usepackage{chngcntr}

% für lange Tabellen -----------------------------------------------------------
\usepackage{longtable}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{lscape}

% Spaltendefinition rechtsbündig mit definierter Breite ------------------------
\newcolumntype{w}[1]{>{\raggedleft\hspace{0pt}}p{#1}}

% Formatierung von Listen ändern -----------------------------------------------
\usepackage{paralist}

% bei der Definition eigener Befehle benötigt
\usepackage{ifthen}

% definiert u.a. die Befehle \todo und \listoftodos
\usepackage{todonotes}

% sorgt dafür, dass Leerzeichen hinter parameterlosen Makros nicht als Makroendezeichen interpretiert werden
\usepackage{xspace}

%%% AB HIER WIRD EIN ANHANGSVERZEICHNIS ERSTELLT %%%

\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

Ich habe nun in die Masterarbeit.tex zwischen Anhang und Index den Teil postappendix reingesetzt. Der Appendix an sich wird mit begin und end unterteilt was meiner Meinung vielleicht zu dem Problem führt, dass ich einen Fehler bekomme. Warum ich diesen Fehler bekomme weiss ich leider nicht. In der einfacheren Minimalbeispiel Version klappt es ja. Den Code aus der Masterarbeit.tex findet ihr hier:


% ------------------------------------------------------------------------------
% Formatvorlage für Masterarbeiten an der Ohm-Hochschule Nürnberg
% ------------------------------------------------------------------------------
%   Ursprünglich erstellt von Stefan Macke, 24.04.2009
%   http://blog.stefan-macke.de;
%
% Dokumentenkopf ---------------------------------------------------------------
%   Diese Vorlage basiert auf "scrreprt" aus dem koma-script.
% ------------------------------------------------------------------------------
\documentclass[
    11pt, % Schriftgröße
    DIV10,
    ngerman, % für Umlaute, Silbentrennung etc.
    a4paper, % Papierformat
    oneside, % einseitiges Dokument
    titlepage, % es wird eine Titelseite verwendet
    parskip=half, % Abstand zwischen Absätzen (halbe Zeile)
    headings=normal, % Größe der Überschriften verkleinern
    listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
    bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
    index=totoc, % Index im Inhaltsverzeichnis aufführen
    captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
    final % Status des Dokuments (final/draft)
]{scrreprt}

% Meta-Informationen -----------------------------------------------------------
%   Informationen über das Dokument, wie z.B. Titel, Autor, Matrikelnr. etc
%   werden in der Datei Meta.tex definiert und können danach global
%   verwendet werden.
% ------------------------------------------------------------------------------
\input{Meta}

% benötigte Packages -----------------------------------------------------------
%   LaTeX-Packages, die benötigt werden, sind in die Datei Packages.tex
%   "ausgelagert", um diese Vorlage möglichst übersichtlich zu halten.
% ------------------------------------------------------------------------------
\input{Packages}

% Erstellung eines Index und Abkürzungsverzeichnisses aktivieren ---------------
\makeindex
\makenomenclature

% Kopf- und Fußzeilen, Seitenränder etc. ---------------------------------------
\input{Seitenstil}

% eigene Definitionen für Silbentrennung
\include{Silbentrennung}

% eigene LaTeX-Befehle
\include{Befehle}

% Das eigentliche Dokument -----------------------------------------------------
%   Der eigentliche Inhalt des Dokuments beginnt hier. Die einzelnen Seiten
%   und Kapitel werden in eigene Dateien ausgelagert und hier nur inkludiert.
% ------------------------------------------------------------------------------
\begin{document}

% auch subsubsection nummerieren
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

% Deckblatt und Abstract ohne Seitenzahl
\ofoot{}
\include{Deckblatt}
\include{Inhalt/Abstract}
\ofoot{\pagemark}

% Seitennummerierung -----------------------------------------------------------
%   Vor dem Hauptteil werden die Seiten in großen römischen Ziffern 
%   nummeriert.
% ------------------------------------------------------------------------------
\pagenumbering{Roman}
\newcounter{SeitenzahlSpeicher} % Seitenzahlen speichern und später fortführen


\tableofcontents % Inhaltsverzeichnis

% Abkürzungsverzeichnis --------------------------------------------------------
\input{Inhalt/Glossar}
% für korrekte Überschrift in der Kopfzeile
\clearpage\markboth{\nomname}{\nomname} 
\printnomenclature
\label{sec:Glossar}

\listoffigures % Abbildungsverzeichnis
\listoftables % Tabellenverzeichnis
\renewcommand{\lstlistlistingname}{Verzeichnis der Listings}
\lstlistoflistings % Listings-Verzeichnis

% arabische Seitenzahlen im Hauptteil ------------------------------------------
\clearpage
\setcounter{SeitenzahlSpeicher}{\value{page}} 	% Seitenzahl speichern um im Anhang hier mit der
									% römischen Zahl weiter zu machen
\pagenumbering{arabic}

% die Inhaltskapitel werden in "Inhalt.tex" inkludiert -------------------------
\input{Inhalt}

% Literaturverzeichnis ---------------------------------------------------------
%   Das Literaturverzeichnis wird aus der BibTeX-Datenbank "Bibliographie.bib"
%   erstellt.
% ------------------------------------------------------------------------------
\bibliography{Bibliographie} % Aufruf: bibtex Masterarbeit
\bibliographystyle{natdin} % DIN-Stil des Literaturverzeichnisses
\pagenumbering{Roman} % Römisch fortfahren
\setcounter{page}{\theSeitenzahlSpeicher} % Römisch bei letzter römischen Seitenzahl weiter machen

\include{Erklaerung} % Selbständigkeitserklärung

% Anhang -----------------------------------------------------------------------
%   Die Inhalte des Anhangs werden analog zu den Kapiteln inkludiert.
%   Dies geschieht in der Datei "Anhang.tex".
% ------------------------------------------------------------------------------


\begin{appendix}
    \clearpage
     \chapter{Anhang}
    \label{sec:Anhang}
    % Rand der Aufzählungen in Tabellen anpassen
    \setdefaultleftmargin{1em}{}{}{}{}{}
    \input{Anhang}    
\end{appendix}

\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


% Index ------------------------------------------------------------------------
%   Zum Erstellen eines Index, die folgende Zeile auskommentieren.
% ------------------------------------------------------------------------------
%\printindex

\end{document}
Ich weiß, dass meine Darstellung nicht unbedingt der Foren Ethik entspricht aber ich habe es nicht geschafft ein Minimalbeispiel aus meinem Dokument zu erstellen, da sehr viel einfach von "außen" eingebunden wird. Auf der anderen Seite hoffe ich dass durch den Downloadlink die Problematik schnell ersichtlich wird. Den Code der tex Dateien, die ich geändert habe habe ich gepostet damit er gleich in die Dateien kopiert (ersetzt) werden kann und ihr den genau gleichen Stand wie ich habt. Ich hoffe auf ein paar Tips und eine Hilfestellung. Danke :)

Antworten