我到处寻找以下问题的答案(包括在这个网站上、谷歌等),但没有成功,我希望有人可以回答它(如果它是其他地方回答过的某个问题的重复,那么指向该问题的链接会很好)。
我的问题是关于在同一篇论文中设置两个不同的方程式标记环境(使用 LaTeX 生成amsart
)。我希望有两个清楚的方程命令,比如{equation}
和{eqn}
,所以我可以写类似
\numberwithin{equation}{subsection}
和
\numberwithin{eqn}{subsubsection}
在顶部内容中,通过选择
\begin{equation}....\end{equation}
或者
\begin{eqn}...\end{eqn}
我可以灵活地安排显示表达式的自动标签以样式显示(x.y.z)
或(x.y.z.w)
由我自行决定。如何做到这一点(最好尽量减少麻烦)?
对于其他类型的环境,例如theorems
、remarks
等,我知道可以使用框架{theoremstyle}
来定义不同的命令(例如{theorem}
、{thm}
以及{remark}
、{rem}
等),以某种方式创建这些命令,以便出现不同级别的数字标记(例如Theorem x.y.z
与Theorem x.y.z.w
)。但我不知道如何对显示的表达式的标记做同样的事情,因为这个词似乎equation
在 LaTeX 中被保留,而这个词theorem
却没有(除非我忽略了一些众所周知的东西,这是完全有可能的)。
提前致谢!
答案1
您可以使用包tag
定义的命令,ams
如下所示
\newenvironment{eqn}{\refstepcounter{equation}\equation}{\tag{\thesubsection.\theequation}\endequation}
这是一个完整的 MWE,可供使用。
% arara: pdflatex
\documentclass{amsart}
\newenvironment{eqn}{\refstepcounter{equation}\equation}{\tag{\thesubsection.\theequation}\endequation}
\begin{document}
\subsection{test}
\begin{equation}
y=mx+b
\end{equation}
\begin{eqn}
f(x)=x^2
\end{eqn}
\begin{equation}
G(x)=\cos(x)
\end{equation}
\end{document}
答案2
这是一个通用的想法,目前仅适用于右方程数。仍需要进行一些更深入的研究。eqn
定义了称为的附加 LaTeX 计数器。
您指出标签名称存在问题。但它们几乎可以随意命名。
\documentclass[reqno]{amsart}
\begin{document}
\makeatletter
\@definecounter{eqn}
\def\eqn{$$\refstepcounter{eqn}}
\def\endeqn{\eqno \hbox{\@eqnNum}$$\@ignoretrue}
\def\@eqnNum{{\normalfont \normalcolor (\theeqn)}}
\makeatother
\section{First}
\numberwithin{equation}{subsection}
%and
\numberwithin{eqn}{subsubsection}
in the topmatter so that by choosing either
\begin{equation} ....\end{equation}
or
\begin{eqn}...\end{eqn}
\begin{equation} ....\end{equation}
or
\begin{eqn}...\end{eqn}
\end{document}