我对 LaTeX 的使用还比较陌生,不知道如何解决这个问题。
我有几个以一般形式写的方程,但在写它们时,我想表明一般形式只是三个具体公式的概括;即
我有这个
但我想要这个:
PS:我可以像这篇文章一样使用命令标签为方程环境自定义方程编号?,但我有超过 60 个方程式,我无法为每一行单独使用命令标签(此外,手动执行时可能会出现多个错误)有人可以帮帮我吗?
我的 MWE 是:
\documentclass[a4paper,12pt]{article}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\begin{document}
\begin{equation}
E=mc^2
\end{equation}
\end{document}
编辑:为了更清楚起见,我将一些方程式加上下标(j),而将其他方程式不加下标;我希望那些带有下标的方程式不只算作一个方程式;而是从 n(前一个方程式的数量)到 j(从 1 到 3)。我知道如何手动设置,但这既不高效,也不会出现错误,因为我们讨论的是不同部分中的 100 多个方程式)。例如:
我的 MWE 如下:
\begin{document}
\begin{equation}
F=ma
\end{equation}
\begin{equation}
E=m_{j}c^2 \tag{2), (3), (4}
\end{equation}
\setcounter{equation}{4}
\begin{equation}
A=B+C
\end{equation}
\begin{equation}
D_{j}= E_{j} + F_{j} \tag{6), (7), (8}
\end{equation}
\end{document}
答案1
我不确定这是否是个好主意,特别是如果你从不提及任何单个案例。你可以只引用“方程式 (1)”,这将提示读者它们不止一个。
无论如何,这里有一个实现,它还允许引用一堆中的一个方程式。
\documentclass{article}
\usepackage{amsmath,xparse}
\ExplSyntaxOn
\NewDocumentCommand{\multinumber}{mo}
{
\addtocounter{equation}{-1}
\seq_clear:N \l__ignacio_multinumber_seq
\int_step_inline:nn { #1 }
{
\refstepcounter{equation}
\IfValueT{#2}{ \use:c{ ltx@label } {#2-##1} }
\seq_put_right:Nx \l__ignacio_multinumber_seq { (\theequation) }
}
\tag* { \seq_use:Nn \l__ignacio_multinumber_seq { ,~ } }
\addtocounter{equation}{1}
}
\ExplSyntaxOff
\begin{document}
References: \ref{Einstein} (global), \ref{Einstein-1} (first)
\begin{equation}
F=ma
\end{equation}
\begin{equation}\label{Einstein}
E=m_{j}c^2 \multinumber{3}[Einstein]
\end{equation}
\begin{equation}
A=B+C
\end{equation}
\begin{equation}
D_{j}= E_{j} + F_{j} \multinumber{3}
\end{equation}
\end{document}
答案2
不确定使用标签作为参考是否是个好主意,因为这样它应该被计算吗?1+2+3=4 还是只是 1+2+3?读者对下一个等式的期望是什么,4 还是 5?也就是说,序列必须是 1,2,3,1+2+3,4,... 或者可能是 1,2,3,1+2+3(=4),5...?
无论如何,对于第一种情况,可以使用\label{}
和\ref{}
,而对于第二种情况,还必须\addtocounter{equation}{1}
在第四个 (1+2+3) 等式中添加:
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\usepackage[colorlinks]{hyperref}
\begin{document}
Siendo la masa ...
\begin{equation}\label{a}
m = \gamma m_0 = \frac{m_0}{\sqrt{1-v^2/c^2}}
\end{equation}
Y el momento linear es bla bla ...
\begin{equation}\label{b}
E = \sqrt{p^2c^2+m^2c^4} = \gamma mc^2
\end{equation}
Por lo dicho anteriormente, ....
\begin{equation}\label{c}
\gamma = \frac{1}{\sqrt{1-(\frac{v}{c})^2}}
\approx 1+ \frac{1}{2} \left(\frac{v}{c} \right)^2
\end{equation}
Entonces, juntándolo todo \eqref{d} llegamos a:
\begin{equation}\label{d}
%\addtocounter{equation}{1}
E=mc^2 \tag{\ref{a},\ref{b},\ref{c}}
\end{equation}
Lo que está tan claro como que 2 y 2 son:
\begin{equation}\label{e}
2+2=22
\end{equation}
\end{document}
答案3
这使得您可以通过命令添加多个方程编号\multitag
。
\documentclass[a4paper,12pt]{article}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{mathtools}
\newcounter{iloop}
\newcounter{imax}
\newcommand{\MultiNum}{\edef\temp{}%
\setcounter{iloop}{0}\loop%
\stepcounter{iloop}%
\ifnum\value{iloop}<\value{imax}%
\edef\temp{\temp\number\value{equation}),(}\refstepcounter{equation}%
\repeat%
\edef\temp{\temp\number\value{equation}}%
\refstepcounter{equation}}
\newcommand\multitag[1][1]{\setcounter{imax}{#1}%
\MultiNum%
\tag{\temp}}
\begin{document}
Einstein
\begin{equation}\label{eq:Einstein}
E=mc^2 \multitag[3]
\end{equation}
Photon
\begin{equation}\label{eq:Photon}
E=h\nu \multitag[2]
\end{equation}
Thermo
\begin{equation}
E=TS
\end{equation}
Wrong
\begin{equation}\label{eq:Wrong}
E=mc^3
\end{equation}
\eqref{eq:Wrong} is wrong, \eqref{eq:Einstein} is correct, and so is \eqref{eq:Photon}.
\end{document}