
Gostaria de consultar uma seção numerada da moderncv
classe usando \ref
, mas não consigo fazê-lo.
Eu li o post intitulado Usando \ref na classe moderncv e consegui obter o seguinte:
\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}
Isso fornece a seguinte saída:
Como podemos ver, o número da seção não aparece na posição onde utilizo o \ref
comando.
Tentei resolver esse problema lendo a postagem intituladaUsando \ref na classe moderncv no entanto, não tive sucesso.
É possível usar \ref
e consultar uma seção numerada que foi rotulada na moderncv
classe?
Observação:Sei que este pode ser um pedido incomum, porém a razão para fazer esta pergunta é porque já tenho um currículo feito usando a moderncv
classe e preciso também escrever um documento suplementar que requer seções numeradas. Gostaria de usar a moderncv
classe (com modificações) para este documento suplementar, a fim de manter a consistência visual e de estilo entre o currículo e o documento suplementar. A razão para exigir referência no documento suplementar é evitar a repetição de informações, solicitando ao leitor que consulte uma determinada seção numerada.
Responder1
O problema se deve ao código bastante complicado usado para produzir o número. Se simplificarmos esse código, os \label
comandos funcionarão como você espera. Em vez de incrementar o contador dentro da \sectionstyle
macro, nós o acrescentamos ao \section
comando. Isso permite que o rótulo seja acessado corretamente, esteja o \label
comando dentro do \section{...}
comando (como sugeri em meu comentário) ou imediatamente após (como você esperaria que funcionasse).
\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}