是否可以实现多行方程,方程居中,但右边的文字注释对居中没有影响?
代替:
E = mc^2 Famous Equation by Einstein
a^2 + b^2 = c^2 Pythagoras
让它类似于:
E = mc^2 Famous Equation by Einstein
a^2 + b^2 = c^2 Pythagoras
当我使用 gather 或类似的多行环境时,其中的 \text 命令会影响整行的居中,而将文本放在这些环境之外会将文本放在新行上。
我也尝试过将文本作为标签来实现,在聚集环境中,它很接近,但由于一些严格的间距要求,它需要非常大的页边距才能“正确”呈现。
答案1
答案2
答案3
\documentclass{article}
\usepackage{amsmath}
\usepackage{tabularray}
\begin{document}
\begin{equation}
\begin{tblr}{colspec={Q[c,m]Q[l,m]},column{2}={cmd=\text}}
E = mc^2 & Famous Equation by Einstein \\
a^2 + b^2 = c^2 & Pythagoras \\
\end{tblr}
\end{equation}
\begin{equation}
\begin{tblr}{colspec={Q[c,m]Q[l,m]},column{2}={cmd=\text,leftsep=40pt}}
E = mc^2 & Famous Equation by Einstein \\
a^2 + b^2 = c^2 & Pythagoras \\
\end{tblr}
\end{equation}
\end{document}
答案4
我要做的就是将注释与其他人的答案对齐,但这不是你要求的,而且提问者规定了……:)
如果您想要注释而不移动居中的方程式,则只需添加文本,但不添加任何水平空格(例如,\rlap
或)。\makebox
0pt
假设您可能还想避免长注释超出边距,您可以使用\parbox
剩余空间(使用linegoal
包计算。警告:这需要二(1+1=2)个汇编)。
还猜测您希望将方程式对齐放置,但不要将其放在页面的中心,以便为注释腾出一些空间,您可以\hspace
在显示模式下添加负数(通过反复试验设置,每个方程式都相同)或在内联模式下使用数组(因此数组不居中)。 MWE 展示了第二种情况:
\documentclass[a5paper]{article}
\usepackage{geometry}
\usepackage{lipsum,parskip}
\usepackage{linegoal,array}
\newcommand\eqnote[2]{#1\rlap{\hspace{1cm}\parbox{\linegoal}{\raggedright #2}}}
%\setlength\extrarowheight{1ex}
\renewcommand{\arraystretch}{3}
\parskip1em
\begin{document}
\lipsum[1][1-3]
\noindent\(
\begin{array}{@{}c@{}}
\eqnote{E=mc^2}{Famous Equation by Einstein}\\
\eqnote{a^2 + b^2 = c^2}{Pythagoras}\\
\eqnote{i\hbar\frac{\partial}{\partial t} \Psi(x,t) = \left [ - \frac{\hbar^2}{2m}\frac{\partial^2}{\partial x^2} + V(x,t)\right ] \Psi(x,t).}{Schrödinger Wave Equation}\\
\eqnote{1 + 1 = 11}{Alternative maths in a unary numeral system.}\\
\eqnote{1=1}{\lipsum[3][1-1]}\\
\eqnote{1+1+1=1+1+1}{\lipsum[3][1-1]}\\
\eqnote{1+1+1+1+1+1=1+1+1+1+1+1}{\lipsum[3][1-1]}\\
\end{array}
\)
\lipsum[2][1-3]
\end{document}