Вертикальное выравнивание содержимого в ячейке таблицы

Вертикальное выравнивание содержимого в ячейке таблицы

У меня есть следующий код:

\begin{table}[h]
\begin{tabularx}{\textwidth}{ m{4cm}  X }
                            & Derivations \\
    $v=v_0+at$              & test \newline test \newline test \\
    $x=x_0+v_0t+½at^2$      & a\\
    $v^2-v_0^2=2a(x-x_0)$   & a\\
    $x-x_0=½t(v_0-v)$       & a  
\end{tabularx}
\end{table}

Получится m{4cm}столбик шириной 4 см свертикально центрированное содержимоев соответствии сэтот ответна другой вопрос. Я добавил arrayпакет. Но вертикального центрирования не происходит; результат:

введите описание изображения здесь

Как сделать так, чтобы содержимое левого столбца (состоящего из $..$уравнений) было выровнено по центру?

решение1

Код с makecellпакетом очень прост: он позволяет переносить строки в командах \makecellи \thead. Обратите внимание, что выравнивание по умолчанию — вертикальное и горизонтальное.

\documentclass{article}
\usepackage{tabularx}
\usepackage{makecell}
\renewcommand\cellalign{lc}

\begin{document}

\begin{table}[h]
  \begin{tabularx}{\linewidth}{ m{4cm} X}
                          & Derivations \\
    $v=v_0+at$ & \makecell{test \\ test \\ test }\\
    $x=x_0+v_0t+½at^2$ & a \\
    $v^2-v_0^2=2a(x-x_0)$ & a \\
    $x-x_0=½t(v_0-v)$ & a \\
  \end{tabularx}
\end{table}

\end{document} 

введите описание изображения здесь

решение2

Я бы не использовал \newlineваш способ создания большой ячейки для центрирования. Я бы использовал три отдельные строки с multirow:

\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{table}[h]
\begin{tabularx}{\textwidth}{ m{4cm}  X }
                                  & Derivations \\
    \multirow{3}{4cm}{$v=v_0+at$} & test \\
                                  & test \\
                                  & test \\
    $x=x_0+v_0t+½at^2$            & a \\
    $v^2-v_0^2=2a(x-x_0)$         & a \\
    $x-x_0=½t(v_0-v)$             & a \\
\end{tabularx}
\end{table}
\end{document}

который дает:

multirowResult

и означает, что вам это не обязательно нужно m{4cm}, но вы можете это сохранить, если хотите, чтобы ваш другой контент был вертикально центрирован в своих ячейках.

В будущем, пожалуйста, публикуйте преамбулу вместе с вашим MWE : ).

решение3

Одним из решений является использование \hfil в обеих частях уравнения.

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[h]
\begin{tabularx}{\textwidth}{ m{4cm}  X }
                        & Derivations \\
\hfil$v=v_0+at$\hfil             & test \newline test \newline test \\
\hfil$x=x_0+v_0t+½at^2$\hfil     & a\\
\hfil$v^2-v_0^2=2a(x-x_0)$\hfil  & a\\
\hfil$x-x_0=½t(v_0-v)$\hfil     & a  
\end{tabularx}
\end{table}
\end{document}

введите описание изображения здесь

Связанный контент