在 tabularx 中垂直居中并修改高度

在 tabularx 中垂直居中并修改高度

我想 :

  • 将内容垂直居中
  • 改变行高

以下是一次尝试:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}

\newcolumntype{Y}{>{\centering\arraybackslash}X}
\renewcommand{\tabularxcolumn}[1] {m{#1}}

\begin{document}
\renewcommand{\arraystretch}{4}
\begin{tabularx}{\linewidth}{|*{2}{Y|}}
        \hline 
        test & test \\ \hline
\end{tabularx}

\end{document}

但它不起作用。

以简单且高度可定制的方式处理表格的最佳方法是什么?如何解决当前的问题?

谢谢

在此处输入图片描述


编辑:Zarko 的解决方案不起作用,如该 MWE 所示:文本不是垂直输入的。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{makecell,tabularx}
\setcellgapes{12pt}
\newcolumntype{Y}{>{\centering\arraybackslash}X}


\begin{document}
{
\makegapedcells
\begin{tabularx}{\linewidth}{|*{2}{Y|}}
        \hline
    This is a longer line, this is a longer line, this is a longer line & test \\
        \hline
\end{tabularx}
}
\end{document}

在此处输入图片描述

答案1

  • 您的表格上下文未知,因此我只能猜测您希望在单元格内容的上方和下方拥有更多的垂直空间,例如 12pt。这可以借助makecell包来完成​​(如果该表没有彩色的行或列):

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{makecell,tabularx}
\setcellgapes{12pt}
\newcolumntype{Y}{>{\centering\arraybackslash}X}


\begin{document}
{
\makegapedcells
\begin{tabularx}{\linewidth}{|*{2}{Y|}}
        \hline
    test & test \\
        \hline
\end{tabularx}
}
\end{document}

编辑:

  • 替代解决方案是使用cellspace包并在具有多行内容的单元格中使用\parbox{\linewidth}{...}(不幸的是,makecell它不适用于m列类型,并且cellspace对多行内容也有问题)。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{cellspace, tabularx}
\setlength\cellspacetoplimit{12pt}
\setlength\cellspacebottomlimit{12pt}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

%------------- show page layout. don't use this in real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}

\begin{document}
\noindent
\begin{tabular}{|*{2}{S{C{\dimexpr0.5\linewidth-2\tabcolsep-\arrayrulewidth}}|}
                }
    \hline
test & \parbox{\linewidth}{\centering\lipsum[11]}  \\
    \hline
\end{tabular}
\end{document}

在此处输入图片描述

相关内容