
moderncv
Ich möchte mithilfe von auf einen nummerierten Abschnitt im Unterricht zurückgreifen, \ref
kann dies jedoch nicht.
Ich habe den Beitrag mit dem Titel gelesen Verwenden von \ref in der ModernCV-Klasse und ich konnte Folgendes herausfinden:
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[margin=1in]{geometry}
\usepackage{etoolbox}
\newcounter{secnumber}
\newcommand{\numbersec}{\refstepcounter{secnumber}\thesecnumber~}
\patchcmd{\section}{\sectionstyle{#1}}{\sectionstyle{\numbersec #1}}{}{}
\renewcommand\sectionstyle[1]{{%
\refstepcounter{secnumber}%
\sectionfont
\textcolor{color1}{\thesecnumber.\quad#1}%
}}
\firstname{First Name}
\familyname{Last Name}
\begin{document}
\makecvtitle
\section{A Section}
\label{sec.one}
Text goes here
\section{Another Section}
\label{sec.two}
Text goes here
\section{Yet Another Section}
\label{sec.three}
Recall in section \ref{sec.one} that we mentioned ...
\end{document}
Dies führt zu folgender Ausgabe:
Wie wir sehen können, wird die Abschnittsnummer nicht an der Position angezeigt, an der ich den \ref
Befehl verwende.
Ich habe versucht, dieses Problem zu lösen, indem ich den Beitrag mit dem Titel gelesen habeVerwenden von \ref in der ModernCV-Klasse ich hatte jedoch keinen Erfolg.
Ist es möglich, \ref
einen nummerierten Abschnitt, der im Unterricht beschriftet wurde, zu verwenden und darauf zu verweisen moderncv
?
Notiz:Mir ist bewusst, dass dies eine ungewöhnliche Anfrage sein könnte, aber ich stelle diese Frage, weil ich bereits einen Lebenslauf mit der moderncv
Klasse erstellt habe und außerdem ein ergänzendes Dokument schreiben muss, das nummerierte Abschnitte erfordert. Ich möchte die moderncv
Klasse (mit Änderungen) für dieses ergänzende Dokument verwenden, um die visuelle und stilistische Konsistenz zwischen dem Lebenslauf und dem ergänzenden Dokument zu wahren. Der Grund für die Anforderung von Referenzen im ergänzenden Dokument besteht darin, die Wiederholung von Informationen zu vermeiden, indem der Leser aufgefordert wird, auf einen bestimmten nummerierten Abschnitt zurückzugreifen.
Antwort1
Das Problem liegt an dem ziemlich komplizierten Code, der zur Erzeugung der Zahl verwendet wird. Wenn wir diesen Code vereinfachen, \label
funktionieren die Befehle wie erwartet. Anstatt den Zähler innerhalb des \sectionstyle
Makros zu erhöhen, stellen wir ihn dem \section
Befehl voran. Dadurch kann auf das Label richtig zugegriffen werden, unabhängig davon, ob sich der \label
Befehl innerhalb des \section{...}
Befehls befindet (wie ich in meinem Kommentar vorgeschlagen habe) oder direkt danach (wie Sie es erwarten würden).
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\usepackage[margin=1in]{geometry}
\usepackage{etoolbox}
\newcounter{secnumber}
\pretocmd{\section}{\refstepcounter{secnumber}}{}{}
\renewcommand\sectionstyle[1]{{%
\sectionfont
\textcolor{color1}{\thesecnumber.\quad#1}%
}}
\firstname{First Name}
\familyname{Last Name}
\begin{document}
\makecvtitle
\section{A Section}
\label{sec.one}
Text goes here
\section{Another Section}
\label{sec.two}
Text goes here
\section{Yet Another Section}
\label{sec.three}
Recall in section \ref{sec.one} that we mentioned and in section \ref{sec.two} ... and in section \ref{sec.three} we see
\end{document}