如何在多列环境中对齐方程式

如何在多列环境中对齐方程式

我使用以下代码

\begin{multicols}{2}
\noindent

    \begin{equation}
    F_{besch}=m_{fzg} \cdot a_{trans}
    \label{eq:trans}
    \end{equation}

    \begin{equation}
    M_{besch}=\sum_{n=1}^{n}J_{n} \cdot \dot{\omega}_{n}
    \label{eq:rot}
    \end{equation}
\end{multicols}

在一行中写两个方程式。

方程式不一致

从图中可以看出,方程式并不完全对齐(可能是由于总和)。

如何才能使它们保持一致?

答案1

您可以并排使用两个迷你页面,并\vphantom在 lhs 等式中使用。由于您的索引看起来像单词,因此最好将它们输入为文本。

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath}

\begin{document}

\noindent\begin{minipage}{0.49\linewidth}
    \begin{equation}
    F_\text{besch}=m_{fzg} \cdot a_\text{trans}\vphantom{\sum_{n=1}^{n}J_{n}}
    \label{eq:trans}
    \end{equation}
\end{minipage}
\hfill
\begin{minipage}{0.48\linewidth}
    \begin{equation}
    M_\text{besch}=\sum_{n=1}^{n}J_{n} \cdot \dot{\omega}_{n}
    \label{eq:rot}
    \end{equation}
\end{minipage}

\end{document} 

在此处输入图片描述

答案2

由于添加了各种垂直跳跃,因此使用起来multicols并不简单。我建议以下几点minipages

示例输出

\documentclass{article}

\usepackage{amsmath,multicol}

\begin{document}

Text
\begin{center}
  \begin{minipage}[b]{.45\textwidth}
  \begin{equation}
      F_{\mathit{besch}}=m_{\mathit{fzg}} \cdot a_{\mathit{trans}}
      \label{eq:trans}
    \end{equation}
  \end{minipage}
  \quad
  \begin{minipage}[b]{.45\textwidth}
    \begin{equation}
      M_{\mathit{besch}}=\sum_{n=1}^{n}J_{n} \cdot \dot{\omega}_{n}
      \label{eq:rot}
    \end{equation}
  \end{minipage}
\end{center}

\end{document}

注意b对齐基线的对齐选项。

我还添加了\mathit多字母上标以获得更好的间距;\mathrm根据上下文,实际上可能更合适。

答案3

我认为你滥用了multicols环境。考虑使用两个并排的minipage环境(每个环境的宽度0.45\textwidth相同)。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\numberwithin{equation}{section} % just for this example
\newcommand{\vn}[1]{\mathit{#1}} % to typeset variable names
\usepackage{newtxtext,newtxmath} % optional

\begin{document}
\setcounter{section}{2}  % just for this example
\setcounter{equation}{3} % just for this example

\hrule % just to illustrate width of text block
\noindent
\begin{minipage}{0.45\textwidth}
    \begin{equation} \label{eq:trans}
    F_{\vn{besch}}=m_{\vn{fzg}} \cdot a_{\vn{trans}}
    \vphantom{\sum_1^n} % to balance heights of formulas across the equations
    \end{equation}
\end{minipage}
\hfill % maximize horiz. separation between the 'minipage' environments
\begin{minipage}{0.45\textwidth}
    \begin{equation} \label{eq:rot}
    M_{\vn{besch}}=\sum_{n=1}^n J_n \cdot \dot{\omega}_n
    \end{equation}
\end{minipage}
\end{document}

答案4

我猜你只想让这两个方程并行。为此,最好使用tabular具有m列类型的环境(来自包array):

在此处输入图片描述

(红线表示文本边框)

\documentclass{article}
\usepackage{array}

\begin{document}
\noindent%
\begin{tabular}{@{} *2{m{\dimexpr0.5\linewidth-\tabcolsep}} @{}}
    \begin{equation}
    F_\mathit{besch}=m_\mathit{fzg} \cdot a_\mathit{trans}
    \label{eq:trans}
    \end{equation}
&
    \begin{equation}
    M_\mathit{besch}=\sum_{n=1}^{n}J_{n} \cdot \dot{\omega}_{n}
    \label{eq:rot}
    \end{equation}
\end{tabular}
\end{document}

相关内容