Okay, das ist vielleicht eine unkonventionelle Frage.
Ich möchte den Bereich der Unterabschnitte (oder Unterunterabschnitte aus Formatierungsgründen) als meine Abschnittsnummer verwenden.
So für:
\section{First section}
\subsubsection{\S1}
\subsubsection{\S2}
\subsubsection{\S3}
Ich möchte die Abschnittsüberschrift und den Inhaltsverzeichniseintrag erhalten:
§1 - §3 First section
Verwenden Sie also grundsätzlich den Text des ersten (Unter-)Unterabschnitts und den Text des letzten (Unter-)Unterabschnitts eines Abschnitts als angezeigte Abschnitts-„Nummer“.
Ich hätte nichts dagegen, diese Nummer am Anfang jedes Abschnitts explizit anzugeben, wenn dies nicht automatisch erfolgen kann.
Antwort1
Ihr Problem besteht aus einigen unterscheidbaren Unterproblemen:
subsubsections
Lassen Sie sich im Unterricht nummerierenbook
:\setcounter{secnumdepth}{3}
Fortlaufende Nummerierung von
subsubsections
: Dies kann mithilfe eines Pakets erfolgen,remreset
um das Zurücksetzen dessubsubsection
Zählers zu verhindern.Um die
subsubsections
pro Kapitel zu zählen,xcntperchap
kann das Paket verwendet werdenZur Formatierung der
section
undsubsubsection
Titel habe ich dastitlesec
Paket verwendet
\documentclass{book}
% numbered subsubsections in book class
\setcounter{secnumdepth}{3}
% number subsubsections continiously
\usepackage{remreset}
\makeatletter
\@removefromreset{subsubsection}{chapter}
\@removefromreset{subsubsection}{section}
\@removefromreset{subsubsection}{subsection}
\makeatother
% count subsubsections per chapter
\usepackage{xcntperchap}
\RegisterTrackCounter{section}{subsubsection}
% format subsubsection titles
\usepackage[explicit]{titlesec}
\titleformat{\subsubsection}{\bfseries}{%
\S \arabic{subsubsection}
}{0pt}{}
% Format section
\newcounter{start}
\newcounter{stop}
\titleformat{\section}{\bfseries}{%
\setcounter{start}{\value{subsubsection}}%
\addtocounter{start}{1}%
\setcounter{stop}{\ObtainTrackedValueExp[\value{section}]{section}{subsubsection}}%
\addtocounter{stop}{\value{start}}%
\addtocounter{stop}{-1}%
\ifnum\ObtainTrackedValueExp[\value{section}]{section}{subsubsection}>0
\S \arabic{start} -- \S \arabic{stop}
\fi
#1
}{0pt}{}
\begin{document}
\section{First section}
\subsubsection{}
\subsubsection{}
\subsubsection{}
\section{Second section}
\subsubsection{}
\subsubsection{}
\section{Third section}
\end{document}
Antwort2
Ich habe dieses Problem gelöst, indem ich benutzerdefinierte Zähler eingeführt habe
\newcounter{clause}
\newcounter{sectionstart}
\newcounter{sectionend}
\begin{document}
\setcounter{sectionstart}{\value{clause}}
\section*{Section 1}
\refstepcounter{sectionstart}
\refstepcounter{clause}
\subsubsection{\textbf{\S\arabic{clause}}}
\refstepcounter{clause}
\subsubsection{\textbf{\S\arabic{clause}}}
\setcounter{sectionend}{\value{clause}}
\addcontentsline{toc}{section}{\S\arabic{sectionstart}\enspace\textendash\enspace\S\arabic{sectionend}\quad Section 1}
\end{document}
Allerdings führt diese Lösung aufgrund der addcontentsline nach dem letzten Unterabschnitt zu falschen Seitenzahlen im Inhaltsverzeichnis. Ich wusste nicht, wie ich diesen falschen Anker beheben sollte, also habe ich beschlossen, einfach die erste Klausel zu verwenden und das deutsche „ff.“ für „und Folgendes“ an das Inhaltsverzeichnis anzuhängen.
Der Abschnittsstartzähler dient nur der Lesbarkeit und kann übersprungen werden, wenn der Inhaltsverzeichniscode des Abschnitts in die erste Klausel verschoben wird.
\newcounter{clause}
\newcounter{sectionstart}
\begin{document}
\setcounter{sectionstart}{\value{clause}}
\refstepcounter{sectionstart} % increase by 1 as section should have at least 1 clause
\section*{Section 1}
\addcontentsline{toc}{section}{\S\arabic{sectionstart}\space ff.\enspace Section 1}
\refstepcounter{clause}
\subsubsection{\textbf{\S\arabic{clause}}}
\refstepcounter{clause}
\subsubsection{\textbf{\S\arabic{clause}}}
\end{document}