Me preguntaba si podría cambiar el número que aparece en mi "\labelcref". (Yo uso y hyperref
paquetes ) Más precisamente, estoy escribiendo un documento donde hay varias secciones que están compuestas por algunas subsecciones. Escribí el código:cleveref
nameref
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}
De modo que mis secciones van por I,II,III,... y cada subsección por 1,2,3,..(y no I.1,I.2,..).
Pero me gustaría tener "ver I.1" y no "ver 1" (lo que podría confundir al lector porque no indica en qué sección se encuentra). Mi código se ve así:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsthm, thmtools}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{lmodern}
\usepackage{soul}
\usepackage{mathrsfs}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{hyperref, nameref, cleveref}
\begin{document}
\section {First}
\subsection {one} \label{I.1}
blablabla
\subsection {two}
blablabla
\section {Second}
\subsection {one}
blablabla and see \labelcref{I.1}
\end{document}
¡Gracias por cualquier respuesta!
Respuesta1
El kernel de LaTeX ya proporciona un mecanismo para lo que desea: cada vez que \label
se llama, la referencia actual se hace expandiendo
\p@foo\thefoo
¿Dónde foo
está el contador "refstep" más reciente? Por lo general \p@foo
(en su caso \p@subsection
) se define para expandirse a nada. Aquí hay un ejemplo mínimo de lo que debe hacer (eliminé todos los paquetes no esenciales para mostrar mejor la parte principal del código).
\documentclass[10pt,a4paper]{article}
\usepackage{hyperref, nameref, cleveref}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}
\makeatletter
\renewcommand{\p@subsection}{\thesection.}
\makeatother
\begin{document}
\section {First}
\subsection {one} \label{I.1}
blablabla
\subsection {two}
blablabla
\section {Second}
\subsection {one}
blablabla and see \labelcref{I.1} (also known as \cref{I.1})
\end{document}