Anhangsverzeichnis bei report

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Elocin
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: Sa 5. Mai 2018, 17:39

Anhangsverzeichnis bei report

Beitrag von Elocin »

Hallo,

ich möchte gerne ein Anhangsverzeichnis in meiner Arbeit haben, das im Inhaltsverzeichnis drin steht.

Das Inhaltsverzeichnis meines Minimalbeispiels soll wie folgt aussehen:

1 XY
1.1 XY-1

Anhangsverzeichnis

A Anhang


Im Anhangsverzeichnis sollen dann die Kapitel des Anhangs aufgelistet werden wie folgt:

A.1 Anhang 1
A.2 Anhang 2


da ich schon diese Woche meine Abschlussarbeit abgeben muss habe ich leider nicht mehr genügend Zeit selbst noch länger nach einer Lösung für mein Problem zu suchen und ich hoffe ihr könnt mir helfen.

Mein Minimalbeispiel ist folgendes:
\documentclass[fleqn, a4paper, 11pt, oneside, openright]{report}

\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}

\usepackage[pdftex, 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}}{}}
%\pagenumbering{roman}

\phantomsection
\addcontentsline{toc}{chapter}{Anhangsverzeichnis}
\clearpage

\chapter{Anhang}

\section{Anhang 1}

\section{Anhang 2}

\end{appendix}

\end{document}

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Auch wenn die Umsetzung nicht unbedingt elegant ist und du dir bei Gelegenheit https://texwelt.de/wissen/fragen/19227/ ... nen-anhang durchlesen solltest, macht dein Minimalbeispiel genau das, was du beschrieben hast.

Wo genau liegt also dein Problem?

PS: appendix ist keine Umgebung, sondern ein Schalter und sollte dementsprechend mit
\appendix
gestartet werden.
hyperref solltest du, mit wenigen Ausnahmen, immer zuletzt laden.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

Im Fall dieses Minimalbeispiel mit eigentlich falschen Verständnis eines Anhangs: → minitoc oder etoc.

Bei einem korrekt gesetzt Anhang mit report würde ich dagegen eher zu https://komascript.de/comment/3447#comment-3447 tendieren, auch wenn das dort verwendete Paket tocstyle nicht mehr aktuell ist. Eventuell muss man bei Verwendung einer Standardklasse noch \let\MakeMarkcase\MakeUppercase ergänzen oder auf die Verwendung dieser Anweisung einfach ganz verzichten. Getestet habe ich das nicht.

Bei Verwendung einer KOMA-Script-Klasse wäre dagegen eher zu https://komascript.de/comment/5578#comment-5578 greifen.

PS: Bezüglich des falschen/richtigen Verständnisses eines Anhangs siehe den ersten Link im auch ansonsten sehr wichtigen Kommentar von markusv.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

markusv hat geschrieben:[...] macht dein Minimalbeispiel genau das, was du beschrieben hast.

Wo genau liegt also dein Problem?
Hab jetzt erst gecheckt, dass lediglich A Anhang im Inhaltsverzeichnis auftauchen soll und die Unterpunkte im separaten Anhangsverzeichnis. Dahingehend macht dein Beispiel natürlich nicht das, was du möchtest. Sorry, war wohl noch zu früh.

Aber die helfenden Links wurden Dir ja bereits mitgegeben.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Elocin
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: Sa 5. Mai 2018, 17:39

Beitrag von Elocin »

Danke für die Hinweise.

Die Informationen habe ich auch schon gefunden. Dass mein Anhang so strukturiert ist liegt an den Vorgaben des Instituts...
Bei einem korrekt gesetzt Anhang mit report würde ich dagegen eher zu https://komascript.de/comment/3447#comment-3447 tendieren
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... :oops:

Gast

Beitrag von Gast »

Auch als Anfänger kann man aber Lizenzbedingungen beachten. Im Original heißt es am Anfang:
%
% appendixtoc.sty
% Copyright (c) Markus Kohm, 2013-2017
% See `appendixtocexample.tex' for license informations. Distribution without
% `appendixtocexample.tex' is forbidden!
% See <http://www.komascript.de/comment/3447#comment-3447> for more information.
Das hast Du geflissentlich unterschlagen, etwa weil Du es ohnehin nicht beachtet hast?

Außerdem gibt es bei mir kein »Anlagenverzeichnis«, sondern nur ein »Anhangsverzeichnis«. Dieses Wort im Quellcode zu finden, dürfte nicht allzu schwer sein. Und natürlich darf man auch die restlichen Kommentare wie:
% 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!
lesen und auch die daraufhin verwendeten Befehle in der entsprechenden Anleitung nachlesen.

Gast

Beitrag von Gast »

Du beachtest leider noch immer nicht die Hinweise bezüglich der falschen Verwendung von \begin{appendix}…\end{appendix} und auch nicht den Hinweis, dass bei dem Bestehen auf \chapter{Anhang} eigentlich minitoc (aber auch etoc) prinzipiell das gewünschte unmittelbar leisten sollten. Gerade als Anfänger solltest du Hinweise nicht einfach ignorieren. Man kann dir sonst leider nur sehr schwer helfen.

Elocin
Forum-Anfänger
Forum-Anfänger
Beiträge: 26
Registriert: Sa 5. Mai 2018, 17:39

Beitrag von Elocin »

Das hast Du geflissentlich unterschlagen, etwa weil Du es ohnehin nicht beachtet hast?
Nein, das war tatsächlich aus Versehen. Nachdem mir immer gesagt wurde, dass meine Minimalbeispiele zu lang sind, wollte ich alles unnötige heraus löschen.
Gerade als Anfänger solltest du Hinweise nicht einfach ignorieren.
Ich habe mir die Hinweise alle durchgelesen und angesehen, allerdings habe ich es auf die schnelle nicht hinbekommen, das so einzupflegen wie ich es gerne hätte. Gerade als Anfänger ist es nicht sehr leicht zu verstehen welche Bausteine was bedingen und die meisten Anleitungen sind leider auf Englisch. (ja, ich weiß, das sollte man heutzutage gut beherrschen, aber das kann nicht jeder)

Allerdings habt ihr Recht, das gebe ich auch zu, hier in meinem Falls ist die Verwendung eines \appendix Schwachsinn...

Ich habe jetzt auch noch einmal an meinem Institut nachgefragt. Ich soll ein Anhangsverzeichnis erstellen und den Beginn des Anhangs sowie das Verzeichnis im Inhaltsverzeichnis stehen haben. Der Anhang selbst soll keine Kapitel mehr haben, sondern lediglich die eingebundenen pdf/Bilder mit einer Bildunterschrift Anhang 1... etc.

Dadurch hat sich das Ganze ein wenig geändert und ich habe jetzt einfach eine neue Gleitumgebung definiert im Anhang und mein Problem damit gelöst.

Als Hinweis für alle, die ein ähnliches Problem haben:

https://texwelt.de/wissen/fragen/2854/w ... definieren

Einfach eine neue Gleitumgebung definieren, das Verzeichnis an der gewünschten Stelle mit \addcontentsline{toc}{chapter}{Anlagenverzeichnis}\listof%(Name eurer definierten Umgebung) einbinden, den Anhang mit \chapter*{Anhang} beginnen und es funktioniert wie es soll, auch wenn es vielleicht nicht gerade elegant ist.

Trotzdem vielen vielen Dank für eure Mühen! =)

Antworten