Sie sind hier

Andere Aufzählung von Überschriften im Inhaltsverzeichnis

Hallo :-)

Ich habe die Numerierung meiner Überschriften folgendermaßen definiert:

\usepackage{greekctr}
\renewcommand{\thechapter}{\Alph{chapter}.\hspace{0.5em}}
\renewcommand{\thesection}{\Alph{chapter}. \Roman{section}.\hspace{0.5em}}
\renewcommand{\thesubsection}{\Alph{chapter}. \Roman{section}. \arabic{subsection}.\hspace{0.5em}}
\renewcommand{\thesubsubsection}{\Alph{chapter}. \Roman{section}. \arabic{subsection}. \alph{subsubsection})\hspace{0.5em}}
\renewcommand{\theparagraph}{\Alph{chapter}. \Roman{section}. \arabic{subsection}. \alph{subsubsection}) \greek{paragraph})\hspace{0.5em}}

Wie mache ich LaTeX klar, daß es im Inhaltsverzeichnis nur die letzte Aufzählung benutzen soll, also z.B. für \subsection einfach nur "\arabic{subsection}" anstatt "\Alph{chapter}. \Roman{section}. \arabic{subsection}."?

MfG, Libby

Bild von Markus Kohm

Da beim Schreiben der TOC-Einträge ebenfalls \the... verwendet wird, geht das nicht ohne massive Eingriffe (die LaTeX-Kernel-Anweisungen für die Definition von Gliederungsbefehlen müsste so geändert werden, dass nicht \the..., sondern etwas anderes verwendet wird). Möglicherweise hilft eines der Pakete, das in der [weblink:detexfaq] für die Umdefinierung von Verzeichnissen, angegeben ist.

Hmmm ... das hab ich mir schon gedacht. Die TeX-FAQ hab ich schon gewälzt und bin zu keinem Schluß gekommen ...

Man müßte also quasi die Befehle \chapter, \section, etc. so umdefinieren, daß sie einerseits für das Dokument die mit \renewcommand{\the...}{...} definierten Aufzählungen setzen, aber andererseits fürs TOC einen Alternativbefehl benutzen ... also sowas wie \tocthe... und wenn der nicht angegeben ist, dann halt das normale \the...
Ich bin bloß davon ausgegangen, daß es sicherlich ein Paket gibt, das das macht, und ich es bloß nicht gefunden habe. Sollte das nicht der Fall sein, dürfte es soch aber eigentlich nicht allzu schwer fallen, ein entsprechendes Paket zu schreiben! Wo sind denn die Sektionsbefehle definiert?

Natürlich kann man das Problem lösen, indem man die .toc-Datei per Hand editiert -- aber das ist ja nicht unbedingt die "feine englische Art" ;-)

Ich habe mittlerweile ein Script, das das Problem _fast_ löst:

http://forums.gentoo.org/viewtopic-p-2352885.html#2352885

Es gibt allerdings noch ein Problem mit dem \chapter-Befehl! Wenn mir jemand damit weiterhelfen könnte, könnte ich ein Paket schreiben, das diese Nummerierung automatisch einstellt ...

Bild von Markus Kohm

Wenn man die KOMA-Script-Anleitung gründlich studiert und die dort beschriebenen wohl definierten Schnittstellen verwendet, dann besteht eigentlich der einzige notwendige Trick bei der Geschichte noch darin, dafür zu sorgen, dass \addcontentsline für \the... etwas anderes verwendet. Bis auf den Trick mit \makeautobrace ist das folgende Beispiel eigentlich ziemlich trivial:

\documentclass[a4paper,12pt]{scrreprt} 
 
\setcounter{secnumdepth}{5} 
\setcounter{tocdepth}{5} 
 
\usepackage{greekctr} 

\renewcommand{\thechapter}{\Alph{chapter}}
\renewcommand{\thesection}{\thechapter.\Roman{section}} 
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}
\renewcommand{\thesubsubsection}{\thesubsection.\alph{subsubsection}}
\renewcommand{\theparagraph}{%
   \thesubsubsection)\nobreakspace\greek{paragraph}} 
 
