PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Chapter nicht nummerieren, dafür Section als höchste Nummerierungsebene



Williamsen
03-04-2014, 15:39
Hallo zusammen,

ich bin gerade dabei, ein umfangreicheres Dokument mit der scrbook-Klasse zu erstellen. Dabei habe ich allerdings den Wunsch, etwas an den vorgegebenen Gliederungsebenen zu drehen.

Ich wünsche mir eine Gliederung nach folgenden Vorgaben:

Kapitelname
1. Erstes Unterkapitel
2. Zweites Unterkapitel

Nächster Kapitelname
1. Erstes Unterkapitel
2. Zweites Unterkapitel.

Was ich bisher mit der Klasse zustandebekomme, ist stattdessen so etwas:

Kapitelname
0.1. Erstes Unterkapitel
0.2. Zweites Unterkapitel

Nächster Kapitelname
0.3 Erstes Unterkapitel
0.4. Zweites Unterkapitel.

Dazu noch ein Minimalbeispiel:


\documentclass[a4paper,11pt,oneside]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\renewcommand{\raggedsection}{\centering} % Kapitelüberschriften zentrieren


\begin{document}

\addchap{Erstes Kapitel}
\section{}
Hier sollte die Section mit einer 1 anfangen.
\section{}
Hier sollte die Section mit einer 2 anfangen.

\addchap{Zweites Kapitel}
\section{}
Hier sollte die Section statt mit einer 0.3 wieder mit einer 1 anfangen.
\section{}
Hier sollte die Section mit einer 2 anfangen.
\end{document}


Benötigt wird also ein Mechanismus, um einerseits den Counter für die Nummerierung ver Sections nach jedem Chapter zu resetten, andererseits aber auch eine Definition, erst ab Section Gliederungsebenen überhaupt erst zu nummerieren.

Wie man am Minimalbeispiel sieht, ist das sture Unterdrücken der Chapternummerierung keine Lösung.

Ich bin für jeden Vorschlag dankbar!

klops
03-04-2014, 18:11
Ich würde \chapterformat, \chaptermarkformat und ggf. \addchaptertocentry umdefinieren, damit die Kapitelnummer von \chapter einfach nur nicht ausgegeben wird. Also etwas in der Richtung:
\documentclass{scrbook}

\renewcommand*{\chapterformat}{}
\renewcommand*{\chaptermarkformat}{}
\let\originaladdchaptertocentry\addchaptertocentry
\renewcommand*{\addchaptertocentry}[2]{%
\originaladdchaptertocentry{}{#2}%
}
\renewcommand*{\thesection}{\arabic{section}}

\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\end{document}
Die genannten Anweisungen sind alle in der KOMA-Script-Anleitung (http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf) dokumentiert.

Williamsen
04-04-2014, 16:46
Tausend Dank klops! Es funktioniert!

Zum Neubeginnen der Sectionnummerierung nach jedem Chapter habe ich noch folgendes benutzt, falls jemand ein ähnliches Vorhaben haben sollte:



\makeatletter
\@addtoreset{section}{chapter}
\makeatother


Insgesamt sähe mein funktionierendes Minimalbeispiel dann so aus:



\documentclass[a4paper,11pt,oneside]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\renewcommand{\raggedsection}{\centering} % Kapitelüberschriften zentrieren
\renewcommand*{\chapterformat}{}
\renewcommand*{\chaptermarkformat}{}
\let\originaladdchaptertocentry\addchaptertocentry
\renewcommand*{\addchaptertocentry}[2]{%
\originaladdchaptertocentry{}{#2}%
}
\renewcommand*{\thesection}{\arabic{section}}

\makeatletter
\@addtoreset{section}{chapter}
\makeatother


\begin{document}

\chapter{Erstes Kapitel}
\section{}
Hier sollte die Section mit einer 1 anfangen.
\section{}
Hier sollte die Section mit einer 2 anfangen.

\chapter{Zweites Kapitel}
%\setcounter{section}{0}
\section{}
Hier sollte die Section statt mit einer 0.3 wieder mit einer 1 anfangen.
\section{}
Hier sollte die Section mit einer 2 anfangen.
\end{document}


Die KOMA-Anleitung ist mir natürlich bekannt, aber in den meisten Fällen bin ich einfach nicht sicher genug in der Materie, um die erklärten Mechanismen komplett zu verstehen. Ist wohl einer der Nachteile, wenn man mit den Standardklassen zufrieden ist und kaum Änderungsbedarf hat.

klops
04-04-2014, 18:29
Der section-Zähler wird doch ohnehin bereits mit jeder Erhöhung des chapter-Zählers zurückgesetzt. Mein Beispiel zeigt das auch bereits. Das \@addtoreset ist also vollkommen überflüssig.

Williamsen
04-04-2014, 19:52
Das ist richtig - mein Fehler. Ist wohl dem Chaos geschuldet, das aus der gestrigen Herumprobiererei entstanden ist.