定心长桌

定心长桌

我使用longtable一些很长的表格来显示评估结果。它们看起来还不错,但我有两个问题:

  1. 出于某种我不明白的原因,表格似乎太宽了。当我把所有p值加起来时,我得到了0.98/textwidth。那么为什么这个应该更宽呢/textwidth
  2. LaTeX 只能在右边距上书写。有什么方法可以让它同时在两边距上书写以使表格居中吗?我尝试了这里,但它什么也不做。

以下是 MWE:

\documentclass{scrartcl}
\usepackage{longtable}
\begin{document}
\begin{longtable}[c]{|p{0.26\textwidth}|p{0.12\textwidth}|p{0.12\textwidth}|p{0.12\textwidth}|p{0.12\textwidth}|p{0.12\textwidth}|p{0.12\textwidth}|}
    \hline
    \textbf{settings} & \textbf{micro-average precision} & \textbf{micro-average recall} & \textbf{micro-average f-score} & \textbf{macro-average precision} & \textbf{macro-average recall} & \textbf{macro-average f-score} \\ \hline 
\end{longtable}
\end{document}

答案1

如果不是绝对必要,我不建议超出边距。这看起来不一致,因此印刷起来很难看(我有点夸张)。只需将每列的宽度缩小两边两个分隔符的宽度,就可以了。我扩大了宽度,以便您可以使用最大宽度。如果你缩小一点,它将[c]为你完成居中。

% arara: pdflatex

\documentclass{scrartcl}
\usepackage{longtable}
\usepackage{calc}
\usepackage{booktabs}
\usepackage{showframe} % just for demo

\begin{document}
    \begin{longtable}[c]{p{0.28\textwidth-2\tabcolsep}*{6}{p{0.12\textwidth-2\tabcolsep}}}
        \toprule
        \textbf{settings} & \textbf{micro-average precision} & \textbf{micro-average recall} & \textbf{micro-average f-score} & \textbf{macro-average precision} & \textbf{macro-average recall} & \textbf{macro-average f-score} \\ 
        \bottomrule 
    \end{longtable}
\end{document}

在此处输入图片描述

答案2

这是个人品味问题,但我喜欢ltxtable (Longtable 与 tabularx 合并)。这种用法可能看起来很别扭,但是当你想将 的宽度设置longtable为固定值时,它就能很好地完成工作,就像 一样\textwidth

\documentclass{scrartcl}
\usepackage{array,longtable,ltxtable,filecontents}
\usepackage[showframe]{geometry}

\begin{document}

\begin{filecontents}{long.tex}
\begin{longtable}[c]{|p{0.26\textwidth}|*{6}{X|}}
  \hline
  \textbf{settings} 
  & \textbf{micro-average precision} 
  & \textbf{micro-average recall}    & \textbf{micro-average f-score} 
  & \textbf{macro-average precision} & \textbf{macro-average recall} 
  & \textbf{macro-average f-score}   \\ \hline 
\end{longtable}
\end{filecontents}

\LTXtable{1.0\linewidth}{long.tex}

\end{document}

在此处输入图片描述

相关内容