Sie sind hier

\chapter Nummerierungseintrag im Literaturverzeichnis / Kapitelüberschrift ändern

Hallo,

ich würde gerne das Skript meines Profs texen (also schön machen und um eigene Sachen ergänzen) ;) .
Dazu möchte ich den Nummerierungseintrag im Literaturverzeichnis ändern. Also anstelle von "1 Text", möchte ich gerne "LE01 Text" sowohl im LiteraturVZ sowie als Kapitelüberschrift stehen haben. Und dies natürlich für alle folgenden Kapitel...

Weiß leider nicht wie das geht? Hat jemand ne Idee?????? :)

LG, Maeya

Bild von Markus Kohm

Ich verstehe nämlich nicht, was Literaturverzeichnis und Kapitelüberschriften miteinander zu tun haben. Beim Inhaltsverzeichnis wäre mir das hngegen schon eher klar. Bitten den Link in diesem Beitrag beachten.

Ja nachdem, ob man scrartcl oder scrreprt bzw. scrbook verwendet, kann man die Überschrift des Literaturverzeichnisses mit

\renewcaptionname{ngerman}{\refname}{LEO1 Literatur}

oder

\renewcaptionname{ngerman}{\bibname}{LEO1 Literatur}

ändern.

Wer sich selbst zu wichtig nimmt, braucht von anderen nicht mehr wichtig genommen zu werden.

Hallo,
habe mich wohl unklar ausgedrückt. So wie es verstanden wurde, hat es natürlich nix miteinander zu tun.

Also ich benutze scrbook und wollte erst den \part umbenennen.

\renewcommand\thepart{LE\arabic{part}}

Das hatte zur Folge, dass die Überschrift von \part zwar anders war, aber der Eintrag im LitVZ immernoch "Teil 1 TEXT" war.

Jetzt fange ich eine Gliederungsebene tiefer an, also mit Chapter. Ich wüsste gerne wie ich es für \chapter (auch gerne für \part, wenn ich mich mal wieder umentscheide), erreiche, dass es anders heißt und dementsprechend auch in das Literaturverzeichnis eingetragen wird.
Also:
anstelle von "1 Chapter-Titel" möchte ich dass da "LE 01 Chapter-Titel" steht. Für das zweite Kapitel dann anstatt "2 Chapter-Titel" jetzt "LE 02 Chapter-Titel", für die anderen Kapitel analog. Wie das für \part laufen würde, interessiert mich auch, wenn die Lösung bekannt ist.

Ich will also die Nummerierung bzw. die römische Zahl mit "LE 01 " ersetzen. Die Zahl soll sich zweistellig natürlich der Kapitelanzahl anpassen.

Irgendwie verständlich? Kennst du dazu die Lösung?

LG, maeya

Bild von Markus Kohm

Bist Du ganz sicher, dass Du das Literaturverzeichnis meinst? Schau doch bitte mal meinen Kommentar von heute Vormittag an und richte Dich danach, dann kann man Dir sicher helfen. Anderenfalls sehe ich Frust auf dem Vormarsch.

Sorry, bin mit dem falschen Fuß und ohne Gehirn aufgestanden... kein Wunder...

Also ich benutze scrbook und wollte erst den \part umbenennen.

\renewcommand\thepart{LE\arabic{part}}

Das hatte zur Folge, dass die Überschrift von \part zwar anders war, aber der Eintrag im InhaltsVZ immernoch "Teil 1 TEXT" war.

Jetzt fange ich eine Gliederungsebene tiefer an, also mit Chapter. Ich wüsste gerne wie ich es für \chapter (auch gerne für \part, wenn ich mich mal wieder umentscheide), erreiche, dass es anders heißt und dementsprechend auch in das Inhaltsverzeichnis eingetragen wird.
Also:
anstelle von "1 Chapter-Titel" möchte ich dass da "LE 01 Chapter-Titel" steht. Für das zweite Kapitel dann anstatt "2 Chapter-Titel" jetzt "LE 02 Chapter-Titel", für die anderen Kapitel analog. Wie das für \part laufen würde, interessiert mich auch, wenn die Lösung bekannt ist.

