调整列宽的问题-多列横向表格

调整列宽的问题-多列横向表格

下面是我编写的用于在 中创建多列侧向表的最小工作代码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} 

相关内容