我正在写一本书,我想展示公式编号的格式;我的意思是,我想告诉学生,他们可以在论文或作业等文件中将编号放在公式行的开头或结尾。
因此,在一个示例中,我想将方程编号放在方程的右侧,而在另一个示例中,我想在行首的方程左侧显示方程编号。我确实尝试了以下答案,但它们会更改整个文档中的编号格式。我如何在本地执行此操作?
这是我根据以下情况尝试的评论对于我的问题以及与使用 amsmath 包相关的问题:
在同一文档中切换 leqno 和 reqno 选项(amsmath 的)
%pdflatex
\documentclass{article}
\usepackage[leqno]{amsmath}
\makeatletter
\newcommand{\leqnomode}{\tagsleft@true}
\newcommand{\reqnomode}{\tagsleft@false}
\makeatother
\begin{document}
\reqnomode
\begin{align}\tag{1}
\frac{{{\partial ^2}u}}{{\partial {r^2}}} + \frac{1}{r}\frac{{\partial u}}{{\partial r}} - \frac{u}{{{r^2}}} = \frac{1}{{{c_1}^2}}\frac{{{\partial ^2}u}}{{\partial {t^2}}}
\end{align}
\\[-10pt]
\leqnomode
\begin{align}\tag{1}
\frac{{{\partial ^2}u}}{{\partial {r^2}}} + \frac{1}{r}\frac{{\partial u}}{{\partial r}} - \frac{u}{{{r^2}}} = \frac{1}{{{c_1}^2}}\frac{{{\partial ^2}u}}{{\partial {t^2}}}
\end{align}
\end{document}
但是,当我第一次编写文件时,我没有使用 amsmath 包,因为在我的文档中,我只有两个方程式作为示例。我并不打算使用该包编写复杂的数学方程式。因此,我正在寻找一种简单的方法来制作此类方程式的标签。
答案1
其他人现在已经发布了答案,但据记录,这是我的想法。它适用于所有标准类(、、article
等),但如果加载则不行,因此 AMS 类,请参见下文。memoir
scrartcl
amsmath
\documentclass{article}
\makeatletter
\let\r@eqnnum\@eqnnum
\input{leqno.clo}
\let\l@eqnnum\@eqnnum
\newcommand{\leqnos}{\let\@eqnnum\l@eqnnum}
\newcommand{\reqnos}{\let\@eqnnum\r@eqnnum}
\reqnos
\makeatother
\begin{document}
\begin{equation}
\label{eq:x}
x = y
\end{equation}
\begingroup\leqnos
\begin{equation}
\label{eq:a}
a = b
\end{equation}\endgroup
and
\begin{equation}
\label{eq:b}
b = a.
\end{equation}
\end{document}
如果您加载amsmath
(直接或间接,例如通过mathtools
AMS documentclass),那么正如 Silvio Levy 指出的那样,标签的位置由不同的变量控制。在这种情况下,您可以使用以下内容:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\leqnos}{\tagsleft@true\let\veqno\@@leqno}
\newcommand{\reqnos}{\tagsleft@false\let\veqno\@@eqno}
\reqnos
\makeatother
\begin{document}
\begin{equation}
\label{eq:x}
x = y
\end{equation}
\begingroup\leqnos
\begin{equation}
\label{eq:a}
a = b
\end{equation}\endgroup
and
\begin{equation}
\label{eq:b}
b = a.
\end{equation}
\end{document}
答案2
仔细查看类选项leqno
可以发现,它leqno.clo
仅需一次重新定义即可加载:
\ProvidesFile{leqno.clo}
[1998/08/17 v1.1c Standard LaTeX option
(left equation numbers)]
\renewcommand\@eqnnum{\hb@[email protected]\p@{}%
\rlap{\normalfont\normalcolor
\hskip -\displaywidth(\theequation)}}
\endinput
下面的例子只是本地加载leqno.clo
以获取其中一个示例左侧的方程编号:
\documentclass{article}
\begin{document}
\noindent
First example with equation number to the right (default):
\begin{equation}
\frac{\partial ^2 u}{\partial r^2} + \frac{1}{r}
\frac{\partial u}{\partial r} - \frac{u}{r^2}
= \frac{1}{c_1^2}\frac{\partial^2 u}{\partial t^2}
\end{equation}
Second example applies class option \texttt{leqno} in a group:
\begingroup
\makeatletter
\input{leqno.clo}
\makeatother
\begin{equation}
\frac{\partial ^2 u}{\partial r^2} + \frac{1}{r}
\frac{\partial u}{\partial r} - \frac{u}{r^2}
= \frac{1}{c_1^2}\frac{\partial^2 u}{\partial t^2}
\end{equation}
\endgroup
\end{document}
答案3
每当您的文档包含大量数学内容时,您都应该加载amsmath
。
但是,为了回答你的问题,最简单的方法是一生使用一次“禁忌” $$
。毕竟,我们知道在这个特定情况下我们在做什么。
\documentclass[leqno]{article}
\usepackage{lipsum}
\begin{document}
\lipsum*[2]
\begin{equation}
\frac{\partial^2u}{\partial r^2} +
\frac{1}{r}\frac{\partial u}{\partial r} -
\frac{u}{r^2} =
\frac{1}{c_1^2}\frac{\partial^2u}{\partial t^2}
\end{equation}
\lipsum*[3]
$$
\frac{\partial^2u}{\partial r^2} +
\frac{1}{r}\frac{\partial u}{\partial r} -
\frac{u}{r^2} =
\frac{1}{c_1^2}\frac{\partial^2u}{\partial t^2}
\refstepcounter{equation}
\label{whatever}
\eqno{(\theequation)}
$$
\lipsum[2]
\end{document}
注意。你的牙套太多了。而且{c_1}^2
想要c_1^2
:真的。