
Ich habe eine Liste mit mehreren Bedingungen mit einem Parameter und möchte den Parameter explizit in das Tag der Bedingung aufnehmen. Allerdings möchte ich später im Text auch auf die Definition jeder Bedingung (mit dem festgelegten Parameter) verweisen. (Das ist etwas schwierig zu beschreiben, aber wenn Sie sich den Code unten ansehen, sollte hoffentlich klar sein, was ich meine.)
Kann dies mit enumitem (oder einem anderen, hoffentlich kompatiblen Paket) erreicht werden?
Mwe:
\documentclass{article}
\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{enumitem}
\newtheorem*{theorem}{Theorem}
\begin{document}
Consider the following conditions:
\begin{enumerate}[label=(\roman{*})$_n$]
\item
\label{item:first_condition}
Some condition
\item
\label{item:second_condition}
Some other conditon.
\end{enumerate}
How I would imagine I could type it:
\begin{theorem}
\ref{item:first_condition}[7] holds.
\end{theorem}
\begin{theorem}
If \ref{item:second_condition}[n] holds, then \ref{item:first_condition}[n+2] holds.
\end{theorem}
How I would like it to look like:
\begin{theorem}
(i)$_7$ holds.
\end{theorem}
\begin{theorem}
If (ii)$_n$ holds, then (i)$_{n+2}$ holds.
\end{theorem}
\end{document}
Antwort1
Sie können das Label und die ref
Ausgabe separat in enumitem festlegen, indem Sie sowohl den label
als auch den ref
Schlüssel für verwenden \begin{enumerate}
. Dies kann verwendet werden, um dieNin der Beschriftung, aber nicht in der Referenz. Dadurch können Sie die Gleichung anhand der Hauptnummer referenzieren und Ihren eigenen Index hinzufügen.
Jetzt können Sie mit dem Befehl einen separaten Referenzierungsbefehl mit zwei Argumenten, der Gleichung und dem Index, definieren \hyperref[target label]{link text}
.
Um eine doppelte Linkbox zu vermeiden, können Sie den Link für \ref
die Verwendung der Sternform ( \ref*
) deaktivieren und \hyperref
die Linkbox (oder den Farblink mit \usepackage[colorlinks]{hyperref}
) für die kombinierte Beschriftung erstellen lassen.
MWE:
\documentclass{article}
\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{enumitem}
\newcommand{\nref}[2]{\hyperref[#1]{\ref*{#1}$_{#2}$}}
\newtheorem*{theorem}{Theorem}
\begin{document}
Consider the following conditions:
\begin{enumerate}[label=(\roman{*})$_n$,ref=(\roman*)]
\item
\label{item:first_condition}
Some condition
\item
\label{item:second_condition}
Some other conditon.
\end{enumerate}
How I would imagine I could type it:
\begin{theorem}
\nref{item:first_condition}{7} holds.
\end{theorem}
\begin{theorem}
If \nref{item:second_condition}{n} holds, then \nref{item:first_condition}{n+2} holds.
\end{theorem}
How I would like it to look like:
\begin{theorem}
(i)$_7$ holds.
\end{theorem}
\begin{theorem}
If (ii)$_n$ holds, then (i)$_{n+2}$ holds.
\end{theorem}
\end{document}
Ergebnis: