Wie ändere ich die Nummer eines in einem Querverweis verwendeten Unterabschnitts?

Wie ändere ich die Nummer eines in einem Querverweis verwendeten Unterabschnitts?

Ich habe mich gefragt, ob ich die Nummer ändern kann, die in meinem „\labelcref“ erscheint. (Ich verwende hyperref, cleverefund namerefPakete.) Genauer gesagt schreibe ich ein Dokument, das mehrere Abschnitte enthält, die wiederum aus einigen Unterabschnitten bestehen. Ich habe den Code geschrieben:

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

So dass meine Abschnitte mit I, II, III, … und jeder Unterabschnitt mit 1, 2, 3, … (und nicht mit I.1, I.2, …) bezeichnet werden.

Aber ich hätte gerne „siehe I.1“ und nicht „siehe 1“ (was den Leser verwirren könnte, weil nicht angegeben ist, in welchem ​​Abschnitt es steht). Mein Code sieht so aus:

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

Danke für jede Antwort!

Antwort1

Der LaTeX-Kernel stellt bereits einen Mechanismus für das bereit, was Sie möchten: Wann immer \labelaufgerufen wird, wird die aktuelle Referenz erstellt, indem

\p@foo\thefoo

wobei fooder zuletzt „refstepped“-Zähler ist. Normalerweise \p@foo(in Ihrem Fall \p@subsection) ist so definiert, dass es auf nichts erweitert wird. Hier ist also ein minimales Beispiel dafür, was Sie tun sollten (ich habe alle nicht wesentlichen Pakete entfernt, um den Hauptteil des Codes besser anzuzeigen).

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

Bildbeschreibung hier eingeben

verwandte Informationen