Präfix für \externaldocument-Referenzen in \cleveref

Präfix für \externaldocument-Referenzen in \cleveref

Die FrageSonderfall für das letzte Element mit \foreachdie Referenzen manuell geändert und die Möglichkeit hinzugefügt, Referenzen mit einem Präfix zu versehen. Kann ich dasselbe mit tun \cleveref?

(Hinweis: Dies ist eine \cleverefVersion der FragePräfix automatisch zu Referenzen aus einem anderen Dokument hinzufügen?)

Ansatz 1: Haben Sie ein \crefex, oder benennen Sie es um \cref, was das Hinzufügen eines Präfixes ermöglicht. Zum Beispiel

documentclass{article}
\usepackage{cleveref, xr}
\crefname{equation}{}{}
\crefname{figure}{figure}{Figure}
\newcommand{\crefex}[2][]  { %
\cref{#2} %But modify to add #1 as a prefix...
}
\begin{document}
    \section{sec1}\label{sec:sec1}
    \begin{equation}    1 = 1 \label{eq:eq1}    \end{equation}
    \begin{figure}\caption{fig1}\label{fig:fig1}\end{figure}
\crefex[TA.]{sec:sec1}, \crefex[TA.]{eq:eq1}, \crefex[TA.]{fig:fig1}
\end{document}

die als Referenzen ausgegeben werden sollten, wenn \crefexsie abgeschlossen sind.

section TA.1, (TA.1), figure TA.1

Ansatz 2: Alternativ könnte es automatisch erkennen, ob eine externe Referenz vorhanden ist, und eine Art Präfix hinzufügen, das als Variable definiert ist?

Erstellen Sie eine Datei external_document.texmit dem folgenden Text und kompilieren Sie sie einige Male.

\documentclass{article}
\usepackage{cleveref}
\crefname{equation}{}{}
\crefname{figure}{figure}{Figure}
\begin{document}
    \section{sec1}\label{sec:sec1}
    \begin{equation}    1 = 1 \label{eq:eq1}    \end{equation}
    \begin{figure}\caption{fig1}\label{fig:fig1}\end{figure}
    \cref{sec:sec1}, \cref{eq:eq1}, \cref{fig:fig1}
\end{document}

Erstellen Sie dann eine weitere Datei mit:

\documentclass{article}
\usepackage{cleveref, xr}
\crefname{equation}{}{}
\crefname{figure}{figure}{Figure}
\externaldocument[EX.]{external_document}
\begin{document}
    \section{sec1}\label{sec:sec1}
    \begin{equation}    1 = 1 \label{eq:eq1}    \end{equation}
    \begin{figure}\caption{fig1}\label{fig:fig1}\end{figure}
    \cref{sec:sec1}, \cref{eq:eq1}, \cref{fig:fig1}
    \subsection{External References}
    \cref{EX.sec:sec1}, \cref{EX.eq:eq1}, \cref{EX.fig:fig1}
\end{document}

Dadurch werden sowohl die internen als auch die externen Referenzen korrekt ausgegeben. Wie können wir die automatische Erkennung der externen Referenzen hinzufügen, die das Präfix \externaldocumentwie oben beschrieben hinzufügt?

verwandte Informationen