Inhaltsverzeichnis, Kapitelnamen mit/ohne Nr. auf einer Höhe

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Inhaltsverzeichnis, Kapitelnamen mit/ohne Nr. auf einer Höhe

von Karawane » Fr 22. Nov 2013, 09:17

Herzlichen Dank, Noch so einer!
Und Du hast sicherlich recht mit der Kommentierung, ja.

Gruß K.

von Noch so einer » Fr 22. Nov 2013, 09:15

Besserwisser hat geschrieben:Die nächste KOMA-Script-Version scheint dafür übrigens einen Option toc=nonumberline zu bieten.
Wohl eher umgekehrt:
  • toc=nonumberline entspricht der Voreinstellung, bei der nicht nummerierte Einträge linksbündig mit den Nummern sind
  • toc=numberline entspricht dem hier Gewünschten, bei dem die nicht nummerierten Einträge linksbündig mit dem Text der nummerierten Einträge sind.

von Besserwisser » Fr 22. Nov 2013, 08:52

Die nächste KOMA-Script-Version scheint dafür übrigens einen Option toc=nonumberline zu bieten.

von Noch so einer » Fr 22. Nov 2013, 07:52

Der Punkt kommt vom \autodot, das KOMA-Script beim ersten Argument von \numberline einfügt, um den Punkt bei nicht rein arabischer Nummerierung einzufügen. Mit einer kleinen Änderung, lässt sich dieser beseitigen:
\documentclass{scrbook}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*{\addchaptertocentry}[2]{%
  \ifstr{#1}{}{%
    \addtocentrydefault{chapter}{% \autodot für diesen Eintrag deaktivieren
      \protect\let\protect\autodot\protect\relax
    }{#2}%
  }{%
    \addtocentrydefault{chapter}{#1}{#2}%
  }%
}
\begin{document}
\tableofcontents
\addchap{Vorwort}
\chapter{Erster Kapitel}
\chapter{Zweites Kapitel}
\end{document}
Ich würde Dir außerdem empfehlen, die Formatierung des Quellcodes übersichtlich zu halten und auch die Kommentare aus meinem ursprünglichen Beitrag zu erhalten, damit man wenigstens eine leise Ahnung davon hat, was da gemacht wird. Wenn Du das hingegen zu Spaghetti-Code umwandelst blickt da niemand mehr durch.

von Karawane » Do 21. Nov 2013, 19:38

Vielen Dank für die Antworten! Das klappt so. Allerdings taucht in meinem Dokument ein weiteres Problem auf, da ich die Nummerierung der Kapitelüberschriften über
\renewcommand{\thechapter}{\Roman{chapter}}
also römische Ziffern anzeigen lasse. Damit kriege ich im Inhaltsverzeichnis vor dem Vorwort einen Punkt (der sonst nach der römischen Ziffer steht).

Mit dem Vorschlag von Noch so einer sieht das dann so aus:
\documentclass{scrbook}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*{\addchaptertocentry}[2]{%
  \ifstr{#1}{}{\addtocentrydefault{chapter}{\protect\null}{#2}}{\addtocentrydefault{chapter}{#1}{#2}}}
\begin{document}
\tableofcontents
\addchap{Vorwort}
\chapter{Erster Kapitel}
\chapter{Zweites Kapitel}
\end{document}
Woher kommt der Punkt (der hinter den römischen Ziffern durchaus sein soll) und wie kriege ich ihn weg?

Danke, Gruß K.

von Besserwisser » Mi 20. Nov 2013, 08:36

Findet außer mir niemand, dass das so gar nicht mehr schön aussieht bzw. erst, wenn man auch noch Option toc=flat angibt?

von Noch so einer » Mi 20. Nov 2013, 08:34

Es gibt auch eine wirklich saubere Lösung, die alle \addsec-Einträge behandelt:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\typearea{calc}

\renewcommand*{\addsectiontocentry}[2]{%
  \ifstr{#1}{}{% Eintrag ohne Nummer:
    % mit "Null-Nummer" versehen.
    \addtocentrydefault{section}{\protect\null}{#2}%
  }{%
    % Eintrag mit Nummer
    \addtocentrydefault{section}{#1}{#2}%
  }%
}

\begin{document}

\tableofcontents

\addsec{Vorwort}

Es gibt auch eine wirklich saubere Lösung dieses Problems.

\section{Erstes Kapitel}

\end{document}
Wenn ich den FAQ-Eintrag »Wie kann man im Inhaltsverzeichnis die Seitenzahlen für Kapiteleinträge unterdrücken?« von gestern (der mich überhaupt erst auf die Idee gebracht hat) richtig deute, dann wird diese Lösung ab KOMA-Script 3.12 auch für die Inhaltsverzeichniseinträge gelten, die von Option listof=totoc gesetzt werden. Derzeit ist das leider noch nicht der Fall. Dem Vernehmen nach müssen wir auch nicht mehr allzu lange auf KOMA-Script 3.12 warten.

von skater » Mi 20. Nov 2013, 03:35

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\typearea{calc}
\begin{document}

\tableofcontents

\section*{Vorwort}
\addcontentsline{toc}{section}{\protect\numberline{}Vorwort}

Deine \emph{unsaubere} Lösung ist schon die richtige Richtung.
Die \emph{saubere} Version findet sich im \emph{›LaTeX-Begleiter‹} auf Seite~50.

\section{Erstes Kapitel}

\end{document}

von Sepp99 » Mi 20. Nov 2013, 00:49

Eventuell
\addchap
in der Doku von KOMA-Script nachgelesen?

Sepp

Inhaltsverzeichnis, Kapitelnamen mit/ohne Nr. auf einer Höhe

von Karawane » Mi 20. Nov 2013, 00:44

Guten Abend,

ich habe ein Problem mit der Formatierung des Inhaltsverzeichnisses und finde im Forum und im Komascript-FAQ lauter ähnliche Fragen und Antworten, aber nicht genau das, was ich brauche:

In meiner Arbeit gibt es ein Vorwort, das im Inhaltsverzeichnis im Stil einer Kapitelüberschrift aufgenommen werden soll, allerdings ohne Nummer. Die folgenden Kapitel tragen eine Nummer.

Nun steht im Inhaltsverzeichnis "Vorwort" und dann die Nummern der folgenden Kapitel auf einer Höhe; schöner wäre allerdings, wenn "Vorwort" auf der Höhe vom ersten Kapitelnamen stünde, also passend nach rechts eingerückt wäre.
\documentclass{scrbook}

\begin{document}
\tableofcontents
\chapter*{Vorwort}
\addcontentsline{toc}{chapter}{Vorwort}
\chapter{Erster Kapitel}
\chapter{Zweites Kapitel}
\end{document}
Eine unsaubere Lösung wäre natürlich, sich mittels \hspace was zu bauen, also
....
\addcontentsline{toc}{chapter}{\hspace{....} Vorwort}
....
aber kennt jemand eine saubere Lösung?

Gruß K.

Nach oben