Me gustaría incluir sólo el número de subsección de una subsección, sin el número de sección.
Creo que este MWE resume lo que busco. ¿Existe una alternativa a \ref
?
\documentclass{article}
\begin{document}
\section{Section A}
\section{Section B}
\section{Section C}
\subsection{Subsection 1}
\subsection{Subsection 2}
\label{subsec:Subsection}
I would like "\ref{subsec:Subsection}" to just return "2".
\end{document}
Respuesta1
Aquí hay una solución basada en una técnica que aprendí del libro "The LaTeX Companion" (2ª ed.). Se ejecuta \renewcommand\thesubsection{\arabic{subsection}}
para restablecer la representación del subsection
contador y utiliza el comando LaTeX de bajo nivel , que gobierna cómo se muestra \subsection@cntformat
el contador en las entradas de nivel de subsección.subsection
Esta solución es, por diseño, compatible con los paquetes hyperref
and cleveref
y sus macros de referencia cruzada, por ejemplo, \autoref
, \cref
y \labelcref
.
Adenda 08/08/2019: Agregué dos líneas al código para generalizar la solución para manejar subsubsection
encabezados de nivel también.
\documentclass{article}
\usepackage{geometry} % optional
\renewcommand\thesubsection{\arabic{subsection}}
\renewcommand\thesubsubsection{\arabic{subsubsection}}
% Method proposed in "The LaTeX Companion", 2nd ed.:
\makeatletter
\def\@seccntformat#1{\@ifundefined{#1@cntformat}%
{\csname the#1\endcsname\space}% default
{\csname #1@cntformat\endcsname}}% enable individual control
\def\subsection@cntformat{\thesection.\thesubsection\space}
\def\subsubsection@cntformat{\thesection.\thesubsection.\thesubsubsection\space}
\makeatother
%Optional:
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[noabbrev,nameinlink]{cleveref}
\crefname{subsection}{subsection}{subsections}
\crefname{subsubsection}{subsubsection}{subsubsections}
\begin{document}
\setlength\parindent{0pt} % just for this example
The instructions \verb+\ref{sec:C2}+ and \verb+\labelcref{sec:C2}+ return ``\ref{sec:C2}'' and ``\labelcref{sec:C2}''.
The instructions \verb+\ref{sec:C11}+ and \verb+\labelcref{sec:C11}+ return ``\ref{sec:C11}'' and ``\labelcref{sec:C11}''.
\verb+\autoref+: \autoref{sec:C2} and \autoref{sec:C11}
And \verb+\cref+: \cref{sec:C2,sec:C11}
\addtocounter{section}{2} % just for this example
\section{Section C}
\subsection{Subsection 1}
\subsubsection{Subsubsection 1} \label{sec:C11}
\subsection{Subsection 2} \label{sec:C2}
\end{document}