Ich will also die Nummerierung bzw. die römische Zahl mit "LE 01 " ersetzen. Die Zahl soll sich zweistellig natürlich der Kapitelanzahl anpassen.

Macht mein Problem jetzt Sinn? :)

LG, maeya

Bild von Markus Kohm

Ich habe gerade wenig Zeit (heute morgen hätte ich mehr gehabt) und Du hast leider kein vollständiges Minimalbeispiel geliefert (obwohl das in dem Link den Du Dir anschauen solltest ausdrücklich erwähnt ist - BTW: Die dort erwähnte Code-Auszeichnung fehlt in Deinem Beitrag ebenfalls), mit dem ich schnell hätte testen können. Also nur ganz kurz: Dein Weg mit der Umdefinierung von \thepart war durchaus richtig. Bei \chapter heißt die entsprechende Anweisung logischerweise \thechapter. Für das Inhaltsverzeichnis ist wichtig, dass im ersten LaTeX-Lauf nach der Änderung erst die geänderte Form in die aux- und toc-Datei geschrieben wird und im zweiten LaTeX-Lauf diese Änderungen dann wieder eingelesen und damit das Inhaltsverzeichnis geändert wird.

Natürlich wirkt sich die Änderung auch auf alle anderen Verwendungen von \thechapter aus, beispielsweise bei \thesection, \thefigure etc. (was man ggf. alles umdefinieren könnte) und bei \label/\ref.

Die zweistellige Ausgabe, also die ggf. voranzustellende 0, kann eventuell mit Hilfe des ifthen-Pakets und einem Test, ob der Zähler chapter (also \value{chapter}) kleiner als 10 ist, erreicht werden.

Bild von Markus Kohm

Ich knapse mir jetzt mal etwas Zeit ab, um das Problem nochmal aufzugreifen. Die einfachste Lösung mit part wäre:

\documentclass[toc=flat]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
 