\newcommand{\tocthechapter}{\Alph{chapter}}
\newcommand{\tocthesection}{\Roman{section}}
\newcommand{\tocthesubsection}{\arabic{subsection}}
\newcommand{\tocthesubsubsection}{\makeautobrace\alph{subsubsection}}
\newcommand{\toctheparagraph}{\makeautobrace\greek{paragraph}}
 
\newcommand*{\AddContentsLine}{}
\let\AddContentsLine\addcontentsline
\renewcommand*{\addcontentsline}[3]{%
  \begingroup
  \let\thechapter\tocthechapter
  \let\thesection\tocthesection
  \let\thesubsction\tocthesubsection
  \let\thesubsubsection\tocthesubsubsection
  \let\theparagraph\toctheparagraph
  \let\thesubparagraph\tocthesubparagraph
  \AddContentsLine{#1}{#2}{#3}%
  \endgroup
}
\makeatletter
\newcommand*{\autobrace}{\if@altsecnumformat%(
  )\fi}
\makeatother
\DeclareRobustCommand*{\makeautobrace}{\let\autodot\autobrace}

\renewcommand*{\othersectionlevelsformat}[1]{\csname #1format\endcsname}
\newcommand*{\sectionformat}{\thesection\autodot\enskip}
\newcommand*{\subsectionformat}{\thesubsection\autodot\enskip}
\newcommand*{\subsubsectionformat}{\thesubsubsection\autobrace\enskip}
\newcommand*{\paragraphformat}{\theparagraph\autobrace\enskip}
\newcommand*{\subparagraphformat}{\thesubparagraph\autodot\enskip}

\begin{document} 
 
\tableofcontents 
 
\chapter{Chapter}Text 
\section{Section}Text 
\subsection{Subsection}Text 
\subsubsection{Subsubsection}Text 
\paragraph{Paragraph}Text 
\paragraph{Paragraph}Text 
\subsubsection{Subsubsection}Text 
\subsection{Subsection}Text 
\subsubsection{Subsubsection}Text 
\section{Section}Text 
\chapter{Chapter}Text 
 
\end{document}

Dass da stattdessen an sämtlichen Gliederungsbefehlen ziemlich umständlich herumgedoktert wird, und dann ein zu erwartendes Problem daraus resultiert, ist mir unbegreiflich. Wenn man das Verhalten von Paketen ändern will, sollte das Studium der Anleitung doch wohl der erste Schritt sein!

Dass oben auch ohne pointednumbers das richtige Ergebnis herauskommt, sollte dann auch nicht weiter wundern. Schließlich kommen Buchstaben etc. in den Gliederungsnummern vor.

... dafür, daß ich _kein_ LaTeX-Papst bin und keine (elegante) Lösungsmöglichkeit für das Problem gesehen habe. Trotzdem danke für die funktionierende Lösung.
Das mit \hspace habe ich so gesetzt, weil ich keine andere Lösung gefunden habe, sowohl das Label als auch den Text einer Überschrift ohne Unterbrechung (doppelt) zu unterstreichen. Aber wahrscheinlich gibt's auch hier eine elegante Lösung ...

Ich habe mich jetzt weiter mit der Lösung auseinandergesetzt und bin (leider) auf weitere Probleme gestoßen. Auf meiner Homepage habe ich beschrieben, wie man die gewünschte Gliederung setzen kann und das (ausgebesserte, denn es war ein copy-paste-Fehler drin) Script online gestellt (http://www.nasauber.de/latex_know_how/alt_struktur/)

Die viel zu großen Abstände im Inhaltsverzeichnis konnte ich mit folgenden Befehlen einstellen:

\usepackage{titletoc}

\titlecontents{chapter}[0.5em]%
{}{\thecontentslabel.\enskip}{}%
{\titlerule*[0.6em]{.}\contentspage}

\titlecontents{section}[2em]%
{}{\thecontentslabel.\enskip}{}%
{\titlerule*[0.6em]{.}\contentspage}

\titlecontents{subsection}[3.5em]%
{}{\thecontentslabel.\enskip}{}%
{\titlerule*[0.6em]{.}\contentspage}

\titlecontents{subsubsection}[5em]%
{}{\thecontentslabel)\enskip}{}%
{\titlerule*[0.6em]{.}\contentspage}

\titlecontents{paragraph}[6.5em]%
{}{\thecontentslabel)\enskip}{}%
{\titlerule*[0.6em]{.}\contentspage}

Die nochmalige Nennung der Punkte und Klammern war nötig, weil sie nicht gesetzt wurden. Evtl. habe ich hier etwas falsch gemacht ...

Die eigentlichen Probleme sind aber folgende:

1. Bisher habe ich immer das titlesec-Paket benutzt, um die Überschiften zu formatieren. Das scheint aber nicht kompatibel mit dem Script zu sein (das ich ehrlich gesagt auch noch nicht zu 100% verstanden habe ...)
Woran liegt das? Kann man das in den Griff bekommen?

2. Bei einem Verweis (\ref{label}) wird der Punkt bzw. die Klammer nach dem letzten Aufzählungspunkt weggelassen. Ich bekomme also z.B. "A. I. 1. a" statt "A. I. 1. a)". Das Weglassen des Punktes hinter den Aufzählungen erscheint mir sinnvoll, wenn es nur Nummern sind. In diesem Fall ist es aber wünschenswert, daß die Klammern und Punkte immer gesetzt werden ...

Ich sehe mich leider außer Stande, das selber zu lösen -- es wäre wirklich sehr nett, wenn du mir nochmals unter die Arme grifen würdest :-)

