`cleveref`를 사용한 범위 형식

`cleveref`를 사용한 범위 형식

패키지에서 여러 참조를 처리하는 방식을 사용자 정의하고 싶습니다 cleveref. (eq0, eq1, eq3, eq4)즉, 쉼표로 구분된 형식을 갖고 싶습니다 .~하지 않는 한참조 세트는 완전한 범위를 형성합니다. 이 경우 예 (eq0--eq3)를 들어 .대시 대신 en-대시를 사용하고 싶습니다 (eq0, eq1, eq2, eq3).

그러나 나는 \begin{equation} ... \end{equation}환경을 사용하지 않습니다. 나는 다음 매크로를 사용합니다: \newcommand{\nt}{\addtocounter{equation}{1}\tag{\theequation}}그리고 \begin{equation*} ... \nt \end{equation*}. 방정식만이라면 *-d가 아닌 버전을 사용하는 것으로 바꿀 수 있습니다. 그러나 제가 해당 매크로를 계속 사용하려는 다른 이유가 있습니다 \nt.

다음은 최소한의 작업 예입니다. (너무 길어서 죄송합니다만, 제가 얻을 수 있는 만큼 짧습니다!)

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

cleveref매크로를 사용해보면 이게 풀레인지가 아니라는 걸 왠지 모르는 것 같습니다 \nt. 아마도 그것은 cleveref그것을 보는 것과 관련이 있을 것입니다.환경,보다는카운터?


편집하다.Mico 는 \refstepcounter. ​자세한 내용은 알려주지 않았지만 어쨌든 위에서 변경했습니다.\nt\label

관련 정보