我正在用乳胶制作一张表格,但它太宽了,不适合页面。居中只会将其对齐在左侧,因此它会溢出到右侧。我已经尝试旋转它并设置文本宽度,但没有成功。非常感谢每一条提示!
这是我的代码:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\begin{document}
\begin{table}[htbp]
\caption{Add caption}
\begin{tabular}{lSSSSSSSS}
\multicolumn{1}{l}{predicted Variable}&\multicolumn{2}{c}{step1\_coefs} & \multicolumn{2}{c}{step2\_coefs} & \multicolumn{2}{c}{step3\_coefs} & \multicolumn{2}{c}{step4\_coefs} \\
\toprule
& \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} & \multicolumn{1}{l}{\textbf{est}} & \multicolumn{1}{l}{\textbf{se}} \\
\midrule
\textbf{w} & 0.145 & 0.082 & 0.205* & 0.082 & 0.225** & 0.081 & 0.161 & 0.085 \\
\textbf{w} & -0.138*** & 0.041 & -0.103* & 0.041 & -0.116** & 0.041 & -0.134** & 0.044 \\
\textbf{w} & -1.146*** & 0.042 & -1.135*** & 0.042 & -1.09*** & 0.042 & -1.055*** & 0.042 \\
\textbf{w} & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262* & 0.103 \\
\textbf{w} & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235* & 0.112 \\
\textbf{w} & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
\textbf{w} & -0.335*** & 0.041 & -0.336*** & 0.041 & -0.331*** & 0.04 & -0.323*** & 0.04 \\
\textbf{w} & & & -0.108** & 0.038 & -0.093* & 0.038 & -0.025 & 0.041 \\
\textbf{w} & & & -0.159 & 0.151 & 0.03 & 0.152 & 0.035 & 0.152 \\
\textbf{w} & & & 0.555*** & 0.096 & 0.515*** & 0.096 & 0.549*** & 0.096 \\
\textbf{w} & & & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
\textbf{w} & & & & & 0.397* & 0.187 & 0.324 & 0.188 \\
\textbf{w of w} & & & & & 1.357*** & 0.211 & 1.335*** & 0.212 \\
\textbf{w w} & & & & & 0.576*** & 0.086 & 0.474*** & 0.089 \\
\textbf{w w} & & & & & 0.477** & 0.175 & 0.46** & 0.175 \\
\textbf{w} & & & & & 0.7*** & 0.134 & 0.645*** & 0.135 \\
\textbf{w} & & & & & & & -0.382*** & 0.101 \\
\textbf{w} & & & & & & & -0.385*** & 0.106 \\
\textbf{w} & & & & & & & 0.307 & 0.177 \\
\textbf{w} & & & & & & & -0.254 & 0.132 \\
\textbf{w} & & & & & & & 0.041 & 0.156 \\
\textbf{w} & & & & & & & -0.041 & 0.043 \\
\textbf{w} & & & & & & & -0.045 & 0.043 \\
\textbf{w} & & & & & & & -0.088* & 0.044 \\
\textbf{w} & & & & & & & -0.047 & 0.044 \\
\textbf{w} & & & & & & & -0.079 & 0.049 \\
\textbf{w} & & & & & & & 0.102 & 0.089 \\
\midrule
\textbf{$R^2$} & 0.186* & & 0.196* & & 0.214* & & 0.222* & &\\
\textbf{$\Delta R^2$} & & & 0.01 & & 0.018 & & 0.008 & &\\
\bottomrule
\end{tabular}%
\end{table}%
\end{document}
答案1
在修复代码中一些明显的拼写错误和错误(例如,&
最后两行中的多余符号)之后,\midrule
用四个单独的\cmidrule
语句替换第一个语句,并假设水平边距为 2.5 厘米,我建议您使用tabularx
环境(修改X
第一列的列类型,以允许根据需要换行)和dcolumn
包以允许小数点对齐。(包siunitx
及其S
列类型也可以执行这种形式的对齐;但是,如果您需要实现的只是小数点对齐,那么加载包siunitx
可能有点过头了。)
顺便说一句,这些指令\textbf{$R^2$}
并\textbf{$\Delta R^2$}
没有鼓舞它们的参数。使用\mathbf
(显然是在数学模式下),或者更好的是,不要将它们渲染为粗体。删除\textbf
包装器是我在下面的代码中所做的。
\documentclass[a4paper]{article} % 'a4paper' per the OP's comment
\usepackage[hmargin=2.5cm]{geometry} % choose the appropriate margins
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{dcolumn,tabularx,ragged2e} % <-- new
\newcolumntype{d}[1]{D..{#1}}
\newcolumntype{L}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}
\newcommand\sym[1]{^{#1}}
\begin{document}
\begin{table}[htbp]
\caption{Add caption} \label{add_label}
\begin{tabularx}{\textwidth}{@{} L *{4}{d{2.5}d{1.3}} @{}}
\toprule
Predicted Variable
& \multicolumn{2}{c}{step1\_coefs} & \multicolumn{2}{c}{step2\_coefs}
& \multicolumn{2}{c}{step3\_coefs} & \multicolumn{2}{c@{}}{step4\_coefs} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(l){8-9}
& \multicolumn{1}{c}{est} & \multicolumn{1}{c}{se}
& \multicolumn{1}{c}{est} & \multicolumn{1}{c}{se}
& \multicolumn{1}{c}{est} & \multicolumn{1}{c}{se}
& \multicolumn{1}{c}{est} & \multicolumn{1}{c@{}}{se} \\
\midrule
\textbf{w} & 0.145 & 0.082 & 0.205\sym{*}& 0.082 & 0.225\sym{**}& 0.081 & 0.161 & 0.085 \\
\textbf{w} & -0.138\sym{***}& 0.041 & -0.103\sym{*}& 0.041 & -0.116\sym{**}& 0.041 & -0.134\sym{**}& 0.044 \\
\textbf{w} & -1.146\sym{***}& 0.042 & -1.135\sym{***}& 0.042 & -1.09\sym{***}& 0.042 & -1.055\sym{***}& 0.042 \\
\textbf{w} & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262\sym{*}& 0.103 \\
\textbf{w} & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235\sym{*}& 0.112 \\
\textbf{w} & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
\textbf{w} & -0.335\sym{***}& 0.041 & -0.336\sym{***}& 0.041 & -0.331\sym{***}& 0.04 & -0.323\sym{***}& 0.04 \\
\addlinespace
\textbf{w} & & & -0.108\sym{**}& 0.038 & -0.093\sym{*}& 0.038 & -0.025 & 0.041 \\
\textbf{w} & & & -0.159 & 0.151 & 0.03 & 0.152 & 0.035 & 0.152 \\
\textbf{w} & & & 0.555\sym{***}& 0.096 & 0.515\sym{***}& 0.096 & 0.549\sym{***}& 0.096 \\
\textbf{w} & & & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
\addlinespace
\textbf{w} & & & & & 0.397\sym{*}& 0.187 & 0.324 & 0.188 \\
\textbf{w of w} & & & & & 1.357\sym{***}& 0.211 & 1.335\sym{***}& 0.212 \\
\textbf{w w} & & & & & 0.576\sym{***}& 0.086 & 0.474\sym{***}& 0.089 \\
\textbf{w w} & & & & & 0.477\sym{**}& 0.175 & 0.46\sym{**} & 0.175 \\
\textbf{w} & & & & & 0.7\sym{***} & 0.134 & 0.645\sym{***}& 0.135 \\
\addlinespace
\textbf{w} & & & & & & & -0.382\sym{***}& 0.101 \\
\textbf{w} & & & & & & & -0.385\sym{***}& 0.106 \\
\textbf{w} & & & & & & & 0.307 & 0.177 \\
\textbf{w} & & & & & & & -0.254 & 0.132 \\
\textbf{w} & & & & & & & 0.041 & 0.156 \\
\textbf{w} & & & & & & & -0.041 & 0.043 \\
\textbf{w} & & & & & & & -0.045 & 0.043 \\
\textbf{w} & & & & & & & -0.088\sym{*}& 0.044 \\
\textbf{w} & & & & & & & -0.047 & 0.044 \\
\textbf{w} & & & & & & & -0.079 & 0.049 \\
\textbf{w} & & & & & & & 0.102 & 0.089 \\
\midrule
$R^2$ & 0.186\sym{*}& & 0.196\sym{*}& & 0.214\sym{*}& & 0.222\sym{*} \\
$\Delta R^2$ & & & 0.01 & & 0.018 & & 0.008 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
答案2
使用包siunitx
,通过包定义页面布局geometry
并留下来tabular*
定义列之间的空间:
编辑: 在 mwe 中被认为是米科关于如何改善列间距的建议。
(红线表示页面布局)
\documentclass[a4paper]{article}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage{booktabs, multirow}
\usepackage{siunitx}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[htbp]
\setlength\tabcolsep{0pt}
\caption{Add caption}
\label{tab:very impartand table}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}
>{\bfseries}l
*{4}{S[table-space-text-post=***,
table-align-text-post=false,
table-format=-1.3] % <---
S[table-format=1.3]} % <---
}
\toprule
\normalfont\multirow{2}{11ex}[-1ex]{predicted\\ Variable}
& \multicolumn{2}{c}{step1\_coefs}
& \multicolumn{2}{c}{step2\_coefs}
& \multicolumn{2}{c}{step3\_coefs}
& \multicolumn{2}{c}{step4\_coefs} \\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}
\cmidrule(l){8-9}
& {\textbf{est}} & {\textbf{se}} & {\textbf{est}} & {\textbf{se}}
& {\textbf{est}} & {\textbf{se}} & {\textbf{est}} & {\textbf{se}} \\
\midrule
w & 0.145 & 0.082 & 0.205* & 0.082 & 0.225** & 0.081 & 0.161 & 0.085 \\
w & -0.138*** & 0.041 & -0.103* & 0.041 & -0.116** & 0.041 & -0.134** & 0.044 \\
w & -1.146*** & 0.042 & -1.135*** & 0.042 & -1.09*** & 0.042 & -1.055*** & 0.042 \\
w & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262* & 0.103 \\
w & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235* & 0.112 \\
w & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
w & -0.335*** & 0.041 & -0.336*** & 0.041 & -0.331*** & 0.04 & -0.323*** & 0.04 \\
w & & & -0.108** & 0.038 & -0.093* & 0.038 & -0.025 & 0.041 \\
w & & & -0.159 & 0.151 & 0.03 & 0.152 & 0.035 & 0.152 \\
w & & & 0.555*** & 0.096 & 0.515*** & 0.096 & 0.549*** & 0.096 \\
w & & & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
w & & & & & 0.397* & 0.187 & 0.324 & 0.188 \\
w of w & & & & & 1.357*** & 0.211 & 1.335*** & 0.212 \\
w w & & & & & 0.576*** & 0.086 & 0.474*** & 0.089 \\
w w & & & & & 0.477** & 0.175 & 0.46** & 0.175 \\
w & & & & & 0.7*** & 0.134 & 0.645*** & 0.135 \\
w & & & & & & & -0.382*** & 0.101 \\
w & & & & & & & -0.385*** & 0.106 \\
w & & & & & & & 0.307 & 0.177 \\
w & & & & & & & -0.254 & 0.132 \\
w & & & & & & & 0.041 & 0.156 \\
w & & & & & & & -0.041 & 0.043 \\
w & & & & & & & -0.045 & 0.043 \\
w & & & & & & & -0.088* & 0.044 \\
w & & & & & & & -0.047 & 0.044 \\
w & & & & & & & -0.079 & 0.049 \\
w & & & & & & & 0.102 & 0.089 \\
\midrule
$R^2$ & 0.186* & & 0.196* & & 0.214* & & 0.222* & \\
$\Delta R^2$ & & & 0.01 & & 0.018 & & 0.008 & \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
答案3
另一种变体,使用稍微简单一点的代码和简单的 tabular
,借助makecell
和caption
可以在上面的标题和表格之间实现更好的垂直间距:
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{booktabs, makecell, caption}
\usepackage{siunitx}
\begin{document}
\begin{table}[htbp]
\sisetup{table-format=1.3, table-number-alignment = center}
\renewcommand{\theadfont}{\normalsize\bfseries}
\renewcommand{\theadalign}{lc}
\setlength{\extrarowheight}{2pt}
\centering
\caption{Add caption}
\begin{tabular}{>{\bfseries\boldmath}l*{4}{S[table-space-text-post=***, table-space-text-pre = $-$]S}} %
\makecell[l]{predicted\\ Variable}&\multicolumn{2}{c}{step1\_coefs} & \multicolumn{2}{c}{step2\_coefs} & \multicolumn{2}{c}{step3\_coefs} & \multicolumn{2}{c}{step4\_coefs} \\
\toprule
&{\thead{est}} & {\thead{se}} & {\thead{est}} & {\thead{se}} & {\thead{est}} & {\thead{se}} & {\thead{est}} & {\thead{se}} \\
\midrule
w & 0.145 & 0.082 & 0.205* & 0.082 & 0.225** & 0.081 & 0.161 & 0.085 \\
w & -0.138*** & 0.041 & -0.103* & 0.041 & -0.116** & 0.041 & -0.134** & 0.044 \\
w & -1.146*** & 0.042 & -1.135*** & 0.042 & -1.09*** & 0.042 & -1.055*** & 0.042 \\
w & 0.159 & 0.103 & 0.154 & 0.103 & 0.181 & 0.101 & 0.262* & 0.103 \\
w & 0.023 & 0.107 & 0.019 & 0.107 & 0.086 & 0.106 & 0.235* & 0.112 \\
w & -0.007 & 0.005 & -0.005 & 0.005 & -0.008 & 0.005 & -0.009 & 0.005 \\
w & -0.335*** & 0.041 & -0.336*** & 0.041 & -0.331*** & 0.04 & -0.323*** & 0.04 \\
w & & & -0.108** & 0.038 & -0.093* & 0.038 & -0.025 & 0.041 \\
w & & & -0.159 & 0.151 & 0.03 & 0.152 & 0.035 & 0.152 \\
w & & & 0.555*** & 0.096 & 0.515*** & 0.096 & 0.549*** & 0.096 \\
w & & & 0.081 & 0.095 & 0.064 & 0.094 & 0.039 & 0.094 \\
w & & & & & 0.397* & 0.187 & 0.324 & 0.188 \\
w of w & & & & & 1.357*** & 0.211 & 1.335*** & 0.212 \\
w w & & & & & 0.576*** & 0.086 & 0.474*** & 0.089 \\
w w & & & & & 0.477** & 0.175 & 0.46** & 0.175 \\
w & & & & & 0.7*** & 0.134 & 0.645*** & 0.135 \\
w & & & & & & & -0.382*** & 0.101 \\
w & & & & & & & -0.385*** & 0.106 \\
w & & & & & & & 0.307 & 0.177 \\
w & & & & & & & -0.254 & 0.132 \\
w & & & & & & & 0.041 & 0.156 \\
w & & & & & & & -0.041 & 0.043 \\
w & & & & & & & -0.045 & 0.043 \\
w & & & & & & & -0.088* & 0.044 \\
w & & & & & & & -0.047 & 0.044 \\
w & & & & & & & -0.079 & 0.049 \\
w & & & & & & & 0.102 & 0.089 \\
\midrule
$R^2$ & 0.186* & & 0.196* & & 0.214* & & 0.222* & \\
$\Delta R^2$ & & & 0.01 & & 0.018 & & 0.008 & \\
\bottomrule
\end{tabular}%
\end{table}%
\end{document}