A tabela no centro de uma célula é alinhada

A tabela no centro de uma célula é alinhada

Como conseguir esse alinhamento? insira a descrição da imagem aqui Em vez de:

\documentclass{article}
\usepackage{array, tabu} 
\begin{document}
\begin{table}[h]
\begin{tabu} to 1.0\textwidth { |X[c]|X[c]| }
\hline
$ N_{1} $ & $ (0: 1] $ \\[3cm]  \hline
\end{tabu}
\end{table}
\end{document}

insira a descrição da imagem aqui

Responder1

Experimente o seguinte truque sujo:

\documentclass{article}
\usepackage{array, tabu}
\begin{document}
\begin{table}[h]

\begin{tabu} to 1.0\textwidth { |X[c,$] | X[c,$]m{0pt}|}
\hline
N_{1}  &  (0: 1]  & \\[3cm]  \hline
\end{tabu}
\end{table}
\end{document}

insira a descrição da imagem aqui

Não está claro por que você precisa de um design de mesa tão estranho. E o uso do tabupacote é complicado. Não é mantido e contém bugs ...

Termo aditivo:A centralização vertical do conteúdo da célula não é uma tarefa simples. Para este propósito é adicionada uma coluna falsa m{0pt}no exemplo acima, pela qual a linha de base das linhas é centralizada verticalmente.

Para centralizar horizontalmente o conteúdo das células na tabularxtabela, você precisa definir um novo tipo de coluna, por exemplo

\newcolumntype{C}{>{\centering\arraybackslash}X}

Se o conteúdo de colunas inteiras estiver no modo matemático, o que faz sentido, toda a coluna será definida como estando neste modo. Então você não precisa escrever em cada célula $<math expression>$. Neste caso você pode definir o novo tipo de coluna como:

\newcolumntype{C}{>{\centering\arraybackslash $}X<{$}}

Complete code is then:

\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash $}X<{$}}

\begin{document}
\begin{table}[h]
\begin{tabularx}{\textwidth}{ | C | C @{}m{0pt}|}
\hline
N_{1}  &  (0: 1]  & \\[3cm]  \hline
\end{tabularx}
\end{table}
\end{document}

Como você pode ver, também aqui é usado o mesmo truque de antes. O resultado é ligeiramente melhorado em comparação com o primeiro exemplo, uma vez que no MWE acima é @{}eliminado o espaço entre colunas.

Adendo 2: Não está claro por que você usa \\[3cm]para criar mais espaço vertical ao redor do conteúdo da célula. Efeito semelhante com menos problemas que você pode obter com change \arraystretch, por exemplo, com espaço vertical adicionado mais razoável nas células, você pode projetar sua tabela da seguinte maneira:

\documentclass{article}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}% <-- cell's contend is vertically centered
\newcolumntype{C}{>{\centering\arraybackslash $}X<{$}}

\begin{document}
\begin{table}[h]
    \renewcommand{\arraystretch}{3}
    \setlength{\extrarowheight}{-2.5pt}% <-- correction of vertical centering
\begin{tabularx}{\textwidth}{ | C | C |}
\hline
N_{1}
    &  (0: 1]   \\  \hline
\end{tabularx}
\end{table}
\end{document}

Como você pode ver, agora não foi adicionada uma coluna falsa.

insira a descrição da imagem aqui

informação relacionada