在乳胶中将对齐方程式放入表格的最佳方法

在乳胶中将对齐方程式放入表格的最佳方法

我想实现类似的东西。但我发现很难将多行对齐的方程式放在一个单元格中。我搜索了很多,即使我曾经\parbox将对齐的方程式放入单元格中,我仍然无法将此单元格左对齐或将其旁边单元格的内容顶部对齐。以下是我想要的,在 MicroSoft Word 中完成。请注意,虚线网格线不会打印到 pdf 中,仅显示以显示对齐。 在此处输入图片描述

以下是我尝试过的一些不完美的代码。我的目标包括:

  1. 与其他实现(例如)相比,表格更受青睐alignframed因为我有一张关于三角函数的很长的表格,必须优雅地对齐。
  2. 在一个单元格中插入多行方程式,并希望(不一定)将同一单元格内的方程式在符号处对齐=
  3. 所有单元格均与左上角对齐,没有任何左边距。
  4. 最好在顶部和底部留一些填充。(我现在可以做到\renewcommand{\arraystretch}{2},但我想知道是否有更好的方法。)

编译后的 PDF 粘贴在下面。我目前的解决方案不知何故导致第二行出现奇怪的右移。我不知道哪里出了问题。此外,无论如何我都不认为我的解决方案是正确的。

\documentclass{article}

\usepackage{enumitem,amssymb}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{array}
\usepackage{booktabs}

\begin{document}

\everymath{\displaystyle}

\renewcommand{\arraystretch}{2}
\begin{tabular}[t]{|lll|}
  \hline
  \(\sin (x + \pi) = -\sin x\)                        &
  \(\sin (x + \pi) = -\sin x\)                        &
  \(\tan (x + \pi) = \tan x\)                         \\ \hline
  \parbox{100pt}{
    \begin{align*}
       & \sin (\alpha+\beta)   \\
       & = \sin\alpha\cos\beta + \cos\alpha\sin\beta
    \end{align*}
  }                                                  &
  \parbox{100pt}{
    \begin{flalign*}
      & \cos (\alpha+\beta) \\
      & = \sin\alpha\cos\beta + \cos\alpha\sin\beta
    \end{flalign*}
  }                                                  &
  \parbox{100pt}{
    \begin{flalign*}
      & \tan (\alpha+\beta) \\
      & = \frac{\tan\alpha + \tan\beta}{1 - \tan\alpha\tan\beta}
    \end{flalign*}
  }                                                           \\
  \(\sin 2x = 2 \cos x \sin x\)                      &
  \parbox{100pt}{
    \begin{flalign*}
      \cos 2x & = \cos^2 x - \sin^2 x \\
      & = 2\cos^2 x - 1               \\
      & = 1 - 2\sin^2 x
    \end{flalign*}
  }                                                  &
  \(\tan 2x = \frac{2\tan x}{1 - \tan^2 x}\)                  \\
  \(\sin \frac{x}{2} = \sqrt{\frac{1 - \cos x}{2}}\) &
  \(\cos \frac{x}{2} = \sqrt{\frac{1 + \cos x}{2}}\) &
  \(\tan \frac{x}{2} = \sqrt{\frac{1 - \cos x}{1 + \cos x}}\) \\
  \hline
\end{tabular}

\end{document}

在此处输入图片描述

答案1

首先要说的是:声称某种解决方案是最好的不知道排版目标和约束是什么。希望以下解决方案建议能够有用。当然,我并没有声称它们是“最好的”。

以下屏幕截图和代码显示了两种可能的解决方案:第一个表使用固定列宽(因为您发布的屏幕截图中就是这样做的),而第二个表使用自然列宽。在我看来,使用自然列宽看起来更好——至少对于手头的表格来说是这样。

在这两种解决方案中,单元格内容都是左对齐的,同样是因为您的屏幕截图中显示的是左对齐的;如果您希望选择其他对齐方式,请告知。请注意aligned在“中间”单元格中使用环境来排版三行表达式,使三个=符号垂直对齐。最后,在这两种解决方案中,我故意省略了所有垂直规则,并使用包的宏booktabs来创建两个可见的水平规则;这样做是为了让表格看起来更开放、更吸引人。

在此处输入图片描述

\documentclass{article}
\usepackage{fourier} % optional (to match font used in OP's screenshot)
\usepackage{array} % for 'w' col. type and '\newcolumntype' macro
\newcolumntype{W}[1]{>{$\displaystyle}w{l}{#1}<{$}}
\newcolumntype{L}{>{\displaystyle}l}
\usepackage{amsmath}  % for 'aligned' env.
\usepackage{booktabs} % for well-spaced horizontal rules
\usepackage{geometry} % (set page parameters suitably)

%% Material that's common to both tables created below:
\newcommand\blurb{% 
  \toprule
  \sin(x+\pi)=-\sin x & \cos(x+\pi)=-\cos x & \tan(x+\pi)=\tan x \\ 
  \addlinespace[2ex]
  \sin2x=2\sin x\cos x & 
  \begin{aligned}[t] % <-- note the 't' ("top") placement specifier
  \cos2x &=\cos^2x-\sin^2x\\
         &=2\cos^2x-1\\
         &=1-2\sin^2x
  \end{aligned} & 
  \tan2x = \frac{2\tan x}{1-\tan^2x} \\
  \addlinespace[2ex]
  \sin\frac{x}{2}=\sqrt{\frac{1-\cos x}{2}} &
  \cos\frac{x}{2}=\sqrt{\frac{1+\cos x}{2}} & 
  \tan\frac{x}{2}=\sqrt{\frac{1-\cos x}{1+\cos x}} \\
  \addlinespace
  \bottomrule}

\begin{document}
\[
\begin{array}{@{} *{3}{W{4cm}} @{}}
\blurb
\end{array}
\]

\[
\setlength\arraycolsep{15pt} % default is '5pt'
\begin{array}{@{} *{3}{L} @{}}
\blurb
\end{array}
\]
\end{document}

相关内容