我已经使用 LaTeX 几年了,但找不到与最近出现的以下问题相关的任何有用的答案:
我的论文中有几个方程式,我在附录中给出了它们的推导。由于我不想每次都写“参见附录... 中的推导”,所以我想可以在相应的方程式编号中或末尾包含一些符号。到目前为止,我想到了以下内容:
\documentclass[a5paper]{scrartcl}
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\usepackage{amsmath}
\makeatletter
\def\tagform@#1{\maketag@@@{$\langle$#1$\rangle$\@@italiccorr}}
\makeatother
\numberwithin{equation}{section}
\newcommand{\apptag}{\refstepcounter{equation}\tag*{$\langle$\theequation$\rangle$*}}
\begin{document}
\section{First Section}
Some equation without derivation:
%
\begin{align}
a + b = c
\end{align}
%
Some equation with derivation:
%
\begin{align}
d + e = f \label{d_and_e_and_f} \apptag
\end{align}
%
\section{Second Section}
\appendix
\section{Derivations}
To find \ref{d_and_e_and_f}, note that\ldots
\end{document}
这将产生以下输出:
这是否绕过了宏定义中的任何巧妙程序
\tag
?我还没有深入研究过 LaTeX这深刻,但我想确保这不会在以后产生适得其反的效果。有没有更优雅的方法来实现相同的效果,可能使用一些
amsmath
我不知道的功能?如您所见,我已经找到并使用了一些“更深层次”的代码来重新定义括号;我想知道如果我在相应\addstartotag
等式行的末尾使用一些自定义命令(如),是否有类似的东西可以简单地将星号添加到等式编号中。有没有办法让星号出现在与方程式对齐的假想线的右侧?
附录中
\ref
加了星号,但我并不需要。有什么方法可以避免这种情况吗?
提前致谢! :)
答案1
我会使用该mathtools
包。它还会处理引用(即删除您插入的多余字符)。
关键在于使用不同的标签设置,更新default
标签表单并创建新的标签表单,然后使用\newtagform
并更新标签表单。请参阅软件包的文档以获取更多信息。
因此我的第一个答案是:
\documentclass[a5paper]{scrartcl}
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\usepackage{amsmath}
\usepackage{mathtools}
\renewtagform{default}{$\langle$}{$\rangle^{\phantom{*}}$}
\newtagform{appendix}{$\langle$}{$\rangle^{*}$}
\numberwithin{equation}{section}
\begin{document}
\section{First Section}
Some equation without derivation:
\usetagform{default}
\begin{equation}
a + b = c
\end{equation}
%
Some equation with derivation:
%
\usetagform{appendix}
\begin{equation}
d + e = f \label{d_and_e_and_f}
\end{equation}
%
\section{Second Section}
\appendix
\section{Derivations}
To find \ref{d_and_e_and_f}, note that\ldots
\end{document}
得出的结果为:
请注意,这与指令手动对齐\phantom
。
更精致的解决方案
第二种解决方案是定义新的环境来负责标签的切换:在序言中添加以下两行:
\newenvironment{mynormalequation}{\usetagform{default}\begin{equation}}{\end{equation}}
\newenvironment{myappendixequation}{\usetagform{appendix}\begin{equation}}
然后它可以被扩展:
\documentclass[a5paper]{scrartcl}
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\usepackage{amsmath}
\usepackage{mathtools}
\renewtagform{default}{$\langle$}{$\rangle^{\phantom{*}}$}
\newtagform{appendix}{$\langle$}{$\rangle^{*}$}
\newenvironment{mynormalequation}{\usetagform{default}\begin{equation}}{\end{equation}}
\newenvironment{myappendixequation}{\usetagform{appendix}\begin{equation}}{\end{equation}}
\numberwithin{equation}{section}
\begin{document}
\section{First Section}
Some equation without derivation:
%\usetagform{default}
\begin{mynormalequation}
a + b = c
\end{mynormalequation}
%
Some equation with derivation:
%
%\usetagform{appendix}
\begin{myappendixequation}
d + e = f \label{d_and_e_and_f}
\end{myappendixequation}
\begin{mynormalequation}
c=d
\end{mynormalequation}
\begin{mynormalequation}
c=d+0
\end{mynormalequation}
\begin{myappendixequation}
d + e = f +0\cdot g\label{d_and_e_and_f_andg}
\end{myappendixequation}
\section{Second Section}
\appendix
\section{Derivations}
To find \ref{d_and_e_and_f}, note that\ldots
\end{document}
仍然屈服: