使用 minipage 并排方程式有偏移

使用 minipage 并排方程式有偏移

使用 minipage 并排列出方程式似乎会在其中一个方程式包含分数时给出偏移量:

引用

代码在这里:

\vspace{0.5cm}
\begin{minipage}{.5\linewidth}
    \begin{equation}
    \alpha (u,v) = \frac{N\!A}{n_s \sqrt{1 - \left(\frac{N\!A \rho}{n_s}\right)^2}}
    \label{eq:alpha}
    \end{equation}
\end{minipage}
\begin{minipage}{.5\linewidth}
    \begin{equation}
    d = \alpha \rho z
    \label{eq:disparity}
    \end{equation}
\end{minipage}
\vspace{0.5cm}

有什么办法可以修复这个问题吗?或者有没有更好的方法来达到相同的结果而不产生偏移?

答案1

你需要确保两个物体有相同的高度(和深度)。最简单的方法是将每个方程排版两次,一次用于输出,一次作为垂直幻影。

在幻影中我禁用了\label,所以它不会被看到。

可选参数是为左边的方程保留的空间分数。

\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum} % just for the example

\newcommand{\sidebysideequations}[3][0.5]{%
  \begin{equation*}
  \begin{minipage}{#1\displaywidth}%
  \begin{equation}\vphantom{\def\label##1{}#3}#2\end{equation}
  \end{minipage}
  \begin{minipage}{\dimexpr\displaywidth-#1\displaywidth}
  \begin{equation}\vphantom{\def\label##1{}#2}#3\end{equation}
  \end{minipage}
  \end{equation*}
}

\begin{document}

References: \eqref{eq:alpha}, \eqref{eq:disparity}

\lipsum[1][1-5]
\sidebysideequations[0.6]{
    \alpha (u,v) = \frac{N\!A}{n_s \sqrt{1 - \left(\frac{N\!A \rho}{n_s}\right)^2}}
    \label{eq:alpha}
}{
    d = \alpha \rho z
    \label{eq:disparity}
}
\lipsum[2][1-5]

\end{document}

在此处输入图片描述

答案2

发帖给遇到计算机问题的芭芭拉 (Barbara)。

@Bernard 提供了错位的典型原因: minipage默认情况下,s 垂直居中。但是使用选项 来纠正对齐的建议[t]并没有达到预期的效果;第二个等式现在比第一个等式高一点。

@egreg 已经得出了所需的结果,以及对错位的不同表述原因。但是,只要您了解错位的原因以及 (La)TeX 测量数学表达式的高度和深度的方式,就可以找到一种更紧凑的方式来获得此结果。需要\vphantom仅包含“较高”表达式的元素;没有必要将整个表达式设置两次。如果其中一个方程式在顶部较高,另一个方程式在底部较深,则\vphantom可以根据需要对每个方程式应用最小值,以平衡高度和深度。(这留给读者练习。)

\documentclass{article}

\begin{document}
\thispagestyle{empty}
Using a \verb+\vphantom+:

\noindent
\begin{minipage}{.5\linewidth}
    \begin{equation}
    \alpha (u,v)
       = \frac{N\!A}{n_s \sqrt{1 - \left(\frac{N\!A \rho}{n_s}\right)^2}}
    \label{eq:alpha}
    \end{equation}
\end{minipage}%
\begin{minipage}{.5\linewidth}
    \begin{equation}
    d = \alpha \rho z
       \vphantom{\frac{N}{\sqrt{\left(\frac{N}{n_s}^2\right)}}}
    \label{eq:disparity}
    \end{equation}
\end{minipage}

\bigskip

using the optional \verb+[t]+ for top alignment:

\noindent
\begin{minipage}[t]{.5\linewidth}
    \begin{equation}
    \alpha (u,v)
       = \frac{N\!A}{n_s \sqrt{1 - \left(\frac{N\!A \rho}{n_s}\right)^2}}
    \end{equation}
\end{minipage}%
\begin{minipage}[t]{.5\linewidth}
    \begin{equation}
    d = \alpha \rho z
    \end{equation}
\end{minipage}

\end{document}

在此处输入图片描述

答案3

我们需要设置显示数学的两个输出的共同基线。这可以在\unskip\unpenalty显示\vbox数学关闭并且段落完成后立即完成:

\def\twodisplays#1#2{\vbox{\hsize=.5\hsize$$#1$$\par\unskip\unpenalty}%
                     \vbox{\hsize=.5\hsize$$#2$$\par\unskip\unpenalty}}

Test:
$$\twodisplays
  {
    \alpha (u,v) = {N\!A \over n_s \sqrt{1 - \left( N\!A \rho \over n_s\right)^2}}
    \eqno (1)
  }
  {
    d = \alpha \rho z
    \eqno (2)    
  }
$$
next text.

相关内容