下面的代码在引用方程式时给出了 ??。我该如何修复它?
如果可能的话,如何得到第一个方程的 (1a,1b)?
平均能量损失
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
f: A \to B, g: B \to C \label{eq:1} \\
\begin{aligned}
f(a) &= \ldots \label{eq:2} \\
g(b) &= \ldots \label{eq:3}
\end{aligned}
\end{gather}
\ref{eq:1} \ref{eq:2} \ref{eq:3}
\end{document}
答案1
那么最好使用align
。如果你不想让第一个方程与其他方程对齐,那么可以使用包\mathclap
中的mathtools
无关:cleveref
使用包可以更好地处理交叉引用
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{cleveref}
\begin{document}
\begin{align}
& \mathclap{f: A \to B, g: B \to C} \label{eq:1}
\\
f(a) &= \ldots \label{eq:2}
\\
g(b) &= \ldots \label{eq:3}
\end{align}
\cref{eq:1,eq:2,eq:3}
\ref{eq:1} \ref{eq:2} \ref{eq:3}
\end{document}