为了组织方程中的常用项,对齐方程的最佳方法是什么?(对齐与数组)

为了组织方程中的常用项,对齐方程的最佳方法是什么?(对齐与数组)

这个问题是关于用户的意见和经验的。

为了组织方程中的常用项,对齐方程的最佳方法是什么?

在下面描述的特定情况下什么是可取的?(对齐与数组)

我已经使用 LaTeX 一段时间了,每次使用某个命令时,总会有人说“嘿,你应该使用这个其他命令”,这让我很困扰。虽然我喜欢有选择,但有时要找出其中最好的选择并不容易。在这个特殊情况下,我们谈论的是包数学

两个环境都在方程内,以便只有一个方程编号。想法是使用每列的右对齐,例如所有常数都对齐,数字放在左边。它产生了一种非常整洁的风格。

以下是关于 MWE 的讨论:

  1. 我必须使用更多的&s 来aligned对齐常量,同时array使用较少的(array+1);

  2. rcl虽然需要位移( +1),aligned但有了它们我就可以控制位移(+1);arrayalignedarray

  3. array是基本矩阵环境,它应该在矩阵之外使用吗?;

  4. 中的行间距array比中的小alignedaligned看起来好多了(aligned+1)。

从我的角度来看,aligned更适合这种组织,但我并不认为 有什么严重错误array

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
  \begin{aligned}
    y(x)  & = y_h(x) + y_p(x)   &   &  &       &  &   &  &       &  &   &  &    &  &     \\
    y(0)  & = y_h(0) + y_p(0)   & = &  & c_1   &  & + &  & c_2   &  & + &  & A  &  & = 2 \\
    y'(0) & = y'_h(0) + y'_p(0) & = &  & - c_1 &  & + &  & 2 c_2 &  & + &  & 3A &  & = 1
  \end{aligned}
\end{equation}
\begin{equation}
  \begin{array}{rlcrrrcrl}
    y(x)  & = y_h(x) + y_p(x)   &   &       &   &       &   &    &     \\
    y(0)  & = y_h(0) + y_p(0)   & = & c_1   & + & c_2   & + & A  & = 2 \\
    y'(0) & = y'_h(0) + y'_p(0) & = & - c_1 & + & 2 c_2 & + & 3A & = 1
  \end{array}
\end{equation}
\end{document}

答案1

列中有太多不同的对齐,因此alignedat管理起来变得相当复杂。

我会选择一个合适的array

\documentclass{article}
\usepackage{amsmath,array}

\begin{document}

\begin{equation}
  % convenient local assignments
  \newcolumntype{R}{>{\displaystyle}r}
  \newcolumntype{L}{>{\displaystyle}l}
  \newcolumntype{C}{>{{}}c<{{}}}
  % let TeX compute the spacing
  \setlength{\arraycolsep}{0pt}
  % some more space between rows
  \renewcommand{\arraystretch}{1.2}
  \begin{array}{ R C L C L C R C R C R C L }
    y(x)  &=& y_h(x)  &+& y_p(x)  \\
    y(0)  &=& y_h(0)  &+& y_p(0)  &=&  c_1 &+&  c_2 &+&  A &=& 2 \\
    y'(0) &=& y'_h(0) &+& y'_p(0) &=& -c_1 &+& 2c_2 &+& 3A &=& 1
  \end{array}
\end{equation}

\end{document}

在此处输入图片描述

答案2

如果要在多列上对齐方程式,则还有第三种可能性:alignedat环境。它不会在列之间添加空格。有时它无法在=或周围放置正确的空格,因此需要+使用空项={}或的技巧。代码示例:+{}

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
  \begin{alignedat}{8}
    y(x)  &= y_h(x)  &&+ y_p(x)\\
    y(0)  &= y_h(0)  &&+ y_p(0)  &&={}&&c_1 &&+{}&&c_2 &&+{}&&A=2 \\
    y'(0) &= y'_h(0) &&+ y'_p(0) &&= -&&c_1 &&+ 2&&c_2 &&+ 3&&A=1
  \end{alignedat}
\end{equation}
\end{document}

结果: 在此处输入图片描述

相关内容