Таблица по центру ячейки выравнивается

Таблица по центру ячейки выравнивается

Как достичь этого выравнивания? введите описание изображения здесь Вместо:

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

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

решение1

Попробуйте следующий грязный трюк:

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

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

Непонятно, зачем вам такой странный дизайн таблицы. И использование tabuпакета запутанное. Он не поддерживается и содержит ошибки...

Приложение:Вертикальное центрирование содержимого ячейки — непростая задача. Для этого m{0pt}в примере выше добавлен фиктивный столбец, с помощью которого базовая линия строк вертикально центрируется.

Для горизонтального центрирования содержимого ячеек в tabularxтаблице необходимо определить новый тип столбца, например

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

Если содержимое всех столбцов находится в математическом режиме, то разумно, чтобы весь столбец был в этом режиме. Тогда вам не нужно писать в каждой ячейке $<math expression>$. В этом случае вы можете определить новый тип столбца как:

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

Как видите, здесь также используется тот же трюк, что и раньше. Результат немного улучшен по сравнению с первым примером, поскольку в приведенном выше MWE достигается за счет @{}устранения межколоночного пространства.

Приложение 2: Непонятно, почему вы используете \\[3cm]для создания большего вертикального пространства вокруг содержимого ячеек. Похожий эффект с меньшими проблемами можно получить с помощью change \arraystretch, например, с более разумным добавлением вертикального пространства в ячейки вы можете спроектировать свою таблицу следующим образом:

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

Как видите, теперь не добавлена ​​фальшивая колонка.

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

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