使用 \cref 引用一组连续方程

使用 \cref 引用一组连续方程

我想引用一组连续方程。以下我尝试了以下方法 -

\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref,
cleveref%,hyperref
}
\crefrangelabelformat{equation}{(#3#1#4--#5#2#6)}
\crefname{equation}{Eq.}{Eqs.}
\Crefname{equation}{Equation}{Equations}
\begin{document}
\section{A}
\subsection{B}
\subsubsection{C}
\begin{align}
    x &= y    \label{eq:a}\\
    y &= \sqrt{x-q}\\
    z &= y-20l  \label{eq:b}
\end{align}
\subsubsection{D}
\begin{align}
    B &= D    \label{eq:1}
\end{align}
From \crefrange{eq:a}{eq:b}, we can clearly see\ldots

\Crefrange{eq:a}{eq:b} shows \ldots \end{document}

我得到的输出为“从方程式(1-3)我们可以清楚地看到...方程式(1-3)显示...”

有什么方法可以获得如“方程式 (1.1.1.1–1.1.2.4) 所示的输出”?我只想自动将节号添加到引用中。

为什么我在 cleverer 之后加载 hyperref 会出现错误?

答案1

我使用\numberwithin{equation}{subsection}并得到:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref,cleveref}

\numberwithin{equation}{subsection}
\crefrangelabelformat{equation}{(#3#1#4--#5#2#6)}

\begin{document}
\section{A}
\subsection{B}
\subsubsection{C}
\begin{align}
    x &= y    \label{eq:a}\\
    y &= \sqrt{x-q}\\
    z &= y-20l  \label{eq:b}
\end{align}
\subsubsection{D}
\begin{align}
    B &= D    \label{eq:1}
\end{align}
From \crefrange{eq:a}{eq:b}, we can clearly see\ldots

\Crefrange{eq:a}{eq:b} shows \ldots 

\end{document}

关于包加载顺序您的问题的一部分:哪些包应该在 hyperref 之后加载而不是之前加载?使用 varioref 和 cleveref 时 hyperref 的影响

相关内容