![使用 cleveref 引用子方程](https://linux22.com/image/242923/%E4%BD%BF%E7%94%A8%20cleveref%20%E5%BC%95%E7%94%A8%E5%AD%90%E6%96%B9%E7%A8%8B.png)
我尝试使用包\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}