两列表格格式问题:行不会延伸到末尾。“Overfull \hbox”错误

两列表格格式问题:行不会延伸到末尾。“Overfull \hbox”错误

我有一篇双栏文章,我想制作一个长表格,但表格无法放在一栏中。我在覆盖格式时遇到的唯一麻烦似乎是包含表格的行不会延伸到末尾。

当我运行 LaTeX 时,系统提示我:

44-51 行对齐时 \hbox 过满(宽度过大 127.68214pt)

[] [] [] [] [] [] [] [] [] []

代码如下:

\documentclass[twocol]{ametsoc}

...

\begin{table}
\caption{Arctic radiative fluxes under standard conditions.}
\begin{tabular*}{\hsize}{@{\extracolsep\fill}|l|ccccccccc|@{}}
\topline
Height& SW$_{up}$& SW$_{down}$& SW$_{net}$& LW$_{up}$& LW$_{down}$& LW$_{net}$& Net Up& Net Down& Net Flux\\
\midline
\ TOA& 57.7& 144.1& -86.4& 171.0& \phantom{1}\phantom{1}0.0& 171.0& 228.7& 144.1& 84.6\\
\ SFC& 21.1& \phantom{1}81.6& -60.6& 194.2& 134.6& \phantom{1}59.7& 215.3& 216.2& -0.9\\
\botline
\end{tabular*}
\end{table}

在此处输入图片描述

答案1

由于表格内容比单个列宽,因此您需要使用table*和环境的组合,而不是和tabular的组合。还请使用列类型(例如,由包提供),以便于排版负数并将数字对齐到小数点标记上。并且请使用而不是数学模式来排版下标位置的文本。tabletabular*Ssiunitx\textsubscript

在此处输入图片描述

\documentclass[twocol]{ametsoc}
\usepackage{siunitx} % for "S" column type
\begin{document}
\begin{table*}
\centering
\caption{Arctic radiative fluxes under standard conditions.}
\begin{tabular}{|c|*{9}{S[table-format=3.1]}|@{}}
\topline
Height& {SW\textsubscript{up}} & {SW\textsubscript{down}} & {SW\textsubscript{net}} 
      & {LW\textsubscript{up}} & {LW\textsubscript{down}} & {LW\textsubscript{net}} 
      & {Net Up} & {Net Down} & {Net Flux} \\
\midline
TOA& 57.7& 144.1& -86.4& 171.0& 0.0& 171.0& 228.7& 144.1& 84.6\\
SFC& 21.1& 81.6& -60.6& 194.2& 134.6& 59.7& 215.3& 216.2& -0.9\\
\botline
\end{tabular}
\end{table*}

\end{document}

附录:如果必须排版表格材料以使其横跨两列的整个宽度,则可以使用 或tabular*环境tabularx,并将宽度设置为\textwidth。 (\hsize是一个低级 TeX 宏,除了少数例外,不应直接调用。)以下屏幕截图对比了基于 、 和 的解决方案的外观tabulartabular*tabularx注意,基于 的第三个解决方案的设置tabularx有点混合:九个数据列的主要列类型是S,但九个标题单元格使用列类型的居中版本进行排版X

在此处输入图片描述

\documentclass[twocol]{ametsoc}
\usepackage{siunitx} % for "S" column type
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mc[1]{\multicolumn{1}{C}{#1}}
\begin{document}
\begin{table*}
\centering

\caption{Using a \texttt{tabular} environment}
\begin{tabular}{|c| S[table-format=2.1] *{8}{S[table-format=3.1]}|@{}}
\topline
Height& {SW\textsubscript{up}} & {SW\textsubscript{down}} & {SW\textsubscript{net}} 
      & {LW\textsubscript{up}} & {LW\textsubscript{down}} & {LW\textsubscript{net}} 
      & {Net Up} & {Net Down} & {Net Flux} \\
\midline
TOA& 57.7& 144.1& -86.4& 171.0& 0.0& 171.0& 228.7& 144.1& 84.6\\
SFC& 21.1& 81.6& -60.6& 194.2& 134.6& 59.7& 215.3& 216.2& -0.9\\
\botline
\end{tabular}

\bigskip
\caption{Using a \texttt{tabular*} environment}

\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}|c| 
           S[table-format=2.1] *{8}{S[table-format=3.1]}|@{}}
\topline
Height& {SW\textsubscript{up}} & {SW\textsubscript{down}} & {SW\textsubscript{net}} 
      & {LW\textsubscript{up}} & {LW\textsubscript{down}} & {LW\textsubscript{net}} 
      & {Net Up} & {Net Down} & {Net Flux} \\
\midline
TOA& 57.7& 144.1& -86.4& 171.0& 0.0& 171.0& 228.7& 144.1& 84.6\\
SFC& 21.1& 81.6& -60.6& 194.2& 134.6& 59.7& 215.3& 216.2& -0.9\\
\botline
\end{tabular*}

\bigskip
\setlength\tabcolsep{3pt}
\caption{Using a \texttt{tabularx} environment}
\begin{tabularx}{\textwidth}{|C| 
           S[table-format=2.1] *{8}{S[table-format=3.1]}|@{}}
\topline
Height& \mc{SW\textsubscript{up}} & \mc{SW\textsubscript{down}} & \mc{SW\textsubscript{net}} 
      & \mc{LW\textsubscript{up}} & \mc{LW\textsubscript{down}} & \mc{LW\textsubscript{net}} 
      & \mc{Net Up} & \mc{Net Down} & \multicolumn{1}{C|}{Net Flux} \\
\midline
TOA& 57.7& 144.1& -86.4& 171.0& 0.0& 171.0& 228.7& 144.1& 84.6\\
SFC& 21.1& 81.6& -60.6& 194.2& 134.6& 59.7& 215.3& 216.2& -0.9\\
\botline
\end{tabularx}
\end{table*}

\end{document}

相关内容