Ich hab doch was gefunden. Wäre die Lösung, die ich unter http://www.nasauber.de/latex_know_how/alt_struktur/ online gestellt habe, akzeptabel?

Bild von Markus Kohm

Die auf deiner Seite genannten Probleme sind keine, denn

  • im Duden steht klipp und klar:
    »Werden solche abschnittskennzeichen im fortlaufenden Text angeführt, dann sollten Punkt oder Klammer entfallen.«
  • mein Beispiel war nie dazu gedacht, zusammen mit titletoc oder titlesec verwendet zu werden.

    Dass titletoc die Klammern nicht setzt, liegt daran, dass es komplett anders arbeitet. Der autodot-Mechanismus von KOMA-Script kann nunmal im Inhaltsverzeichnis nur dann funktionieren, wenn man nicht ein Paket verwendet, dass das Inhaltsverzeichnis komplett anders aufbaut.
    Eine Lösung, um die Abstände ohne titletoc zu verändern findet sich der De-TeX-FAQ.

    Warum zusätzlich titlesec verwendet werden soll, ist mir unverständlich, da es für die Lösung des Problems gar nicht benötigt wird.

Deine Lösung hat neben dem Nachteil, dass Referenzen schlicht falsch gesetzt werden (nämlich mit Klammer und Punkt am Ende), auch den Nachteil, dass der automatische Nummernabschluss nach den Duden-Regeln (es sind derer zwei) für die Gliederungsnummererierung ebenso wie die Optionen pointednumbers und pointlessnumbers ausgehebelt werden. Diese Probleme der harten Eincodierung des abschließenden Punktes bzw. der abschließenden Klammer habe ich in meiner ersten Antwort bereits angeschnitten.

titlesec will ich nicht zur Lösung irgendeines Problems benutzen, sondern dazu, das Aussehen der Überschriften einfach und komfortabel zu verändern. Das selbe gilt für die Verwendung des titletoc-Pakets. Und die Inkompatibilät zum titlesec-Paket stellt für mich sehr wohl ein Problem dar!
Außerdem will ich ja nicht nur die Abstände im Inhaltsverzeichnis ändern, sondern auch die Schriftart, etc. Die LaTeX-FAQ gibt an, daß man den Abstand etwa mit

