Ok, esta pode ser uma pergunta não convencional.
Quero usar o intervalo das subseções (ou subseções por motivos de formatação) como meu número de seção.
Então, para:
\section{First section}
\subsubsection{\S1}
\subsubsection{\S2}
\subsubsection{\S3}
Gostaria de obter o título da seção e a entrada do ToC:
§1 - §3 First section
Então, basicamente, use o texto da primeira (sub) subseção e o texto da última (sub) subseção de uma seção como a seção exibida - "número".
Eu não me importaria de declarar explicitamente esse número no início de cada seção, se isso não puder ser feito automaticamente.
Responder1
Seu problema consiste em alguns subproblemas distinguíveis:
Seja numerado
subsubsections
nabook
aula:\setcounter{secnumdepth}{3}
Numeração contínua de
subsubsections
: Isso pode ser feito usandoremreset
package para evitar o reset dosubsubsection
contador.Para contar
subsubsections
por capítulo, o pacotexcntperchap
pode ser usadoPara formatar os títulos
section
esubsubsection
, usei otitlesec
pacote
\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}
Responder2
Eu resolvi isso introduzindo contadores personalizados
\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}
Embora esta solução introduza números de página errados no ToC devido à linha addcontents após a última subseção. Eu não sabia como consertar aquela âncora errada, então decidi usar apenas a primeira cláusula e acrescentar o "ff" alemão. para "e o seguinte" no ToC.
O contador sectionstart é apenas para facilitar a leitura e pode ser ignorado se o código ToC da seção for movido para a primeira cláusula.
\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}