Como alterar o número de uma subseção utilizada em uma referência cruzada?

Como alterar o número de uma subseção utilizada em uma referência cruzada?

Queria saber se poderia alterar o número que aparece no meu "\labelcref"? (Eu uso hyperref, cleverefe namerefpacotes) Mais precisamente, estou escrevendo um documento onde existem várias seções que são compostas por algumas subseções. Eu escrevi o código:

\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}

Para que minhas seções sejam I,II,III,... e cada subseção por 1,2,3,..(e não I.1,I.2,..).

Mas eu gostaria de ter "ver I.1" e não "ver 1" (o que pode confundir o leitor porque não indica em que seção está). Meu código fica assim:

\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}

Obrigado por qualquer resposta!

Responder1

O kernel do LaTeX já fornece um mecanismo para o que você deseja: sempre que \labelfor chamado, a referência atual é feita expandindo

\p@foo\thefoo

onde fooestá o contador “refstep” mais recentemente. Normalmente \p@foo(no seu caso \p@subsection) é definido para expandir para nada. Então aqui está um exemplo mínimo do que você deve fazer (removi todos os pacotes não essenciais, para mostrar melhor a parte principal do 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}

insira a descrição da imagem aqui

informação relacionada