\makeatletter
\renewcommand{\l@subsection}{\@dottedtocline{2}{1.5em}{3.3em}}
...
\makeatother

einstellen kann, verweist aber darauf, daß die Verwendung des tocloft-Pakets sehr viel einfacher sei. Auch bei der Verwendung dieses Paketes gehen die Punkte und Klammern verloren!

Es stimmt zwar, daß im Duden steht, daß bei einer Nennung der Gliederung im Text die Punkte und Klammern entfallen /sollten/ (nicht zwingend müssen); allerdings bezieht sich das auf alle Klammern und Punkte und nicht nur auf die endständigen. Heißt also, daß ein Querverweis auf Gliederungspunkt "A. I. 1. a)" an sich "Siehe A I 1 a" heißen sollte und nicht "Siehe A. I. 1. a". Die Variante mit allen Klammern und Punkten ist folglich wenigstens konsequent.

Würde man bei meinem Code LaTeX dazu bringen, lediglich bei Querverweisen _alle_ Klammern und Punkte wegzulassen (evtl. als optionelles Verhalten), wäre die Ausgabe 100%ig Dudenkonform _und_ kompatibel zu den o.g. Paketen. Zwar wäre der "pointednumbers"- und "pointlessnumbers"-Mechanismus weiterhin "ausgehelbelt", aber der ist an dieser Stelle sowieso sinnlos, da es ja laut Duden ohnehin nur eine Möglichkeit gibt, das Inhaltsverzeichnis und die Querverweise zu setzen; es werden schließlich laut Duden sowohl im Inhaltsverzeichnis als auch in den Überschriften selbst _immer_ alle Punkte und Klammern gesetzt. Somit macht das "Hardcoding" dieser Punkte und Klammern lediglich bei Querverweisen Probleme.

Bild von Markus Kohm

Wenn man die Mechanismen von KOMA-Script nicht aushebelt, sondenr nutzt, dann geht es mit KOMA-Script auch absolut DUDEN konform. Denn dann kann man \...format und \the... eben komplett unabhängig definieren. In den Überschriften wird bei KOMA-Script immer \...format verwendet. Vorausgesetzt, man lässt KOMA-Script die Überschriften auch wirklich setzen. Bei den Referenzen wird hingegen \the... verwendet. Also kann man ausgehend von meinem Beispielcode natürlich auch definieren:

\renewcommand{\thechapter}{\Alph{chapter}}
\renewcommand{\thesection}{\thechapter\nobreakspace\Roman{section}}
\renewcommand{\thesubsection}{\thesection\nobreakspace\arabic{subsection}}
\renewcommand{\thesubsubsection}{\thesubsection\nobreakspace\alph{subsubsection}}
\renewcommand{\theparagraph}{%
   \thesubsubsection\nobreakspace\greek{paragraph}} 

\renewcommand*{\othersectionlevelsformat}[1]{\csname #1format\endcsname}
\newcommand*{\sectionformat}{\tocthechapter.\tocthesection\autodot\enskip}
\newcommand*{\subsectionformat}{\tocthechapter.\tocthesection.\tocthesubsection\autodot\enskip}
\newcommand*{\subsubsectionformat}{\tocthechapter.\tocthesection.\tocthesubsection.\tocthesubsubsection\autobrace\enskip}
\newcommand*{\paragraphformat}{\tocthechapter.\tocthesection.\tocthesubsection.\tocthesubsubsection)\toctheparagraph\autobrace\enskip}

Entsprechendes dann auch für die \...markformat-Anweisungen.

