Ich habe mich gefragt, ob ich die Nummer ändern kann, die in meinem „\labelcref“ erscheint. (Ich verwende hyperref
, cleveref
und nameref
Pakete.) 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 \label
aufgerufen wird, wird die aktuelle Referenz erstellt, indem
\p@foo\thefoo
wobei foo
der 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}