Formatierung des Anhangsverzeichnisses Thema ist als GELÖST markiert

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Formatierung des Anhangsverzeichnisses

Beitrag von andré01 »

Liebe Forums-Mitglieder,

ich nehme an, diese Frage ist recht einfach zu lösen. Es wurde bei ähnlichen Fragen auch auf andere Foreneinträge verwiesen, doch die Lösung konnte ich noch nicht finden.

Im Anhangs-Verzeichnis möchte ich vor die Nummerierung der Anhänge die Beschreibung "Anhang x:" und danach einen Abstand setzen:

Anhang 1: Name Anhang 1
Anhang 2: Name Anhang 2

Bei Abbildungen z.B. erfolgt die Formatierung durch folgende Befehle:
\renewcommand{\cftfigpresnum}{Abb. }
\renewcommand{\cftfigaftersnum}{:}
\setlength{\cftfignumwidth}{2cm}
\setlength{\cftfigindent}{0cm}

Wie erfolgt die Formatierung beim Anhang? Gibt es einen ähnlichen Befehl?

\documentclass[12pt,ngerman]{scrartcl}
\usepackage[titles]{tocloft}

\newcommand{\answer}[1]{%
\refstepcounter{answer}
\par\noindent\textbf{Anhang\,\theanswer\enskip #1}
\addcontentsline{ans}{answer}{\protect\numberline{\theanswer}#1}\par}
\newcommand{\listanswername}{Anhangsverzeichnis}
\newlistof[section]{answer}{ans}{\listanswername}

\begin{document}
\section*{Anhang}
\listofanswer
\renewcommand{\theanswer}{\arabic{answer}}
\pagebreak
\answer{Name Anhang 1}
\answer{Name Anhang 2}
\answer{Name Anhang 3}
\end{document}

André

Zuletzt geändert von andré01 am Mi 31. Mär 2021, 00:19, insgesamt 2-mal geändert.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2487
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Formatierung des Anhangsverzeichnisses

Beitrag von Stefan Kottwitz »

Hallo,

nur eine Ergänzung, oben im Code wurde vmtl.

\usepackage{tocloft}

vergessen.

Stefan


andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Formatierung des Anhangsverzeichnisses

Beitrag von andré01 »

Danke, ist eingefügt.


Gastname ungültig

Re: Formatierung des Anhangsverzeichnisses

Beitrag von Gastname ungültig »

Schon die Verwendung von tocloft ist in Kombination mit scrartcl kritisch zu sehen. Eigentlich braucht man das auch nicht. Es gibt auf komascript.de diverse Beispiele für Anhangsverzeichnisse ohne dieses Paket (dort ggf. auf verlinkte Hinweise auf neuere Versionen achten!). Auch hier im Forum wurden diese Beispiele immer wieder aufgegriffen, wobei man darauf achten sollte, dass man eine Version verwendet, die auf den neueren Beispielen auf komascript.de basiert.

Einstellungen für Verzeichniseinträge beherrscht KOMA-Script über das von Klassen verwendete (und automatisch geladene) Paket tocbasic (siehe KOMA-Script-Anleitung) ebenfalls.


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Formatierung des Anhangsverzeichnisses

Beitrag von esdd »

Mit einer KOMA-Script Klasse solltest Du auf das Paket tocloft verzichten. Die Einträge im Abbildungs- und Tabellenverzeichnis kannst Du mit

\KOMAoptions{listof=entryprefix}
\newcaptionname{ngerman}{\listoflofentryname}{Abb.}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}
\DeclareTOCStyleEntries[entrynumberformat=\toccolon]{tocline}{figure,table}
\newcommand\toccolon[1]{\def\autodot{:}#1}

erhalten.

Das zusätzliche Verzeichnis bekommst Du mit

\newcaptionname{ngerman}{\answername}{Anhang}
\newcaptionname{ngerman}{\listanswername}{Anhangsverzeichnis}
\newcaptionname{ngerman}{\listofansentryname}{\answername}

\DeclareNewTOC[listname={\listanswername}]{ans}

Die neue Überschriftenebene \answer kannst Du wie folgt definieren:

\DeclareNewSectionCommand[
  style=section,
  level=1,
  beforeskip=2ex plus .1ex minus .1ex,
  afterindent=false,
  afterskip=0pt,
  runin=false,
  indent=0pt,
  font=\normalfont\normalsize\bfseries,
  tocstyle=tocline,
  tocindent=0pt,
  tocnumwidth=2em,
  tocentrynumberformat=\toccolon
]{answer}
\renewcommand*{\answerformat}{\answername\,\theanswer\enskip}

Ich habe dabei die Einstellungen aus Deinem MWE übernommen, aber wenigstens noch etwas Abstand vor der Überschrift eingefügt.

Das die answer-Einträge in das neue Verzeichnis statt ins Inhaltsverzeichnis erfolgen, erreichst Du mit

\renewcommand*{\addanswertocentry}[2]{%
  \addxcontentsline{ans}{answer}[#1]{#2}%
}

Beispiel:

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{blindtext}% Fülltext fürs Minimalbeispiel

\KOMAoptions{listof=entryprefix}
\newcaptionname{ngerman}{\listoflofentryname}{Abb.}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}
\DeclareTOCStyleEntries[entrynumberformat=\toccolon]{tocline}{figure,table}
\newcommand\toccolon[1]{\def\autodot{:}#1}

\newcaptionname{ngerman}{\answername}{Anhang}
\newcaptionname{ngerman}{\listanswername}{Anhangsverzeichnis}
\newcaptionname{ngerman}{\listofansentryname}{\answername}

\DeclareNewTOC[listname={\listanswername}]{ans}

\DeclareNewSectionCommand[
  style=section,
  level=1,
  beforeskip=2ex plus .1ex minus .1ex,
  afterindent=false,
  afterskip=0pt,
  runin=false,
  indent=0pt,
  font=\normalfont\normalsize\bfseries,
  tocstyle=tocline,
  tocindent=0pt,
  tocnumwidth=2em,
  tocdynnumwidth,
  tocentrynumberformat=\toccolon
]{answer}
\renewcommand*{\answerformat}{\answername\,\theanswer\enskip}

\renewcommand*{\addanswertocentry}[2]{%
  \addxcontentsline{ans}{answer}[#1]{#2}%
}

\begin{document}
\tableofcontents
\listoffigures

\section{Foo}
\captionof{figure}{Eine Abbildung}
\section{Bar}
\captionof{figure}{Weitere Abbildung}
\captionof{figure}{Dritte Abbildung}

\clearpage  
\addsec*{Anhang}
\listoftoc{ans}
\clearpage

\answer{Name Anhang 1}
\Blindtext[2]
\answer{Name Anhang 2}
\Blindtext[2]
\answer{Name Anhang 3}
\Blindtext[2]
\end{document}

Es wirkt auf mich seltsam, dass die Überschrift »Anhang« genauso eine Abschnittsüberschrift wie das darauffolgende »Anhangsverzeichnis«. Welche Stellung die \answer Überschriften einnehmen, erschließt sich mir auch nicht.

Zuletzt geändert von esdd am Do 1. Apr 2021, 16:58, insgesamt 1-mal geändert.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Formatierung des Anhangsverzeichnisses

Beitrag von KOMA »

Bezüglich der Überschrift »Anhang« will ich mal ganz vorsichtig noch auf: »Wie setzt man korrekt einen Anhang?« hinweisen.


andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Formatierung des Anhangsverzeichnisses

Beitrag von andré01 »

Sehr herzlich sage ich danke für die ausführliche und hilfreiche Erklärung.
tocloft habe ich rausgenommen und die bisherigen Deklarationen auf KOMA-Script umgestellt und mich eben etwas eingelesen. Es funktioniert!

Vielen Dank!

Der Hinweis bzgl. dessen, dass die Überschrift »Anhang« genauso eine Abschnittsüberschrift wie das darauffolgende »Anhangsverzeichnis« darstellt, sehe ich ebenso kritisch. Hier ist es vom Layout eine Vorgabe der Uni, doch das muss ich nicht ungefragt übernehmen.

Eine Frage habe ich noch - eher aus Interesse:
Wie würde eine Gliederung der Anhänge bewerkstelligt werden? Beispiel:

Anhang 1
Anhang 1.1
Anhang 1.2
Anhang 2
...

Ich nehme an, es müsse eine neue Überschriftenebene \answer als subsection definiert werden. Wäre das der Weg?


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Formatierung des Anhangsverzeichnisses

Beitrag von esdd »

Du kannst natürlich so etwas wie \subanswer definieren. Dabei wäre immer noch style=section, aber level=2 oder level=\subsectionnumdepth.

Da \answer aber scheinbar \section entsprechen soll, sollte das vielleicht auch gleich formatiert sein. Das gleiche würde dann auch für \subanswer und \subsection gelten. Dann würde ich eher das folgende verwenden:

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{blindtext}% Fülltext fürs Minimalbeispiel

\KOMAoptions{listof=entryprefix}
\newcaptionname{ngerman}{\listoflofentryname}{Abb.}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}
\DeclareTOCStyleEntries[entrynumberformat=\toccolon]{tocline}{figure,table}
\newcommand\toccolon[1]{\def\autodot{:}#1}

\newcaptionname{ngerman}{\listappendixname}{Anhangsverzeichnis}
\newcaptionname{ngerman}{\listofatocentryname}{Anhang}

\DeclareNewTOC[owner=\jobname,listname={\listappendixname}]{atoc}

\DeclareTOCStyleEntry[
  level:=section,
  beforeskip:=section,
  indent:=section,
  numwidth:=section,
  entryformat=\usekomafont{sectionentry},
]{tocline}{asection}
\DeclareTOCStyleEntry[
  level:=subsection,
  beforeskip:=subsection,
  indent:=subsection,
  numwidth:=subsection,
]{tocline}{asubsection}
\DeclareTOCStyleEntries[
  dynnumwidth,
  entrynumberformat=\appendixname\enskip\toccolon
]{tocline}{asection,asubsection}

\makeatletter
\AfterTOCHead[atoc]{\let\if@dynlist\if@tocleft}
\newcommand*{\appendixmore}{%
  %Disclaimer:
  %Die Gliederung des Dokuments ist in meinen Augen inkonsistent und fragwürdig.
  %Ich würde also davon abraten, das so zu machen, auch wenn es möglich ist.
  \clearpage
  \addsec*{Anhang}
  \listoftoc{atoc}
  \clearpage
  \renewcommand*{\thesection}{\arabic{section}}%
  \renewcommand*{\sectionformat}{\appendixname\,\thesection\autodot\enskip}%
  \renewcommand*{\subsectionformat}{\appendixname\,\thesubsection\autodot\enskip}%
  \renewcommand*{\ext@toc}{atoc}%
  \renewcommand*{\addsectiontocentry}[2]{\addtocentrydefault{asection}{##1}{##2}}%
  \renewcommand*{\addsubsectiontocentry}[2]{\addtocentrydefault{asubsection}{##1}{##2}}%
}
\makeatother

\begin{document}
\tableofcontents
\listoffigures

\section{Foo}
\captionof{figure}{Eine Abbildung}
\section{Bar}
\captionof{figure}{Weitere Abbildung}
\captionof{figure}{Dritte Abbildung}

\appendix

\section{Name Anhang 1}
\subsection{Foo}
\Blindtext[2]
\subsection{Bar}
\Blindtext[2]
\section{Name Anhang 2}
\Blindtext[2]
\section{Name Anhang 3}
\Blindtext[2]
\end{document}
Zuletzt geändert von esdd am Di 13. Apr 2021, 10:19, insgesamt 2-mal geändert.

andré01
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Formatierung des Anhangsverzeichnisses

Beitrag von andré01 »

Herzlichen Dank für die ausführliche Hilfe!
Es funktioniert, und ich schaue mir es inhaltlich noch genauer an.


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Formatierung des Anhangsverzeichnisses

Beitrag von esdd »

Besser wäre es über das Anhangsverzeichnis nur eine der beiden Abschnittsüberschriften zu setzen, also entweder »Anhang« oder »Anhangsverzeichnis« und dann direkt die Einträge folgen zu lassen. Außerdem sollte man die Nummerierung mit Großbuchstaben für die Abschnitte im Anhang beibehalten und dafür auf den damit überflüssigen Präfix »Anhang« verzichten.

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage{blindtext}% Fülltext fürs Minimalbeispiel

\KOMAoptions{listof=entryprefix}
\newcaptionname{ngerman}{\listoflofentryname}{Abb.}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}
\DeclareTOCStyleEntries[entrynumberformat=\toccolon]{tocline}{figure,table}
\newcommand\toccolon[1]{\def\autodot{:}#1}

\providecaptionname{ngerman}{\appendixname}{Appendix}
\newcaptionname{ngerman}{\listappendixname}{\appendixname}% oder vielleicht besser »Anhangsverzeichnis«

\DeclareNewTOC[owner=\jobname,listname={\listappendixname},setup=totoc]{atoc}

\makeatletter
\AfterTOCHead[atoc]{\let\if@dynlist\if@tocleft}
\newcommand*{\appendixmore}{%
  \clearpage
  \listoftoc{atoc}
  \renewcommand*{\ext@toc}{atoc}%
}
\makeatother

\begin{document}
\tableofcontents
\listoffigures

\section{Foo}
\captionof{figure}{Eine Abbildung}
\section{Bar}
\captionof{figure}{Weitere Abbildung}
\captionof{figure}{Dritte Abbildung}

\appendix

\section{Name Anhang 1}
\subsection{Foo}
\Blindtext[2]
\subsection{Bar}
\Blindtext[2]
\section{Name Anhang 2}
\Blindtext[2]
\section{Name Anhang 3}
\Blindtext[2]
\end{document}

Antworten