我尝试输入以下两个等式:
这些方程不是子方程。(1.1) 和 (1.2) 中的第一个数字 1 表示章节。我的问题是这些方程的每一部分都是居中的。我无法重现这种对齐。
首先我尝试了包alignat
中的环境amsmath
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{9}
M \ddot x & + & D_s \dot x & + & K x & = & F \cos(\omega t + \delta) & + & P \cos{\gamma} \\[6pt]
\underset{\substack{\text{inertia} \\ \text{force}}}{M \ddot y} & + &
\underset{\substack{\text{damping} \\ \text{force}}}{D_s \dot y} & + &
\underset{\substack{\text{stiffness} \\ \text{force}}}{K y} & = &
\underset{\substack{\text{rotating external} \\ \text{exciting force}}}{F \sin(\omega t + \delta)} & + &
\underset{\substack{\text{constant radial} \\ \text{load force}}}{P \sin{\gamma}}
\end{alignat}
\end{document}
结果如下:
接近我需要的东西,但需要水平对齐。
我尝试搜索并发现这array
最适合对齐需求。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{array}{c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}}
M \ddot x & + & D_s \dot x & + & K x & = & F \cos(\omega t + \delta) & + & P \cos{\gamma} \\
\underset{\substack{\text{inertia} \\ \text{force}}}{M \ddot y} & + &
\underset{\substack{\text{damping} \\ \text{force}}}{D_s \dot y} & + &
\underset{\substack{\text{stiffness} \\ \text{force}}}{K y} & = &
\underset{\substack{\text{rotating external} \\ \text{exciting force}}}{F \sin(\omega t + \delta)} & + &
\underset{\substack{\text{constant radial} \\ \text{load force}}}{P \sin{\gamma}}
\end{array}
\end{equation*}
\end{document}
虽然array
我解决了对齐问题,但现在我无法对这两个方程的每一行进行编号。
然后我找到了eqnarray
包:
\documentclass{article}
\usepackage{amsmath, eqnarray}
\usepackage[colorlinks=true]{hyperref}
\begin{document}
\vspace*{30\baselineskip}
\bgroup\arraycolsep 0.1em
\begin{equationarray}{*{9}{c}}
M \ddot x & + & D_s \dot x & + & K x & = & F \cos(\omega t + \delta) & + & P \cos{\gamma} \label{eq1} \\[6pt]
\underset{\substack{\text{inertia} \\ \text{force}}}{M \ddot y} & + &
\underset{\substack{\text{damping} \\ \text{force}}}{D_s \dot y} & + &
\underset{\substack{\text{stiffness} \\ \text{force}}}{K y} & = &
\underset{\substack{\text{rotating external} \\ \text{exciting force}}}{F \sin(\omega t + \delta)} & + &
\underset{\substack{\text{constant radial} \\ \text{load force}}}{P \sin{\gamma}} \label{eq2}
\end{equationarray}
\egroup
Equations \ref{eq1} and \ref{eq2} have\ldots
\end{document}
一开始我以为我解决了我的问题,但是当我点击方程式的红色链接时,我被滚动到了 pdf 页面的顶部……
我应该用什么来进行水平对齐?
答案1
您可以使用IEEEeqnarray
。IEEEtrantools
这里我指定了交替居中的列,一个用于普通材料,一个用于关系/操作符号。
我还为描述添加了更简单的语法。
\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}
\makeatletter
\newcommand{\explain}[2]{\underset{\explain@{#1}}{\mathstrut#2}}
\newcommand{\explain@}[1]{%
\textnormal{%
\fontsize{\sf@size}{\fpeval{\sf@size*1.2}}\selectfont
\begin{tabular}[t]{@{}c@{}}#1\end{tabular}%
}%
}
\makeatother
\begin{document}
\begin{IEEEeqnarray}{cCcCcCcCc}
M \ddot{x} & + &
D_s \dot{x} & + &
Kx & = &
F \cos(\omega t + \delta) & + &
P \cos{\gamma}
\\[6pt]
\explain{inertia \\ force}{M \ddot y} & + &
\explain{damping \\ force}{D_s \dot y} & + &
\explain{stiffness \\ force}{K y} & = &
\explain{rotating external \\ exciting force}{F \sin(\omega t + \delta)} & + &
\explain{constant \\ radial \\ load force}{P \sin{\gamma}}
\end{IEEEeqnarray}
\end{document}
答案2
在您的例子中,您可以使用eqparbox
包。它有助于制作相同宽度的盒子对。制作完成后,只需使用简单的“对齐”即可正确对齐方程式。
示例可能如下所示:
\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\usepackage[colorlinks=true]{hyperref}
\begin{document}
\vspace*{30\baselineskip}
\begin{align}
\eqmakebox[a]{$M \ddot x$} +
\eqmakebox[b]{$D_s \dot x$} +
\eqmakebox[c]{$K x$} &=
\eqmakebox[d]{$F \cos(\omega t + \delta)$} +
\eqmakebox[e]{$P \cos{\gamma}$} \label{eq1} \\[6pt]
\eqmakebox[a]{$\underset{\substack{\text{inertia} \\ \text{force}}}{M \ddot y}$} +
\eqmakebox[b]{$\underset{\substack{\text{damping} \\ \text{force}}}{D_s \dot y}$} +
\eqmakebox[c]{$\underset{\substack{\text{stiffness} \\ \text{force}}}{K y}$} &=
\eqmakebox[d]{$\underset{\substack{\text{rotating external} \\ \text{exciting force}}}{F \sin(\omega t + \delta)}$} +
\eqmakebox[e]{$\underset{\substack{\text{constant radial} \\ \text{load force}}}{P \sin{\gamma}}$} \label{eq2}
\end{align}
Equations \eqref{eq1} and \eqref{eq2} have\ldots
\end{document}