尽管我使用 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
这是列定义的问题。你为什么还要用
l
?*{8}{l p{1cm}}
将其更改为*{8}{p{1cm}}
,你的列就会彼此相似。这是 salary/total 和其他的连字符问题 -- TeX 不会对带有 '/' 的文本进行连字符处理。请使用
\slash
来断开它。
答案2
/
如果希望在后面立即换行,请不要使用(“斜线”)符号。请\slash
改用命令。
我认为还有一个单独的问题需要解决:tabular
环境的参数可能应该是
\begin{tabular}{l *{8}{p{1cm}}
而不是
\begin{tabular}{l p{1cm} *{8}{l p{1cm}}
经过这些改变你应该会得到一个看起来合理的表格。:-)