
Gibt es eine Möglichkeit, ein \tableofcontents
in der Artikelklasse zu generieren, ohne Standard \section
-s zu verwenden, aber ein anderes " \section
"-Nummerierungsschema wurde verwendet? Siehe insbesondere den zweiten Teil der Antwort von David Carlisle aufWie gehe ich am besten vor, um ein Dokument mit vielen Unterabschnitten zu erstellen?. Der Standard \tableofcontents
scheint nicht zu funktionieren. Ich bin neu bei LaTeX, aber das hat mich überrascht, da es einwandfrei funktioniert hat \label
.\ref
Bearbeiten: Ich möchte ein Inhaltsverzeichnis erstellen können, das beispielsweise die erste oder die erste und zweite Ebene von Überschriften enthält (so wie \setcounter{tocdepth}{2} zu funktionieren scheint). Unten ist der oben referenzierte Code:
\documentclass{article}
\newcounter{depth}
\setcounter{depth}{1}
\newcounter{pi}
\newcounter{pii} [pi] \renewcommand\thepii{\thepi.\arabic{pii}}
\newcounter{piii}[pii] \renewcommand\thepiii{\thepii.\arabic{piii}}
\newcounter{piv} [piii]\renewcommand\thepiv{\thepiii.\arabic{piv}}
\newcounter{pv} [piv] \renewcommand\thepv{\thepiv.\arabic{pv}}
\def\psetdepth#1#2\relax{%
\ifx+#1\relax\addtocounter{depth}{#2}%
\else\ifx-#1\relax\addtocounter{depth}{-#2}%
\else\setcounter{depth}{#1#2}\fi\fi}
\newcommand\sentence[2][+0]{%
\par
\psetdepth#1\relax\relax
\vspace{\csname pspace\roman{depth}\endcsname}%
\hspace{\csname phspace\roman{depth}\endcsname}%
\hangindent=\csname pindent\roman{depth}\endcsname
\hangafter=1
\indent\refstepcounter{p\roman{depth}}\llap{\csname thep\roman{depth}\endcsname\ }%
{\csname pstyle\roman{depth}\endcsname#2\par}}
\newcommand\phspacei{20pt}
\newcommand\phspaceii{40pt}
\newcommand\phspaceiii{65pt}
\newcommand\phspaceiv{100pt}
\newcommand\phspacev{140pt}
\newcommand\pindenti{5ex}
\newcommand\pindentii{10ex}
\newcommand\pindentiii{15ex}
\newcommand\pindentiv{23.5ex}
\newcommand\pindentv{32.5ex}
\newcommand\pspacei{15pt}
\newcommand\pspaceii{15pt}
\newcommand\pspaceiii{10pt}
\newcommand\pspaceiv{10pt}
\newcommand\pspacev{10pt}
\newcommand\pstylei{\Large\bfseries}
\newcommand\pstyleii{\bfseries\itshape}
\newcommand\pstyleiii{\normalfont}
\newcommand\pstyleiv{\normalfont}
\newcommand\pstylev{\normalfont}
\begin{document}
\raggedright
\sentence{This is a sentence.}
\sentence{This is another sentence. Just like any other sentence one would think but perhaps not.}
\sentence[+1]{This sentence is similar to the others, but longer. This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This is a sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence[+1]{This is another sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence[+1]{This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This is a sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This is another sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This sentence is similar to the others, but longer.}
\sentence[+1]{Hey there how is it going my good friend. Hey there how is it going my good friend.}
\sentence[-2]{This is a sentence hey.}
\sentence{This is another sentence.}
\sentence{This sentence is similar to the others, but longer.}
\sentence[-1]{This is a sentence.}
\end{document}
Antwort1
Dies kann mit einer Zuordnung der TOC-Ebenen zu den Zählerwerten ToC
erfolgen .\addcontentsline
depth
Der Code
\ifcase\c@depth
\or
\def\tocstyle{section}
\or
\def\tocstyle{subsection}
\or
\def\tocstyle{subsubsection}
\or
\def\tocstyle{paragraph}
\or
\def\tocstyle{subparagraph}
\fi
definiert das \tocstyle
Makro abhängig vom Wert von depth
, wobei 1
bedeutet section
usw.
Die Zeile \addcontentsline{toc}{\toclevel}{\protect\numberline{}#2}
fügt die Zeile zum Inhaltsverzeichnis hinzu und generiert hyperlinks
bei Bedarf bei der Verwendung hyperref
.
tocdepth
Wenn Sie den Wert auf „0“ setzen 2
, werden wie bei normalen Abschnittsebenen nur die ersten beiden Ebenen zugelassen.
\documentclass{article}
\newcounter{depth}
\setcounter{depth}{1}
\newcounter{pi}
\newcounter{pii} [pi] \renewcommand\thepii{\thepi.\arabic{pii}}
\newcounter{piii}[pii] \renewcommand\thepiii{\thepii.\arabic{piii}}
\newcounter{piv} [piii]\renewcommand\thepiv{\thepiii.\arabic{piv}}
\newcounter{pv} [piv] \renewcommand\thepv{\thepiv.\arabic{pv}}
\def\psetdepth#1#2\relax{%
\ifx+#1\relax\addtocounter{depth}{#2}%
\else\ifx-#1\relax\addtocounter{depth}{-#2}%
\else\setcounter{depth}{#1#2}\fi\fi}
\setcounter{tocdepth}{2}
\makeatletter
\newcommand\sentence[2][+0]{%
\par
\psetdepth#1\relax\relax
\vspace{\csname pspace\roman{depth}\endcsname}%
\hspace{\csname phspace\roman{depth}\endcsname}%
\hangindent=\csname pindent\roman{depth}\endcsname
\hangafter=1
\indent\refstepcounter{p\roman{depth}}\llap{\csname thep\roman{depth}\endcsname\ }%
\ifcase\c@depth
\or
\def\tocstyle{section}
\or
\def\tocstyle{subsection}
\or
\def\tocstyle{subsubsection}
\or
\def\tocstyle{paragraph}
\or
\def\tocstyle{subparagraph}
\fi
{\csname pstyle\roman{depth}\endcsname#2\addcontentsline{toc}{\tocstyle}{\protect\numberline{\csname thep\roman{depth}\endcsname}#2}\par}}
\makeatother
\newcommand\phspacei{20pt}
\newcommand\phspaceii{40pt}
\newcommand\phspaceiii{65pt}
\newcommand\phspaceiv{100pt}
\newcommand\phspacev{140pt}
\newcommand\pindenti{5ex}
\newcommand\pindentii{10ex}
\newcommand\pindentiii{15ex}
\newcommand\pindentiv{23.5ex}
\newcommand\pindentv{32.5ex}
\newcommand\pspacei{15pt}
\newcommand\pspaceii{15pt}
\newcommand\pspaceiii{10pt}
\newcommand\pspaceiv{10pt}
\newcommand\pspacev{10pt}
\newcommand\pstylei{\Large\bfseries}
\newcommand\pstyleii{\bfseries\itshape}
\newcommand\pstyleiii{\normalfont}
\newcommand\pstyleiv{\normalfont}
\newcommand\pstylev{\normalfont}
\begin{document}
\tableofcontents
\raggedright
\sentence{This is a sentence.}
\sentence{This is another sentence. Just like any other sentence one would think but perhaps not.}
\sentence[+1]{This sentence is similar to the others, but longer. This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This is a sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence[+1]{This is another sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence[+1]{This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This is a sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This is another sentence.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.This sentence is similar to the others, but longer.}
\sentence{This sentence is similar to the others, but longer.}
\sentence[+1]{Hey there how is it going my good friend. Hey there how is it going my good friend.}
\sentence[-2]{This is a sentence hey.}
\sentence{This is another sentence.}
\sentence{This sentence is similar to the others, but longer.}
\sentence[-1]{This is a sentence.}
\end{document}