表格在两栏纸上垂直裁切

表格在两栏纸上垂直裁切

我在表格格式方面遇到问题,如下面的截图所示,表格的一部分缺失 在此处输入图片描述

用于创建表的代码如下

\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
   Brand & DeepLearning\_WordEmb\_LSTM & Google NLP & WordNetLexicon & Amazon Ratings  \\ \hline
 Apple & 0.52123 & 0.58509 & 0.53234 & 0.59240 \\ \hline
 Huawei & 0.57782 & 0.50757 & 0.53302 & 0.76220 \\ \hline
 Samsung & 0.56242 & 0.58984 & 0.54255 & 0.68910 \\ \hline
     \end{tabular}
\caption{Sentiment Approach Comparisons per Brand}
\label{senti_approach}
\end{table}

文件类型为\documentclass[sigconf]{acmart}

答案1

对于双列格式,必须做出一些妥协。

在您的表格中,标题太长,无法容纳该列,因此我建议使用符号引用。

\documentclass[sigconf,twocolumn]{acmart}

\usepackage{booktabs,siunitx}

\usepackage{lipsum} % just for the example

\begin{document}

\lipsum[2] % filler text

\begin{table}[!htp]
\raggedright
\setlength{\tabcolsep}{0pt} % let TeX do the calculations
\sisetup{group-digits=false} % no space between digits

\begin{tabular*}{\columnwidth}{
  @{\extracolsep{\fill}}
  l % brand
  *{4}{S[table-format=1.5]}
}
\toprule
Brand & {(1)} & {(2)} & {(3)} & {(4)} \\
\midrule
Apple   & 0.52123 & 0.58509 & 0.53234 & 0.59240 \\
Huawei  & 0.57782 & 0.50757 & 0.53302 & 0.76220 \\
Samsung & 0.56242 & 0.58984 & 0.54255 & 0.68910 \\
\bottomrule
\end{tabular*}

\medskip

(1) DeepLearningWordEmb\_LSTM \\
(2) Google NLP \\
(3) WordNetLexicon \\
(4) Amazon Ratings

\medskip

\caption{Sentiment Approach Comparisons per Brand}
\label{senti_approach}
\end{table}

\lipsum[3-13] % more filler text

\end{document}

在此处输入图片描述

垂直间距是错误的,因为该类acmart期望顶部表格的标题。与之前的代码相同,使用以下格式的表格将具有正确的垂直空间。

\begin{table}[!htp]
\raggedright
\setlength{\tabcolsep}{0pt} % let TeX do the calculations
\sisetup{group-digits=false} % no space between digits

\caption{Sentiment Approach Comparisons per Brand}
\label{senti_approach}

\begin{tabular*}{\columnwidth}{
  @{\extracolsep{\fill}}
  l % brand
  *{4}{S[table-format=1.5]}
}
\toprule
Brand & {(1)} & {(2)} & {(3)} & {(4)} \\
\midrule
Apple   & 0.52123 & 0.58509 & 0.53234 & 0.59240 \\
Huawei  & 0.57782 & 0.50757 & 0.53302 & 0.76220 \\
Samsung & 0.56242 & 0.58984 & 0.54255 & 0.68910 \\
\bottomrule
\end{tabular*}

\medskip

(1) DeepLearningWordEmb\_LSTM \\
(2) Google NLP \\
(3) WordNetLexicon \\
(4) Amazon Ratings

\end{table}

在此处输入图片描述

答案2

目前,tabular嵌入在table环境中的环境太宽,无法容纳在单个文本列中。“罪魁祸首”是四个数据列标题中的文本字符串,特别是长字符串DeepLearning\_WordEmb\_LSTM

我能想到两种补救措施:

  • \begin{table}[h]分别将和替换\end{table}\begin{table*}\end{table*}。进行此更改后,LaTeX 将在页面顶部的两列中排版表格。

  • 根据需要在标题单元格中引入换行符,并使用tabularx环境来确保材料的整体宽度为\columnwidth

    • 在以下示例中,我选择为第一个数据列分配比其他三个数据列更大的宽度,以便将所有标题单元格限制为仅两行。还请注意1.333+3*0.899=4;4 也是类型的列数X。您可能会问,为什么是 0.889 和 1.333?没有什么特别的原因,只是 1.333 比 0.889 大 50%。

    • 我不得不猜测四个标题中的两个标题中可接受的换行点在哪里。您可能会同意或不同意这些猜测。

    • 我还通过省略所有垂直线并使用更少但间距适当的水平线,使表格呈现出更加开放的“外观”。

在此处输入图片描述

\documentclass[sigconf,twocolumn]{acmart}
\usepackage{lipsum,tabularx,ragged2e,booktabs}
\newcolumntype{C}[1]{%
  >{\Centering\arraybackslash\hspace{0pt}%
    \hsize=#1\hsize\linewidth=\hsize}X}
\begin{document}
\lipsum[2] % filler text

\begin{table}[h]
\urlstyle{same}
%\centering
\begin{tabularx}{\columnwidth}{@{} l C{1.333} *{3}{C{0.889}} @{}}
\toprule
   Brand & DeepLearning\-WordEmb\_LSTM & Google NLP & WordNet\-Lexicon & Amazon Ratings  \\ 
\midrule
 Apple & 0.52123 & 0.58509 & 0.53234 & 0.59240 \\ %\hline
 Huawei & 0.57782 & 0.50757 & 0.53302 & 0.76220 \\ %\hline
 Samsung & 0.56242 & 0.58984 & 0.54255 & 0.68910 \\ 
\bottomrule
\end{tabularx}
\caption{Sentiment Approach Comparisons per Brand}
\label{senti_approach}
\end{table}

\lipsum[2] % more filler text
\end{document}

相关内容