希望每个单元格都是上下居中,左右居中,表格宽度和页面同宽,或者是能自由设置每一列宽度。
在使用\newline
换行后,发现第一行不是居中对齐了。
案例如下
\documentclass[12pt, a4paper, oneside]{ctexart}
\usepackage{booktabs,tabularx}
\begin{document}
\begin{table}[!h]
\renewcommand\arraystretch{1.2}
\centering
\newcolumntype{C}{>{\centering\arraybackslash}X} % 自适应宽度的居中对齐
\newcolumntype{Y}[1]{>{\centering\arraybackslash}m{#1}} % 指定宽度的居中对齐
\begin{tabularx}{\textwidth}{Y{8em}CC}
\toprule
& sj sjf iosj fsj ifsj fs & sj sjf iosj fsj ifsj fs \\
\midrule
想在这里换行\newline 这是第二行 & 10 & 20 \\
居中第二行 & 10 & 20 \\
\bottomrule
\end{tabularx}
\end{table}
在单元格里换行后,第一行不再是居中对齐,而是有一个偏移
\end{document}
显示效果为
建议使用tabularray宏包精细化排版表格
下面是一个MWE
\documentclass[12pt]{ctexart}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\begin{document}
\begin{table}[htbp]
\begin{tblr}{Q[c,m]*{2}{Q[c,m,7em]}} % texdoc tabularray中的Q列格式设置
\toprule
& value1 & value2 \\
\midrule
{par par par par par \\par text} & 114 & 514 \\
{par par \\ par par par par text} & 114 & 514 \\
{想在这里换行同时保持居中 \\ 文本} & 114 & 514 \\
\bottomrule
\end{tblr}
\end{table}
\end{document}