Nun, ich versuche, eine kurze Zusammenfassung über meine Vorlage zu schreiben, und bin an einem Scheideweg angelangt. In meiner Klassendefinition habe ich den \section{}
Befehl neu definiert, um \section*{}
eine bestimmte Stilisierung meiner Vorlage beizubehalten, aber jetzt möchte ich die Abschnitte unabhängig voneinander referenzieren, aber die Eigenschaft beibehalten, dass \section{A random title}
der Titel unnummeriert bleibt, wenn ich ihn schreibe.
Lassen Sie mich dies genauer erklären:
Ich habe den
\section{}
Befehl mit diesen Codezeilen neu definiert:\let\oldsection\section \renewcommand{\section}[1]{% \oldsection*{#1} \phantomsection \addcontentsline{toc}{section}{#1} }
Wenn ich es
\ref{A label given to the section}
in zwei verschiedenen Abschnitten verwende, erhalte ich das folgende Ergebnis:
- Ich muss den Befehl nicht
\section{}
nummerieren, da ich eine Minizusammenfassung erstellt habe, die die Namen der einzelnen Abschnitte im Kapitel wie folgt enthält:
Ich denke, es ist nicht notwendig, den Code dieser Mini-Zusammenfassung einzufügen, um den Beitrag nicht mit Informationen zu überladen.
Im Grunde genommen brauche ich nur Hilfe, um herauszufinden, wie das \ref{}
funktioniert.
Antwort1
Es besteht die Möglichkeit, \ref{}
die Arbeit nach Ihren Wünschen zu gestalten. Sie müssten \@currentlabel
vor „next“ an Ort und Stelle neu definieren \label
. In Ihrem Fall wäre das innerhalb eines neu definierten \section
.
Da Sie laden hyperref
, ist dies nicht erforderlich \phantomsection
, da in jedem markierten Abschnitt bereits Anker hinzugefügt wurden. Es wird außerdem empfohlen, \NewCommandCopy
anstelle von zu verwenden \let
.
Das folgende Beispiel erzeugt:
Ich habe Ihr Makro leicht erweitert, um \ref{}
bei Bedarf einen kürzeren Abschnittstitel verwenden zu können. Ich gehe auch davon aus, dass nach Doppelpunkten Seitenzahlen folgen, da die Abschnittsnummer in diesem Fall bedeutungslos wäre.
\documentclass{report}
\usepackage[colorlinks]{hyperref}
\usepackage{blindtext}
\title{The Title}
\author{First Last}
\date{}
\makeatletter
\NewCommandCopy\oldsection\section
\RenewDocumentCommand\section{O{#2}m}{%
\oldsection*{#2}\addcontentsline{toc}{section}{\numberline{}#2}%
\edef\@currentlabel{(titled as "#1")}}
\makeatother
\begin{document}
\maketitle
\tableofcontents
\chapter{Chapter one}
\section{Section: Aaa}\label{sec:aaa}
\Blindtext
\chapter{Chapter two}
\section[Bbb]{Section: Bbb}\label{sec:bbb}
\Blindtext
\chapter{Chapter three}
Referring to the section 1 \ref{sec:aaa}: \pageref{sec:aaa}.\\*
Referring to the section 2 \ref{sec:bbb}: \pageref{sec:bbb}.
\end{document}