![Как можно выполнить выравнивание по символам отношений в среде case?](https://rvso.com/image/254687/%D0%9A%D0%B0%D0%BA%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%BE%20%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B0%D0%BC%20%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B9%20%D0%B2%20%D1%81%D1%80%D0%B5%D0%B4%D0%B5%20case%3F.png)
Я использовал следующий код в LaTeX -
\documentclass{article}
\usepackage{amssymb,amsmath}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{c|c}
\hline
{ $X=y+z$} & {
\parbox[c]{0.75\columnwidth}{
$C_L = \begin{cases}
min\left[\left(Re\right),\: f(B)\right]\:;\: A<4\\
f(E)\:;\:4\le E<10\\
-0.29\:;\: E\ge10
\end{cases}$\\
$f(E) = E^{3}-0.0159E^{2}-0.0204E+0.474$\\
}
}\tabularnewline \hline
\end{tabular}
\end{table}
\end{document}
В выводе я хотел бы, чтобы знаки равенства C_L
и f(E)
были выровнены друг с другом. Я пробовал использовать align
environment, но это не работает. Может кто-нибудь помочь?
решение1
Вы можете сдвинуть cases
содержимое вправо на ту же величину, что и при f(E)
использовании
$\phantom{f(E)}\llap{$C_L$} = \begin{cases}
%...
Смещение создает выровненный по правому краю блок нулевой ширины, чтобы не l
влиять на интервал.lap
C_L
P.S. Возможно, вам захочется использовать математический режим \min
вместо простого ввода текста .min
решение2
Вы можете использовать align
среду, которая предоставляется пакетом amsmath
. Я вижу, что вы загружаете ее в любом случае:
\documentclass{article}
\usepackage{amssymb,amsmath}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{c|c}
\hline
{ $X=y+z$} & {
\parbox[c]{0.75\columnwidth}{
\begin{align}
C_L&= \begin{cases}
min\left[\left(Re\right),\: f(B)\right]\:;\: A<4\\
f(E)\:;\:4\le E<10\\
-0.29\:;\: E\ge10
\end{cases}\\
f(E)&= E^{3}-0.0159E^{2}-0.0204E+0.474
\end{align}
}
}\tabularnewline \hline
\end{tabular}
\end{table}
\end{document}
Амперсанды перед знаками равенства задают символы, которые необходимо выровнять, то есть, если вы используете их в другом месте, то следующий за ними символ будет выровнен.
А вот вывод кода:
решение3
Использование aligned
окружающей среды кажется мне самым простым решением:
\documentclass{article}
\usepackage{amssymb,amsmath}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{c|c}
\hline
{ $X=y+z$} & {
\parbox[c]{0.75\columnwidth}{
\( \begin{aligned}
C_L&= \begin{cases}
min\left[\left(Re\right),\: f(B)\right]\:;\: A<4\\
f(E)\:;\:4\le E<10\\
-0.29\:;\: E\ge10
\end{cases}\\
f(E)&= E^{3}-0.0159E^{2}-0.0204E+0.474
\end{aligned} \)
}
}\tabularnewline \hline
\end{tabular}
\end{table}
\end{document}
Обратите внимание на две вещи:
- в пределах
\parbox
средыaligned
необходимо явно перевести ее в математический режим; - в исходном примере внизу было больше места, чем вверху; это было вызвано лишним символом
\\
после последней строки, который здесь удален.
решение4
Это просто комментарий к предложению Барбары (ответ позволяет улучшить форматирование). Вместо внутренних случаев я бы использовал alignedat
для того, чтобы также выровнять условия внутриcases
\left\{
\begin{alignedat}{2}
&\min[(Re),\: f(B)]\:;&\quad A&<4\\
&f(E)\:; &4&\le E<10\\
&-0.29\:; &E&\ge10
\end{alignedat}
\right.
Также я удалил \left...\right
конструкции изнутри, \min
так как они ничего не давали.
Редактировать: Добавлены визуальные эффекты