In letzter Zeit häufen sich bei mir im Support die Nachfragen, wie man das Wort »Anhang« nicht nur den Überschriften der Anhänge (aka Kapitel im Anhang) voranstellen kann, sondern auch im Inhaltsverzeichnis vor die Nummern bekommt.
Seit KOMA-Script 3.10 werden die Einträge ins Inhaltsverzeichnis nicht mehr direkt vorgenommen, sondern über \addchaptertocentry
. Diese, in der KOMA-Script-Anleitung dokumentierte Anweisung kann man innerhalb von \appendix
nun einfach so umdefinieren, dass sie nummerierte Einträge in der gewünschten Form erstellt:
\usepackage{etoolbox} \providecommand*{\appendixmore}{}% Falls Option headings=appendixprefix nicht verwendet wurde. \newcommand*{\SavedOriginaladdchaptertocentry}{} \appto\appendixmore{% \let\SavedOriginaladdchaptertocentry\addchaptertocentry \renewcommand*{\addchaptertocentry}[2]{% \ifstr{#1}{}{% Eintrag ohne Nummer \SavedOriginaladdchaptertocentry{}{#2}% }{% Eintrag mit Nummer \SavedOriginaladdchaptertocentry{}{\appendixname~#1:\enskip#2}% }% }% }
Das angehängte Beispiel verwendet außerdem noch Option headings=appendixprefix
, funktioniert aber auch ohne und trifft Vorbereitungen für den Fall, dass \appendixname
ein Wort in Kleinbuchstaben liefert, der Eintrag aber natürlich mit einem Großbuchstaben beginnen soll. Zu beachten ist ggf. noch, dass der von \autodot
normalerweise gesetzte Punkt hier durch einen expliziten Doppelpunkt ersetzt wurde.
Es ist zu beachten, dass die Nummer in diesem Beispiel nicht mehr als Nummer, sondern als Text gesetzt wird. Damit hat sie auch keine Auswirkungen auf die Nummernbreite im Fall von toc=flat
.
Außerdem werden nicht nummerierte Kapitel ohne den Präfix gesetzt. Ich denke, das ist im Sinne der Anwender, weil sonst beispielsweise das Literaturverzeichnis oder das Stichwortverzeichnis ebenfalls den Präfix hätte. Man kann das aber auch einfach ändern, indem man für den Eintrag ohne Nummer, also das dritte Argument von \ifstr
\SavedOriginaladdchaptertocentry{}{\appendixname~#2}%
verwendet. Dann muss man aber ggf. vor dem Literatur- oder Stichwortverzeichnis zusätzlich ein
\let\addchaptertocentry\SavedOriginaladdchaptertocentry
einfügen, um ab dieser Stelle den Präfix wieder abzuschalten.
Für den Fall der Verwendung von scrartcl sei hier lediglich darauf hingewiesen, dass eine Anpassung durch Verwendung von \addsectiontocentry
problemlos möglich sein sollte.
Anhang | Größe |
---|---|
![]() | 1.88 KB |
![]() | 113.42 KB |
Kommentare
Tippfehler
Hi,
du hast in dem Code leider einen Tippfehler. Du hast dreimal
\SavedOriginalchaptertocentry
und einmal\SavedOriginaladdchaptertocentry
geschrieben. Ich hoffe es ist in Ordnung, dass ich dein Beispiel neben meiner eigenen Lösung auf TeXWelt weiter verbreitet habe. Im dem angehängten Quellcode ist es übrigens korrekt.Danke
Danke für den Hinweis. Da hatte ich glatt vergessen, die Korrekturen, die ich im tatsächlich verwendeten Code des Beispiels vorgenommen habe, wieder zurück zu kopieren.
Interessant wird nun natürlich, welcher Code sich verbreiten wird: der vereinfachte, den ich aus didaktischen Gründen hier im Beitrag verwende und den Du auch für TeXwelt kopiert hast, oder der verbesserte, der im Beispiel verwendet wird. Dort ist übrigens auch die Lizenzfrage für das Beispiel selbst geklärt.
Ich empfehle die Verwendung des Codes aus dem angehängten Beispiel.
BTW: Dem Verfasser ToF-SIMS auf TeXwelt könnte man noch erklären, dass er auch mit fancyhdr
\chaptermarkformat
verwenden kann. Wenn er sich dazu durchringen könnte scrpage2 statt fancyhdr zu verwenden, käme er eventuell sogar in den Genuss der automatischen Verwendung von\chaptermarkformat
einschl. ggf. der Beachtung von Optionheading=appendixprefix
.Empfehlen würde ich es übrigens nicht
Ich habe vergessen darauf hinzuweisen, dass ich solche Einträge ins Inhaltsverzeichnis nicht wirklich empfehlen kann. Das Inhaltsverzeichnis wird so inkonsistent (schließlich steht vor den Kapiteln im Hauptteil auch nicht »Kapitel« und umbrochene Überschriften unterscheiden sich auch) und der Nutzen der ständigen Wiederholung des Wortes »Anhang« ist marginal.
Gezeigt habe ich das eher, weil es nun einmal von diversen Laien und solchen, die sich nach von Laien erstellten Formatierungsvorschriften richtigen müssen, nachgefragt wird …
Auch für "scrartcl"?
Danke für das super Beispiel. Das ist, was ich gesucht habe.
Leider verwende ich für meine Hausarbeit den Type "scrartcl" und nicht "scrbook". Da sind keine Chapter vorgesehen, aber durch die kleine Anpassung in
addsectiontocentry
klappt's auch mit dem Inhaltsverzeichnis.Aber leider wird damit im Text selbst nicht mehr "Anhang A" hingeschrieben, sondern einfach nur "A. Überschrift".
Hast du dafür noch eine Lösung? Vielen Dank!
\sectionformat umdefinieren
Für die Gliederungsnummer der Abschnitte ist
\sectionformat
zuständig. Das kannst Du analog umdefinieren:Falls der Präfix irgendwo wieder abgeschaltet werden muss, dann muss an der Stelle noch zusätzlich
eingefügt werden.
Mit aktuellem KOMA-Script kann man übrigens auch einen eigenen Eintragungsstil für die Abschnitte im Anhang definieren:
Damit wird die Gliederungsnummer im Inhaltsverzeichnis auch für die Anhangsabschnitte als Nummer gesetzt, weshalb ein eventuelles
toc=flat
auch auf diese Einträge wirkt. Außerdem unterscheiden sich umbrochene Überschriften dort nicht mehr.Punkt nach Kapitelnummer
Danke für die schnelle, tolle Lösung! Respekt!
Warum wird aber (sowohl bei der "scrartcl"- als auch bei der "scrbook"-Variante) nach der Kapitelnummer immer ein Punkt gesetzte? Also "1.2.3." statt "1.2.3", analog "A.1.2." statt "A.1.2"?
Mit der Option
\documentclass[pointlessnumbers]{scrartcl}
wird der Punkt zwar entfernt, aber dann fehlt wieder das "Anhang A" im Text :-(pointlessnumbers ist veraltet
Woher der Punkt kommt, steht in der Anleitung bei der Erklärung zu Option
numbers=
Einstellung.Quellen, die nach über 12 Jahren noch immer
pointlessnumbers
verwenden, solltest Du misstrauen.scrartcl
gibt bei ihrer Verwendung übrigens auch eine Warnung mit Erklärung, wie man es besser macht, aus. Genau das solltest Du auch beachten, weil sonst nämlich diverse Verbesserungen von KOMA-Script aus Kompatibilitätsgründen deaktiviert werden. Genau das ist hier auch das Problem.Die Verwendung veralteter
Die Verwendung veralteter Optionen legt nahe, dass es sich um ein altes Dokument handelt. Um für ältere Dokumente Kompatibilität zu ermöglichen, stellt KOMA-Script dann automatisch
version=first
ein. Bis einschließlich Version 3.16 wurde aber die alte, kompliziertere Anweisung\othersectionlevelsformat
für die Formatierung der Gliederungsnummern von Abschnitten und tiefer liegenden Gliederungsebenen genutzt. Aus Kompatibilitätsgründen ist das auch jetzt noch so, wenn fürversion
etwas bis einschließlich 3.16 eingestellt ist. Damit hat die Umdefinition von\sectionformat
mit dem von der veralteten Option verursachtenversion=first
keinen Einfluss mehr auf das Ergebnis.Das ist ein Beispiel dafür, dass man auch Warnungen immer anschauen sollte. Wie Markus schon geschrieben hat, wird man dort auf das Problem aufmerksam gemacht und erhält den Hinweis, dass die veraltete Option durch
numbers=noenddot
ersetzt werden muss.Im KOMA-Script Buch gibt es übrigens auch eine Tabelle der obsoleten Optionen mit den zugehörigen aktuellen Einstellungen, die statt dessen verwendet werden müssen.
Eigentlich nicht
Überschriften mit Präfixzeile sind unterhalb der Kapitelebene so unüblich, dass keine der KOMA-Script-Klassen das unterstützt. Natürlich könnte man
\sectionlinesformat
fürsection
entsprechend umdefinieren. Ich würde davon aber abraten und das wirklich nur auf Kapitelebene also mit scrbook oder scrreprt verwenden (und dann auch nur entweder im Hauptteil und im Anhang oder gar nicht).