Auch, wenn es für manchen vielleicht schwer einzusehen ist, so haben Werner Lemberg und ich uns damals bei der Einführung der \...format-Anweisungen durchaus etwas gedacht. Dass andere Pakete diese ignorrieren und deshalb bei Verwendung dieser Pakete dann Probleme entstehen können, ist nun wirklich nicht unser Fehler. Dies gilt umso mehr als der Mechanismus in KOMA-Script schon sehr, sehr lange existiert - teilweise sehr viel länger als die Pakete, die ihn ignorrieren. Eventuell besteht aber bei dem einen oder anderen Paket die Möglichkeit, etwas ähnliches nachzurüsten oder selbst zu verwenden.

Gut -- es geht (natürlich) auch _nur_ mit dem KOMA-Script. Mich würde nur wirklich interessieren, wie man auf so einfache Art und Weise, wie es mit dem titletoc- und titlesec-Paket möglich ist, die Überschriften und das Inhaltsverzeichnis anpassen kann, ohne die beiden zu verwenden. Wenn es auch ohne so einfach geht, dann sehe ich auch keine Veranlassung, die Pakete weiterhin zu verwenden.

Es gibt aber trotzdem noch ein Problem: Referenzen werden mit den o.g. Befehlen richtig gesetzt. Das stimmt -- aber der Duden sagt, daß Querverweise (nur) _im Fließtext_ ohne die Klammern und Punkte so gesetzt werden sollen. Wenn man in Fußnoten auf einen Abschnitt innerhalb der Arbeit verweist, dann sollten hingegen die Punkte und Klammern gesetzt werden.

Unabhängig davon verstehe ich nicht, warum mir hier mit solch einer unglaublichen Arroganz geantwortet wird. Wenn du der Meinung bist, daß meine Fragen und Probleme ohnehin keiner Erklärung bedürfen, weil man sie ohne weiteres nach der Lektüre der Anleitung zum KOMA-Script beantworten und lösen kann, dann spar dir lieber die Antwort, als mich hier in jedem Satz als den letzten Deppen hinzustellen.
Man kann meiner Meinung nach nicht von jedem Benutzer verlangen, eine 248-seitige Anleitung durchzulesen, bevor er etwas an einem Paket verändert.

Bild von Markus Kohm

Wo steht im Duden, dass in Fußnoten die Punkte und Klammern zu setzen sind? Im Duden steht auch nichts von »Fließtext«, sondern von »im fortlaufenden Text« und die Fußnoten gehören IMO dazu.

Wenn du wirklich der Meinung bist, dass jemand, der Änderungen an einem Paket vornehmen will, nicht vorher die zugehörige Anleitung lesen sollte, dann ist es wirklich besser, wenn ich dir zukünftig nicht mehr antworte. Denn meine Zeit kann ich anders besser nutzen als sie an Leute zu verschwenden, die dazu schlicht keine Lust haben.

Im übrigen wüsste ich schon gerne, was arrogant daran ist, wenn ich mir die Mühe mache, deine Frage auf verschiedenen Forumsseiten und deiner Homepage zusammenzusuchen und dann funktionierende Lösungen hier vorstelle.

Zum Schluss noch eine Anmerkung: Thema ist hier KOMA-Script. Wenn du Fragen und Lösungen für Pakete haben willst, die nicht zu KOMA-Script gehören, dann bist du hier eigentlich falsch. Da ich nicht riechen konnte, dass du dich nur hierher verirrt hast, habe ich natürlich von Anfang an, Lösungen eingestellt, die auf KOMA-Script basieren. Das mag als arrogant missverstanden werden. Tatsächlich bin ich einfach zum hellsehen zu blöd.

