下面是我编写的用于在 中创建多列侧向表的最小工作代码LaTeX
。但我的问题是,我无法缩短“1996-1998”和“1998-2000”之间的距离,以便最后一列(“2010-2012”)不会超出页面。任何帮助都将不胜感激。非常感谢!
我的代码是:
\documentclass[12pt]{article}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{multicol}
\setlength\columnsep{8pt}
\begin{document}
\begin{sidewaystable}[ph!]
\caption{Summary statistics of XXX}
\centering
\begin{tabular}{lllllllllllllllllllllllllllllllll}\\
\vspace{0.3cm}\\
%\toprule
\multicolumn{2}{l}{$HRS$ $wave$}& \multicolumn{2}{l}{$1996$-$1998$} & \multicolumn{2}{l}{$1998$-$2000$}
& \multicolumn{2}{l}{$2000$-$2002$} & \multicolumn{2}{l}{$2002$-$2004$}& \multicolumn{2}{l}{$2004$-$2006$} & \multicolumn{2}{l}{$2006$-$2008$}
& \multicolumn{2}{l}{$2008$- $2010$} & \multicolumn{2}{l}{$2010$-$2012$} \\
%\cmidrule(r){2-3} \cmidrule(r){4-5}\cmidrule(r){6-8}\cmidrule(r){9-11}\cmidrule(r){12-14}\cmidrule(r){15-17}\cmidrule{18-19} \cmidrule{21-23}\\
%& $IRR$ && $IRR$ && $IRR$ &&& $IRR$ &&& $IRR$ &&& $IRR$&&& $IRR$ $IRR$\\
\midrule\\
\vspace{0.1cm}
$XXXX$ && $1098$-$624$ && $1931$-$819$ && $1808$-$553$ && $1501$-$165$ &&$1741$-$176$ && $1737$-$172$ && $1675$-$177$ &&$1744$-$217$\\
\hline
$Childhood$ $health$ &&& $1.29$\\
$Childhood$ $SES$ &&& $1.08$\\
$Mother's$ $education$ &&& $1.04$\\
$Father’s$ $education$ &&& $1.12$\\
$Financial$$help$ &&& $1.02$\\
$Adult$ $SES$\\
\bottomrule
\end{tabular}
\end{sidewaystable}
\end{document}
答案1
您的表格实际上并不太宽,但您使用了 33 列,而实际上只需要 9 列。使用稍小的字体大小 ( \small
) 以及缩小列间空间 ( \setlength{\tabcolsep}{4pt}
) 可以实现您想要的效果。要获得斜体字母,请使用\textit{..}
,不要使用数学形式$ .. $
。
\documentclass[12pt]{article}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{multicol}
\setlength\columnsep{8pt}
\begin{document}
\begin{sidewaystable}[ph!]
\setlength{\tabcolsep}{4pt}
\caption{Summary statistics of XXX}
\medskip
\small \centering
\begin{tabular}{*{9}l}\\ %\toprule
\textit{HRS wave} & {1996-1998} & {1998-2000}
& {2000-2002} & {2002-2004}& {2004-2006} & {2006-2008}
& {2008- 2010} & {2010-2012} \\
%\cmidrule(r){2-3} \cmidrule(r){4-5}\cmidrule(r){6-8}\cmidrule(r){9-11}\cmidrule(r){12-14}\cmidrule(r){15-17}\cmidrule{18-19} \cmidrule{21-23}\\
%& IRR & IRR & IRR & IRR & IRR & IRR& IRR IRR\\
\midrule\\
\vspace{0.1cm}
\textit{XXXX} & 1098-624 & 1931-819 & 1808-553 & 1501-165 &1741-176 & 1737-172 & 1675-177 &1744-217\\
\hline
\textit{Childhood health} & 1.29\\
\textit{Childhood SES} & 1.08\\
\textit{Mother's education} & 1.04\\
\textit{Father’s education} & 1.12\\
\textit{Financialhelp} & 1.02\\
\textit{Adult SES}\\
\bottomrule
\end{tabular}
\end{sidewaystable}
\end{document}
答案2
如果将字体大小设置为\footnotesize
并减少 的值\tabcolsep
,它将适合边距。我不确定第 4 列的位置。
\documentclass[12pt]{article}
\usepackage{rotating}
\usepackage{booktabs, array, caption}
\usepackage{multicol}
\setlength\columnsep{8pt}
\begin{document}
\begin{sidewaystable}[ph!]
\caption{Summary statistics of XXX}
\centering\renewcommand\tabcolsep{4pt}
\footnotesize
\begin{tabular}{ >{\itshape}l*{22}{l}}%
%\toprule
\multicolumn{2}{>{\itshape}l}{HRS wave}& \multicolumn{2}{l}{$1996$-$1998$} & \multicolumn{2}{l}{$1998$-$2000$}
& \multicolumn{2}{l}{$2000$-$2002$} & \multicolumn{2}{l}{$2002$-$2004$}& \multicolumn{2}{l}{$2004$-$2006$} & \multicolumn{2}{l}{$2006$-$2008$}
& \multicolumn{2}{l}{$2008$- $2010$} & \multicolumn{2}{l}{$2010$-$2012$} \\
%\cmidrule(r){2-3} \cmidrule(r){4-5}\cmidrule(r){6-8}\cmidrule(r){9-11}\cmidrule(r){12-14}\cmidrule(r){15-17}\cmidrule{18-19} \cmidrule{21-23}\\
%& $IRR$ && $IRR$ && $IRR$ &&& $IRR$ &&& $IRR$ &&& $IRR$&&& $IRR$ $IRR$\\
\midrule\addlinespace
XXXX & & $1098$-$624$ & & $1931$-$819$ & & $1808$-$553$ & & $1501$-$165$ & & $1741$-$176$ & & $1737$-$172$ & & $1675$-$177$ & & $1744$-$217$ \\
\midrule
Childhood health &&& $1.29$\\
Childhood SES &&& $1.08$\\
Mother's education &&& $1.04$\\
Father’s education &&& $1.12$\\
Financial help &&& $1.02$\\
Adult SES \\
\bottomrule
\end{tabular}
\end{sidewaystable}
\end{document}
答案3
一些建议和意见:
不要使用数学模式来将字母变为斜体——所有字母周围的间距都是错误的。如果您确实需要生成斜体文本,请使用
\textit{...}
。为了减少列之间的空间,不要修改参数
\colsep
;而是修改参数\tabcolsep
。据我所知,您的表格包含 17 列,而不是 30+ 列。
就您的表格而言 - 假设 A4 纸张大小和标准边距 - 我相信使用
\footnotesize
和减少\tabcolsep
某些值(通过使用tabular*
环境来完成)的组合应该可以让表格适合文本块。
\documentclass[12pt]{article}
\usepackage{rotating,booktabs,caption}
% set page size and margins
\usepackage[a4paper,margin=1in]{geometry}
\begin{document}
\begin{sidewaystable}
\footnotesize
\captionsetup{size=small} % match size of surrounding material
\caption{Summary statistics of XXX}
\setlength\tabcolsep{0pt} % let "tabular*" figure out spacing
\begin{tabular*}{\textwidth}{ l @{\extracolsep{\fill}} *{16}{c} }\\
\toprule
HRS wave&
\multicolumn{2}{c}{1996--98} & \multicolumn{2}{c}{1998--2000} &
\multicolumn{2}{c}{2000--02} & \multicolumn{2}{c}{2002--04}&
\multicolumn{2}{c}{2004--06} & \multicolumn{2}{c}{2006--08}&
\multicolumn{2}{c}{2008--10} & \multicolumn{2}{c}{2010--12} \\
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-7} \cmidrule{8-9}
\cmidrule{10-11} \cmidrule{12-13} \cmidrule{14-15} \cmidrule{16-17}
& IRR && IRR && IRR && IRR && IRR && IRR&& IRR && IRR\\
\midrule
\addlinespace
XXXX && 1098-624 && 1931-819 && 1808-553 && 1501-165 &&1741-176 && 1737-172 && 1675-177 &&1744-217\\
\midrule
Childhood health &&& 1.29\\
Childhood SES &&& 1.08\\
Mother's education &&& 1.04\\
Father's education &&& 1.12\\
Financial help &&& 1.02\\
Adult SES\\
\bottomrule
\end{tabular*}
\end{sidewaystable}
\end{document}