
Ich möchte die Art und Weise anpassen, wie mehrere Referenzen im cleveref
Paket behandelt werden. Ich möchte die Form haben (eq0, eq1, eq3, eq4)
, also durch Kommas getrennt,es sei denndie Verweise bilden einen vollständigen Bereich, in diesem Fall hätte ich gerne einen Halbgeviertstrich, zB (eq0--eq3)
statt (eq0, eq1, eq2, eq3)
.
Ich verwende die Umgebung jedoch nicht \begin{equation} ... \end{equation}
. Ich verwende das folgende Makro: \newcommand{\nt}{\addtocounter{equation}{1}\tag{\theequation}}
und \begin{equation*} ... \nt \end{equation*}
. Wenn es nur Gleichungen wären, könnte ich einfach auf die *
Version ohne -d umsteigen. Es gibt jedoch andere Gründe, warum ich bei diesem \nt
Makro bleiben möchte.
Unten sehen Sie ein minimales funktionierendes Beispiel. (Entschuldigen Sie, dass es ziemlich lang ist, aber ich konnte es so kurz wie möglich halten!)
\documentclass[]{article}
\usepackage{amsmath,cleveref}
\newcommand{\nt}{\refstepcounter{equation}\tag{\theequation}}
\crefformat{equation}{(#2#1#3)}
\crefmultiformat{equation}{(#2#1#3}{, #2#1#3)}{, #2#1#3}{, #2#1#3)}
\crefrangeformat{equation}{(#3#1#4--#5#2#6)}
\begin{document}
\setcounter{equation}{-1}
\begin{equation}\label{0} 0\end{equation}
\begin{equation}\label{1} 1\end{equation}
\begin{equation}\label{2} 2\end{equation}
\begin{equation}\label{3} 3\end{equation}
\begin{equation}\label{4} 4\end{equation}
\begin{equation*}\nt\label{5} 5\end{equation*}
\begin{equation*}\nt\label{6} 6\end{equation*}
\begin{equation*}\nt\label{7} 7\end{equation*}
\begin{equation*}\nt\label{8} 8\end{equation*}
\begin{equation*}\nt\label{9} 9\end{equation*}
\texttt{\textbackslash cref\{0,1,3,4\}}: \cref{0,1,3,4}
%this prints the desired `(0, 1, 3, 4)`
\texttt{\textbackslash cref\{5,6,8,9\}}: \cref{5,6,8,9}
%this prints the undesired `(5--9)`
\end{document}
Es scheint, dass cleveref
er irgendwie nicht weiß, dass dies kein vollständiger Bereich ist, wenn ich das \nt
Makro verwende. Vielleicht hat es etwas damit zu tun, dass ich cleveref
mir dieUmfeld, eher als dasSchalter?
Bearbeiten.
Mico schien vorzuschlagen, zu verwenden \refstepcounter
und \nt
vor zu platzieren \label
. Sie gaben keine weiteren Einzelheiten bekannt, aber ich habe die obigen Änderungen trotzdem vorgenommen.