Es ist keinesfalls arrogant, Lösungen mittels des KOMA-Scripts vorzuschlagen. Arrogant sind allerdings Sprüche wie "Was für ein Murks!", "Daß da an sämtlichen Gliederungsbefehlen umständlich rumgedoktert wird, ist mir unverständlich", etc. Ich habe im gegensatz zu dir _nicht_ maßgeblich an der Entwicklung von LaTeX mitgearbeitet. Trotzdem wird von mir verlangt, daß ich genausoviel Know-How habe wie du. Daß man mein Problem auf "einfache" Art und Weise lösen kann, war mir eben einfach nicht klar. Aber für dich ist die Lösung eben "ziemlich trivial".
Als arrogant bezeichne ich weiterhein, in jedem Satz zehn mal zu unterstreichen wie toll das KOMA-Script mit seinen "wohldefinierten Schnittstellen" ist, was ihr euch alles dabei gedacht habt, wie toll du überhaupt bist und wie blöd jeder ist, der nicht alle Finessen des KOMA-Scriptes beherrscht.
Oder daß auf meinen Einwand "titlesec funktioniert mit deinen Befehlen nicht" so ungefähr geantwortet wird mit "Ich hab ja auch nicht gesagt, daß titlesec funktioniert. Und daß manche Pakete unser wahnsinnig tolles \titleformat nicht benutzen, ist das Problem derer, die die Pakete geschrieben haben oder benutzen und nicht meins".

Aber dann doch nochmal zum Thema:

"Fußnote im fortlaufenden Text" ist nicht das selbe wie "Fußnote im Fließtext". War ein Fehler meinerseits. Aber es ist doch wohl verständlich, was damit gemeint ist, oder? Auf jeden Fall ist eine Fußnote, die durch einen horizontalen Strich abgetrennt unten auf der Seite ist, ist für mich kein fortlaufender Text.

Ich will außerdem keinen Support oder Lösungen für Probleme mit anderen Paketen, sondern für Probleme, die durch die Verwendung des KOMA-Scripts auftreten. Zum Beispiel das Problem, daß mit den umdefinierten Gliederungsbefehlen das titlesec-Paket nicht mehr funktioniert. So schlecht kann das Paket ja nicht sein, schließlich wird es von der LaTeX-de-FAQ als einfache Methode zum Definieren des Aussehenes der Überschriften empfohlen. Und ich habe nicht den nötigen Einblick, um zu verstehen, _warum_ das Paket nicht mehr funktioniert und wie ich das Problem lösen kann.

Ich bin keinesfalls zu faul, Anleitungen zu lesen. Aber nach deiner Philosophie könnte man ja auch gleich alle freenode-Kanäle schließen. Weil wenn einer z.B. ein Problem mit Linux hat, kann er ja erstmal das UNIX-Handbuch lesen. Danach kann er's sicher selber lösen.
Naja, ich habe halt immer gedacht, daß Foren wie dieses dazu da sind, Probleme zu lösen. Daß eben Leute, die eine Ahnung haben, den leuten helfen, die keine Ahnung haben. Aber scheinbar gehörst du ja zu denen, die Auf eine Frage wie "Ich hab noch nie was mit Systemfunktion xyz gemacht. Wie kann ich denn ...?" schlichtweg mit "RTFM" antworten.

Bild von Markus Kohm

Ich habe keine Lust mich, mit dir herumzustreiten. Wenn dir meine Antworten nicht passen, dann frag mich nicht. Wenn es dir nicht passt, dass ich die vorhanden Schnittstellen verweise und Lösungen anbieten, die diese verwenden, dann kann ich dir ohnehin nicht helfen.

Nur so nebenbei. Du hast offenbar den Unterschied zwischen Paketen und Klassen nicht verstanden. Denn ich kann wirklich nichts dafür, wenn irgendwelche Pakete die KOMA-Script-Klassen nicht unterstützen und Features, die von ihnen angeboten werden, sabotieren. Wie ich schon in meinem letzten Kommentar erwähnt habe, sind diese Feature in KOMA-Script außerdem die älteren. Wenn du Probleme mit Paketen hast, dann wende dich an die zuständigne Paketautoren. Wenn es dir nicht passt, dass bestimmte Pakete nicht mit KOMA-Script funktionieren und du darauf bestehst, dass das die Schuld von KOMA-Script ist, dann verzichte eben auf KOMA-Script. Ich bin keineswegs so arrogant anzunehmen, man müsse KOMA-Script unbedingt verwenden.

