因此,我在对齐两个想要标记/编号的方程式时遇到了问题。我希望将方程式彼此相邻放置,水平方向上等距(在方程式和页面最大值之间),并且对齐,使得两个方程式的等号在水平方向上处于同一作用线上。向您展示可能会更容易...
到目前为止,这是我的三个不充分的解决方案:
解决方案1):
\begin{minipage}[t]{.48\linewidth}
\begin{equation}
\vec{B}_{trap}(\vec{J}_c, \vec{r}) = k \mu_o \vec{J}_c \ \vec{\hat{r}}
\end{equation}\break
\end{minipage}%
\begin{minipage}[t]{.48\linewidth}
\begin{equation}
k = \frac{t}{2a}{\rm{ln}}\left ( \frac{a}{t} + \sqrt{1 + \left ( \frac{a}{t}\right )^{2}} \right )
\end{equation}
\end{minipage}
解决方案2):
\begin{align*}
\vec{B}_{trap}(\vec{J}_c, \vec{r}) = k \mu_o \vec{J}_c \ \vec{\hat{r}} \label{eq:btrap}
& & k = \frac{t}{2a}{\rm{ln}}\left ( \frac{a}{t} + \sqrt{1 + \left ( \frac{a}{t}\right )^{2}} \right ) \\
\end{align*}
解决方案3):
\begin{multicols}{2}
\begin{equation}
\vec{B}_{trap}(\vec{J}_c, \vec{r}) = k \mu_o \vec{J}_c \ \vec{\hat{r}}
\end{equation}
\begin{equation}
k = \frac{t}{2a}{\rm{ln}}\left ( \frac{a}{t} + \sqrt{1 + \left ( \frac{a}{t}\right )^{2}} \right )
\end{equation}
\end{multicols}
排版如下:
如您所见,方法 1 和 3 生成了我需要的编号和引用方程式,因为它们都支持方程式环境,但它们在水平面上也没有对齐 - 等号在水平方向上不共享相同的作用线。虽然该align
方法允许这种水平对齐,但我无法引用多个方程式,因为它只能处理一个\ref{eq1}
。我需要避免使用tabular
或,array
因为我的论文文档会将这些方程式作为表格并将它们列在文档的“表格”部分。我认为到目前为止最好的方法是对齐*,但我无法用该方法生成参考和编号方程式(再次强调,必须将其视为方程式,否则我的“方程式”页面将不会列出它们)
有什么想法吗?谢谢!
答案1
第一个基于 的解决方案之所以会出错,minipage
是因为宽度选择不当。另外,不要使用位置[t]
说明符来表示minipage
环境——你需要两个方程式垂直居中在符号上=
,对吗?
另请注意,我{\rm{ln}}
用替换了\ln
。
\documentclass{article}
\renewcommand\vec[1]{\mathbf{#1}}
\usepackage{amsmath} % for "\numberwithin" macro
\numberwithin{equation}{section} % optional
\begin{document}
\setcounter{section}{2} % just for this example
\noindent % <-- new
\begin{minipage}{.4\linewidth} % <-- new
\begin{equation}
\vec{B}_{\mathrm{trap}}(\vec{J}_c, \vec{r}) =
k \mu_o \vec{J}_c \hat{\vec{r}}
\end{equation}
\end{minipage}\hfill
\begin{minipage}{.5\linewidth}
\begin{equation}
k = \frac{t}{2a}\ln\biggl( \frac{a}{t} +
\sqrt{1 + \Bigl( \frac{a}{t}\Bigr)^{\!2}}\, \biggr)
\end{equation}
\end{minipage}
\end{document}
答案2
如果不添加不需要的空格并且不具备数学显示的所有功能,做到这一点并不容易。
halfequation
这是一个相当通用的版本。 (default )的可选参数0.5
是方程式保留的宽度的分数。
在这种特殊情况下,似乎最好为更大的方程保留更多。
\documentclass{article}
\usepackage{amsmath,array}
\usepackage{lipsum} % for context
\newenvironment{halfequation}[1][0.5]
{\vcenter\bgroup
\hsize=#1\displaywidth
\setlength{\abovedisplayskip}{0pt}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt}
\begin{equation}}
{\end{equation}\egroup}
\begin{document}
\lipsum*[4]
\[
\begin{halfequation}[0.4]\label{a}
\vec{B}_{\mathrm{trap}}(\vec{J}_c, \vec{r}) = k \mu_o \vec{J}_c \, \vec{\hat{r}}
\end{halfequation}
\begin{halfequation}[0.6]\label{b}
k = \frac{t}{2a}\ln\left ( \frac{a}{t} + \sqrt{1 + \left ( \frac{a}{t}\right )^{2}} \right )
\end{halfequation}
\]
\lipsum*[5]
\clearpage
\lipsum*[4]
\begin{equation}
k = \frac{t}{2a}\ln\left ( \frac{a}{t} + \sqrt{1 + \left ( \frac{a}{t}\right )^{2}} \right )
\end{equation}
\lipsum*[5]
\end{document}
我添加了另一页来显示垂直间距相同。