30 在表格单元格用\newline手动换行后第一行不再居中

发布于 2024-07-22 17:11:08

希望每个单元格都是上下居中,左右居中,表格宽度和页面同宽,或者是能自由设置每一列宽度。
在使用\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}

显示效果为
image.png

查看更多

关注者
0
被浏览
184
Sagittarius Rover
Sagittarius Rover 2024-07-22
不喜欢LaTeX!!!

建议使用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}

image.png

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览