BTW: Wer immer behauptet hat, ich habe maßgeblich an der Entwicklung von LaTeX mitgearbeitet, hat dir einen Bären aufgebunden. Von mir stammt keine einzige Zeile in LaTeX.

Ich kann als Klassenautor auch nicht mehr tun, als Schnittstellen anzubieten und die Schnittstellen von LaTeX zu verwenden. Ich kann natürlich niemanden dazu zwingen diese zu verwenden. Ich kann allerdings auch nicht sehen, dass es ein Fehler oder arrogant ist, auf die Möglichkeiten der Schnittstellen hinzuweisen und auf Probleme, die entstehen wenn man sie nicht nutzt. Wenn die Probleme eines Fragestellers u. a. an der Missachtung dieser Schnittstellen liegen, dann beinhaltet meine Antwort zwangsläufig einen Hinweis darauf. Die Arroganz darin mag jeder selbst beurteilen.

Du willst vom KOMA-Script-Autor Support, der dadurch entsteht, dass du KOMA-Script unsachgemäß änderst und Pakete verwendest, die in Teilen nicht kompatibel zu KOMA-Script sind. Das ist als wollte jemand Support von mir für ein Problem, das daraus entsteht, dass in einem Fremdpaket \@ifpackageloaded{article} verwendet wird.

Du beschwerst dich dann, dass ich darauf hinweise, dass für mich aus der Frage gar nicht hervor ging, dass zu deinen Anforderungen die Verwendung dieses Pakets gehörte.

Ist es nicht ein klein wenig arrogant, davon auszugehen, andere müssten wissen, welche von dir nicht deutlich formulierten Anforderungen zu erfüllen sind? Ist es nicht auch ein klein wenig arrogant, von dem Hilfeleistenden zu erwarten, dass er die Details der Frage aus verschiedenen Quellen zusammensucht? Ist es das nicht erst recht, wenn der Fragesteller gleichzeitig äußert, es sei ja wohl etwas viel verlangt erstmal die Anleitung zu lesen, bevor man Umdefinitiionen vornimmt?

Ich habe hier keineswegs schlicht mit RFTM geantwortet. Ich habe mir die Mühe gemacht, eine Lösung auf die gestellte Frage, so wie sich mir bot, zu erarbeiten und vorzustellen. Ich habe mir die Mühe gemacht, die Lösung zu begründen und auf die Features und deren Dokumentation hinzuweisen, die ich in der Lösung verwendet habe. Wie arrogant muss man eigentlich sein, um das als reine RTFM-Antwort hinzustellen?

Niemand zwingt dich, dich hier mit mir arrogantem Arschloch abzugeben. Mich wird aber auch niemand zwingen, mich weiterhin mit dir abzugeben und dir hier ein Forum für deine Tiraden zu bieten. Um es ganz deutlich zu sagen: Auf Leute wie dich kann ich verzichten. Das Ziel dieser Seiten ist nämlich Leuten zu helfen, die auch wirklich Hilfe wollen und bereit sind, Hilfe anzunehmen. Mit solchen Leuten diskutiere ich gerne über Vor- und Nachteile möglicher Lösungen. Mit solchen Leuten diskutiere ich auch gerne über mögliche Verbesserungen von KOMA-Script. Wer aber stattdessen lieber stänkern will, der möge sich schleunigst verziehen. Ich bin auch nicht dafür da, Leuten die Anleitung vorzulesen.

Ich habe ja gar nicht gesagt, daß du auf meine Frage mit RTFM geantwortet hat. Vielmehr hast du mir wirklich weitergeholfen, weil auch nach Lektüre der Anleitung hätte ich wahrscheinlich das Problem nicht lösen können. Und das ist genau der Punkt! Es ist ja nicht so, daß ich hier ein Problem in den Raum werfe und eine erstklassige Lösung dafür haben will. Und selber nichts dafür tun will. Aber meine LaTeX-Kenntnisse reichen einfach nicht aus, um ein so komplexes Problem zu lösen! Und ich bin froh, daß du mir hilfst ...

