mathtools:用单词和数字进行标记

mathtools:用单词和数字进行标记

如何用文字和数字标记等式?

\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}

相关内容