\newcommand*{\arabictwodigits}[1]{%
  \ifnum\value{#1}<10\relax 0\fi\arabic{#1}%
}
\renewcommand*{\thepart}{LE\arabictwodigits{part}}
 
\begin{document}
\title{Testdokument}
\author{Meinereiner}
\maketitle
\tableofcontents
\part{Ein Teil}
\Blinddocument
\part{Noch ein Teil}
\blinddocument
\end{document}

Dabei nutze ich zunächst einmal aus, dass der part-Zähler nur für die eigenen Überschriften verwendet wird. Es kann also direkt \thepart umdefiniert werden. Die neu definierte Anweisung \arabictwodigits sorgt dabei nur dafür, dass die Nummer min. zwei Ziffern hat. Die Option toc=flat wurde notwendig, weil der Platz für die Teil-Nummer im Inhaltsverzeichnis normalerweise nicht für vier Zeichen reicht. Also wurde auf den alternativen Inhaltsverzeichnisstil umgeschaltet, bei dem der benötigte Platz automatisch bestimmt wird (benötigt ggf. einen zusätzlichen LaTeX-Lauf).

Nun könnte man diese Lösung natürlich einfach für den chapter-Zähler adaptieren. Hier ergibt sich aber das Problem, dass dann der Präfix und ggf. die führende 0 überall auftritt, wo \thechapter sonst noch verwendet wird. Eine erste Lösung für dieses Problem wäre:

\documentclass[toc=flat]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
 
\newcommand*{\arabictwodigits}[1]{%
  \ifnum\value{#1}<10\relax 0\fi\arabic{#1}%
}
\renewcommand*{\thechapter}{LE\arabictwodigits{chapter}}
\renewcommand*{\thesection}{\arabic{chapter}.\arabic{section}}
\renewcommand*{\thefigure}{\arabic{chapter}.\arabic{figure}}
\renewcommand*{\thetable}{\arabic{chapter}.\arabic{table}}
\renewcommand*{\theequation}{\arabic{chapter}.\arabic{equation}}
\begin{document}
\title{Testdokument}
\author{Meinereiner}
\maketitle
\tableofcontents
\Blinddocument
\chapter{Ein Test am Ende}
\label{cha:test}
\blindtext
\chapter{Noch ein Kapitel}
Siehe auch Kapitel~\ref{cha:test}.
\end{document}

Auf der letzten Seite ist zu sehen, dass in dem Fall aber auch ein Verweis im Text den Präfix verwendet.

Sehr, sehr viel trickreicher und sicher mehr, als ein Anfänger verstehen würde, wäre dann eine Lösung mit Hilfe von tocstyle, bei der eben \thechapter gar nicht erst umdefiniert wird, sondern der Präfix und ggf. die zusätzliche 0 nur bei der Überschrift selbst und deren Verwendung in Kolumnentitel und Inhaltsverzeichnis hinzugefügt wird:

\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
 
\newcommand*{\arabictwodigits}[1]{%
  \ifnum\value{#1}<10\relax 0\fi\arabic{#1}%
}
 
\newcommand*{\thespecialchapter}{LE\arabictwodigits{chapter}}
\makeatletter
% Ein Beispiel dafür, was man im Anhang machen könnte:
\g@addto@macro\appendix{%
  \gdef\thespecialchapter{LE-\Alph{chapter}}%
}
\makeatother
 
\renewcommand*{\chapterformat}{%
  \mbox{\chapappifchapterprefix{\nobreakspace}% bisher original von scrrept.cls
    \thespecialchapter% hier geändert
    \autodot\enskip}% das ist wieder original scrreprt.cls
}
\renewcommand*\chaptermarkformat{%
  \chapappifchapterprefix{\ }%
  \thespecialchapter% siehe oben
  \autodot\enskip}
 
\usepackage{tocstyle}
\usetocstyle{KOMAlike}
\makeatletter
\settocfeature[toc][0]{entryhook}{%
  % Jetzt wird es etwas kompliziert:
  \let\ThisIsNumberline\numberline
  \renewcommand*{\numberline}[1]{%
    \ThisIsNumberline{%
      LE\begingroup
        % Und jetzt wird es richtig haarig:
        \def\gobbletil@nil####1\@nil{\def\@tempa{####1}}%
        \afterassignment\gobbletil@nil
        \@tempcnta=0##1\noexpand\@nil
        \showthe\@tempcnta
        \ifx\@tempa\@empty
          \ifnum ##1<10\relax 0\fi
        \else
          -%
        \fi
      \endgroup
      ##1%
    }%
  }%
}
\makeatother
 
\pagestyle{headings}
\begin{document}
\title{Testdokument}
\author{Meinereiner}
\maketitle
\tableofcontents
\Blinddocument
\chapter{Ein Test am Ende}
\label{cha:test}
\blindtext
\appendix
\chapter{Noch ein Kapitel}
Siehe auch Kapitel~\ref{cha:test}.
\end{document}

Dabei werden dann auch die Einstellungen für Option numbers berücksichtigt, wie man leicht sieht, wenn man mal \documentclass[numbers=noenddot]{scrreprt} verwendet.

Die richtig haarige Stelle in dem Code sorgt übigens nur dafür, dass auch de ranhang noch funktioniert, bei dem ja im Argument von \numberline keine Zahl, sondern ein Buchstabe steht. In dem Fall wird dann der Buchstabe weggeworfen und dem Testzähler eine 0 zugewiesen. Man könnte das auch anders lösen (nämlich über eine Anweisung, die erkennt, ob die das Argument eine Zahl ist oder nicht – KOMA-Script hat sogar so einen Vergleich).

Comments for "\chapter Nummerierungseintrag im Literaturverzeichnis / Kapitelüberschrift ändern" abonnieren