将表格标题换行到表格中

将表格标题换行到表格中

尽管我使用 p{1cm} 指定了列宽,但我还是无法在表格标题中换行。如何强制指定表格单元格的宽度?

表格主体由 stata 生成,理想情况下解决方案不会触及此部分。

\documentclass{article}
\usepackage{booktabs, graphicx}

\begin{document}
\begin{table}[h]\caption{This is a test}
\resizebox{!}{!}{\begin{tabular}{l p{1cm} *{8}{l p{1cm}}} \toprule

% Autogenerated Stata code starts    
&\multicolumn{8}{c}{}                                                           \\
&  CEO age &  CFO age &CEO fixed salary/total comp & CEO bonus/ total comp & CEO long term/total comp&CFO fixed salary/total comp&CFO bonus/total comp&CFO long> term/total comp\\
 \midrule
 CEO age         &        1&         &         &         &         &         &         &         \\
CFO age         &    0.259&        1&         &         &         &         &         &         \\
CEO fixed salary/total comp&   0.0241&  -0.0543&        1&         &         &         &         &         \\
CEO bonus/total comp&   0.0279&   0.0818&   -0.439&        1&         &         &         &         \\
CEO long term/total comp&  0.00776&   0.0724&   -0.315&   0.0119&        1&         &         &         \\
CFO fixed salary/total comp&  -0.0775&  -0.0854&    0.672&   -0.306&   -0.280&        1&         &         \\
CFO bonus/total comp&   0.0736&   0.0509&   -0.378&    0.794&  -0.0367&   -0.359&        1&         \\
CFO long term/total comp&   0.0742&   0.0382&   -0.319&  -0.0245&    0.814&   -0.325&  -0.0412&        1\\
% Autogenerated Stata code ends

\bottomrule
\end{tabular}}\end{table}

\end{document}

在此处输入图片描述

答案1

  1. 这是列定义的问题。你为什么还要用l*{8}{l p{1cm}}将其更改为*{8}{p{1cm}},你的列就会彼此相似。

  2. 这是 salary/total 和其他的连字符问题 -- TeX 不会对带有 '/' 的文本进行连字符处理。请使用\slash来断开它。

答案2

/如果希望在后面立即换行,请不要使用(“斜线”)符号。请\slash改用命令。

我认为还有一个单独的问题需要解决:tabular环境的参数可能应该是

\begin{tabular}{l *{8}{p{1cm}}

而不是

\begin{tabular}{l p{1cm} *{8}{l p{1cm}}

经过这些改变你应该会得到一个看起来合理的表格。:-)

相关内容