我正在使用文档类 elsarticle。我想在表格中分多行,同时保持两列格式

我正在使用文档类 elsarticle。我想在表格中分多行,同时保持两列格式

这是我正在使用的

  \begin{table}[h]
        \resizebox{\columnwidth}{!}{%
        
    \begin{tabular}{c c c c}
        
        
        \hline
        Dataset&Number of Speakers& Total utterances&Emotions\\
        \hline
        Berline Emotional Speech Database&10(5M,5F)&535&Angry, Boredom, Disgust, Fear, Happy, Sadness, Neutral\\
        
        
        
    \end{tabular}
}
\end{table}

输出是 在此处输入图片描述

但我想要这个 在此处输入图片描述

请指导。

在 Mico 回答之后,我明白了。只需要在这三个项目之间添加分隔,而无需为序列号添加任何额外的列。此外,如何增加第一列和最后一列的宽度?实际上,我需要理解整行。\begin{tabularx}{\textwidth}{@{} *{3}{C{0.8}} C{1.6} @{}}我猜:3 表示前 3 个列的宽度为 0.8,最后一个列的宽度为 1.6?请指导。问候 在此处输入图片描述

答案1

评论:我写这个答案是为了回答 OP 的初始疑问。在我发布这个答案后不久,OP 几乎完全改变了疑问。我担心,结果,我的答案对未来的读者来说变得几乎难以理解,因为它继续回答一个现在不再存在的问题。

我建议您采用一个tabularx环境,其中包含四个居中版本的X列类型,并将整体宽度设置为\columnwidth

table*或者,您可以使用环境并将环境的宽度设置tabularx为 ,让表占据两列的宽度\textwidth

在此处输入图片描述

在此处输入图片描述

\documentclass[twocolumn]{elsarticle}
\usepackage{tabularx,ragged2e,booktabs}
\newcolumntype{C}[1]{>{\Centering\hsize=#1\hsize}X}
\begin{document}
\begin{table}[h] % all columns have same width
\begin{tabularx}{\columnwidth}{@{} *{4}{C{1}} @{}}
        \toprule
        Dataset & Number of speakers & Total utterances & Emotions\\
        \midrule
        Berlin Emotional Speech Database & 10 (5M,~5F) & 535 & Angry, Boredom, Disgust, Fear, Happy, Sadness, Neutral\\
        \bottomrule
\end{tabularx}
\end{table}

\begin{table*}[h] % final column is twice as wide as first three
\begin{tabularx}{\textwidth}{@{} *{3}{C{0.8}} C{1.6} @{}}
    \toprule
    Dataset & Number of speakers & Total utterances & Emotions\\
    \midrule
    Berlin Emotional Speech Database & 10 (5M,~5F) & 535 & Angry, Boredom, Disgust, Fear, Happy, Sadness, Neutral\\
    \bottomrule
\end{tabularx}
\end{table*}

\end{document} 

附录解决原始发帖人的一个后续疑问:

我需要理解这整句话\begin{tabularx}{\textwidth}{@{} *{3}{C{0.8}} C{1.6} @{}}

让我们从列类型的定义开始C

\newcolumntype{C}[1]{>{\Centering\hsize=#1\hsize}X}

这里,X列类型由包定义tabularx\Centering是包定义的宏ragged2e。如果存在一个或多个类型的列X,则它们的宽度计算为残差,即从环境的第一个参数中减去所有其他列的宽度\tabularx。例如,

\begin{tabularx}{\columnwidth}{@{} *{4}{C{1}} @{}}

表示整体宽度(环境的第一个参数tabularx)等于\columnwidth,而*{4}{C{1}}表示“4 列类型为C,宽度均等”。 (@{}粒子用于抑制表格边缘的空白填充。) 的参数C相对的宽度,其中“相对”是指等宽 X 型柱的情况。这里要遵循的主要规则是相对列宽(此处:1+1+1+1=4)必须等于数字X 型柱(此处:4)。

现在我们可以转向第二种tabularx环境:

\begin{tabularx}{\textwidth}{@{} *{3}{C{0.8}} C{1.6} @{}}

它的整体宽度为\textwidth(是的两倍多)\columnwidth,总共由4列组成。前三列是居中的X型列,相对的宽度等于 0.8,第四个也是居中的 X 型柱,相对的宽度为 1.6。请注意 3*0.8+1.6 = 2.4+1.6 = 4 = X 型列的数量。换句话说:最后一列的可用宽度是前三列可用宽度的两倍。”如果要增加第一列和最后一列的相对宽度,还必须减小第二列和第三列的相对宽度。例如,

\begin{tabularx}{\textwidth}{@{} C{0.9} C{0.7} C{0.7} C{1.7} @{}}

从语法上来说是正确的规范。

相关内容