Alinhando verticalmente o conteúdo na célula da tabela

Alinhando verticalmente o conteúdo na célula da tabela

Eu tenho o seguinte código:

\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}

Faremos m{4cm}uma coluna de 4 cm de largura comconteúdo centrado verticalmentede acordo comesta respostapara outra pergunta. Eu adicionei o arraypacote. Mas nenhuma centralização vertical acontece; o resultado é:

insira a descrição da imagem aqui

Como posso fazer com que o conteúdo da coluna da esquerda (que consiste em $..$equações) se alinhe verticalmente ao centro.

Responder1

O código do makecellpacote é muito simples: permite quebras de linha nos comandos \makecelle \thead. Observe que o alinhamento padrão é alinhado verticalmente e horizontalmente.

\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} 

insira a descrição da imagem aqui

Responder2

Eu não usaria \newlineo jeito que você fez para criar a célula maior para centralizar. Eu usaria três linhas separadas com 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}

que dá:

multirowResult

e significa que você não precisa necessariamente, m{4cm}mas pode mantê-lo se quiser que seu outro conteúdo seja centralizado verticalmente em suas células.

No futuro, poste seu preâmbulo com seu MWE :).

Responder3

Uma solução é usar \hfil para ambos os lados da equação

\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}

insira a descrição da imagem aqui

informação relacionada