Außerdem hab ich dich _nicht_ als "arrogantes Arschloch" bezeichnet! Ich hab lediglich gesagt, daß es mir so vorkommt, wie wenn du eigentlich gar keine Lust hast, auf meine Fragen zu antworten, weil es ja "trivial" ist, das Problem zu lösen. Der Meinung bin ich aber einfach nicht!
Und ich würdige die Arbeit, die du in das KOMA-Script gesteckt hast, auch ohne daß du in jedem zweiten Satz schreibst, wie toll es ist. Das weiß ich auch so! Weil sonst würde ich ja deine Dokumentklassen nicht benutzen!

Ich denke nur, daß keinem geholfen ist, wenn wir hier weiterhin streiten. Vielleicht kann man ja das verbleibende Problemchen einfach lösen, den Disput hier beenden und dann ist gut.

Daß dein Code nicht kompatibel mit titlesec und titletoc ist, stimmt nicht. Das war ein Fehler meinerseits (und ein ziemlich blöder noch zudem!).
Ich hab einfach vergessen, ein Paket einzubinden. Danach hab ich dann Fehlermeldungen wie "Undefined control sequence. \chapter{Chapter}" bekommen. Daraus hab ich dann geschlossen, daß die Pakete inkompatibel sind. Sind sie aber wie gesagt gar nicht -- tut mir leid!

Dein Code funktioniert einwandfrei. Es gibt nur zwei Probleme damit:

Wenn ich das titlesec- und das titletoc-Paket verwende, um die Überschriften und das Inhaltsverzeichnis anzupassen, werden alle Punkte und Klammern weggelassen. Die Pakete funktionieren ja aber ohne die Anpassungen der Gliederung einwandfrei mit den KOMA-Script-Dokumentklassen, also müßte man das doch in den Griff kriegen, oder?!

Bei Querverweisen werden die Punkte und Klammern weggelassen. Im Duden steht, daß das innerhalb des laufenden Textes auch so sein soll. Vielleicht ist das jetzt meine Auslegung dieser Aussage, aber auch außerhalb einer Fußnote kann doch ein Querverweis außerhalb des laufenden Textes stehen, oder?

Laufender Text ist für mich z.B.

"Wie auch schon in A I 1 geschildert, ..."

Was aber, wenn man innerhalb des Textes in einer Klammer auf eine andere Stelle verweist? Das ist meiner Meinung nach genausowenig laufender Text wie eine Fußnote, und da müßten dann die Klammern und Punkte schon stehen -- z.B.

"Bla bla bla (vgl. A. I. 1.)"

Die Lösung hierfür wäre meiner Meinung nach, einen neuen Befehl analog zu \ref zur Verfügung zu stellen, mit dem man einen Querverweis mit Klammern und Punkten bekommt. Weil LaTeX kann ja nicht wissen, ob \ref jetzt wirklich gerade im "laufenden Text" steht oder nicht ... Wäre das grundsätzlich machbar?

Bild von Markus Kohm

Übrigens solltest du die Abstände nicht direkt in \thechapter einfügen, weil es sonst garantiert zu Problemen mit \ref und diversen anderen Anweisungen kommt. Bei KOMA-Script gibt es nicht umsonst zusätzlich die \...format...-Anweisungen (beispielsweise \chapterformat und \chaptermarkformat). Den Punkt am Ende setzt man am besten ebenfalls nicht in \the..., sondern in den format-Anweisungen. Außerdem sollte man dort \autodot verwenden, um so sowohl den Mechanismus nach DUDEN als auch die Optionen zur Umgehung dieses Mechanismus weiter zu ermöglichen.

Comments for "Andere Aufzählung von Überschriften im Inhaltsverzeichnis" abonnieren