Я хочу реализовать что-то вроде этого. Но я обнаружил, что сложно поместить несколько строк выровненных уравнений в ячейку. Я много искал, даже если я использую , \parbox
чтобы сделать выровненные уравнения в ячейке, я все равно не могу выровнять эту ячейку по левому краю или выровнять по верхнему краю содержимое в ячейках рядом с ней. Ниже показано то, что я хочу получить, что сделано в MicroSoft Word. Обратите внимание, что пунктирные линии сетки не будут напечатаны в pdf и отображаются только для того, чтобы показать выравнивание.
Вот несовершенный код, который я пробовал. Мои цели включают:
- Таблица предпочтительнее других реализаций, таких как
align
,framed
. Поскольку у меня очень длинная таблица тригонометрических функций, которую нужно изящно выровнять. - Вставьте несколько строк уравнений в ячейку и, желательно (но не обязательно), выровняйте уравнения в одной ячейке по
=
знаку. - Все ячейки выровнены по левому верхнему краю без левого поля.
- Предпочтительнее сделать отступы сверху и снизу. (Я могу сделать это и
\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}