使用 cleveref 引用子方程

使用 cleveref 引用子方程

我尝试使用包\cref中的父代数来引用子代数cleveref。但是,当我引用父代数而不是单个代数时,我想将输出“eq. (...)”更改为“eqs. (...)”。不幸的是,这似乎不是默认实现的,或者至少没有\crefformat{parentequation}\crefformat{subequation}可用。

一个简短的例子:

\documentclass{article}

\usepackage{amsmath}
\usepackage{cleveref}

\crefformat{equation}{#2eq.~(#1)#3}
\Crefformat{equation}{#2Eq.~(#1)#3}

\begin{document}

\begin{subequations} \label{parenteq}
\begin{align}
  x + y = z \label{subeq1} \\
  a + b = c \label{subeq2} 
\end{align}
\end{subequations}

\Cref{parenteq} consist of \cref{subeq1} and \cref{subeq2}.

\end{document}

我想看看输出

公式(1)由公式(1a)和公式(1b)组成。

代替

公式(1)由公式(1a)和公式(1b)组成。

答案1

作为一种解决方法,您可以定义复数方程标签:

\documentclass{article}

\usepackage{amsmath}
\usepackage{cleveref}

\crefname{pluralequation}{eqs.}{eqs.}
\Crefname{pluralequation}{Eqs.}{Eqs.}

\crefformat{equation}{#2eq.~(#1)#3}
\Crefformat{equation}{#2Eq.~(#1)#3}

\begin{document}

\begin{subequations} \label{parenteq}\label[pluralequation]{parenteqs}
\begin{align}
  x + y = z \label{subeq1} \\
  a + b = c \label{subeq2} 
\end{align}
\end{subequations}

\Cref{parenteqs} consist of \cref{subeq1} and \cref{subeq2}.

\end{document}

如果\crefname还不够,您可以使用\crefformat\Crefformat来定义pluralequation与 相同的格式equation,例如;

\crefformat{pluralequation}{#2eqs.~(#1)#3}
\Crefformat{pluralequation}{#2Eqs.~(#1)#3}

相关内容