如何用文字和数字标记等式?
\documentclass{article}
\usepackage{mathtools}
\newenvironment{Dequation}
{%
\def\tagform@##1{%
\maketag@@@{\makebox[0pt][r]{(\ignorespaces##1\unskip\@@italiccorr)}}}%
\ignorespaces
}
{%
\def\tagform@##1{\maketag@@@{(\ignorespaces##1\unskip\@@italiccorr)}}%
\ignorespacesafterend
}
\makeatother
\begin{document}
\begin{Dequation}
\begin{align*}
3 &= 3\\
4 &= 4\\
6 &= 6\tag{since $x_0 = 0$}\label{six}
\end{align*}
\end{Dequation}
\end{document}
所以我想引用我的方程式,但我希望引用是equation (1)
。因此,如果有人在寻找该引用,方程式没有编号会显得很奇怪。
答案1
您不应滥用\tag
设置旁注。只需使用对齐方式放置它们:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat}{2}
3 &= 3&\qquad& \notag\\
4 &= 4&&\text{(since \( p \) is prime)} \notag\\
6 &= 6&&\text{(since \( x_0 = 0 \))}\label{six}
\end{alignat}
By equation~\eqref{six}\dots
\end{document}
答案2
以下是获取此双重编号/标记标签的一种相当黑客的方法:
\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\newenvironment{Dequation}
{%
\def\tagform@##1{%
\maketag@@@{\makebox[0pt][r]{(\ignorespaces##1\unskip\@@italiccorr)}}}%
\ignorespaces
}
{%
\def\tagform@##1{\maketag@@@{(\ignorespaces##1\unskip\@@italiccorr)}}%
\ignorespacesafterend
}
\makeatother
\begin{document}
\refstepcounter{equation}\label{six}
\begin{Dequation}
\begin{align*}
3 &= 3\\
4 &= 4\\
6 &= 6\tag{since $x_0 = 0$\upshape{)\,(}\ref{six}}
\end{align*}
\end{Dequation}
See~\eqref{six}.
\end{document}
这是获得输出的简单方法,但绝对可行。您可以手动将相关equation
计数器移出Dequation
环境并标记它。然后以引用形式使用它作为 的一部分\tag
。请注意hyperref
可能对这种方法不太满意。
标记和标签的一种更常见的方法是将设置\tag
为描述符(因此也是方程的一部分)。以下是一种不影响水平对齐的方法:
\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\newenvironment{Dequation}
{%
\def\tagform@##1{%
\maketag@@@{\makebox[0pt][r]{(\ignorespaces##1\unskip\@@italiccorr)}}}%
\ignorespaces
}
{%
\def\tagform@##1{\maketag@@@{(\ignorespaces##1\unskip\@@italiccorr)}}%
\ignorespacesafterend
}
\makeatother
\newcommand{\eqcomment}[1]{\makebox[0pt][l]{\quad\upshape(#1)}}
\begin{document}
\begin{Dequation}
\begin{align}
3 &= 3 \nonumber \\
4 &= 4 \nonumber \\
6 &= 6 \eqcomment{since $x_0 = 0$}\label{six}
\end{align}
\end{Dequation}
See~\eqref{six}.
\end{document}