Revtex 4-2 直纹表格

Revtex 4-2 直纹表格

我想使用 Revtex 4-2 进行出版。这意味着我无法对文档进行太多更改或重新编程。但我偶然发现了一些让我非常困扰的有关规则表环境的事情。

在 Revtex 中,此环境定义为:

\def\toprule{\hline\hline}%
\def\colrule{\hline}%
\def\botrule{\hline\hline}%
\newenvironment{ruledtabular}{%
 \def\array@default{v}%
 \appdef\tabular@hook{\def\@halignto{to\hsize}}%
 \let\tableft@skip@default\tableft@skip
 \let\tableft@skip\tableft@skip@float
 \let\tabmid@skip@default\tabmid@skip
 \let\tabmid@skip\tabmid@skip@float
 \let\tabright@skip@default\tabright@skip
 \let\tabright@skip\tabright@skip@float
 \let\array@row@pre@default\array@row@pre
 \let\array@row@pre\array@row@pre@float
 \let\array@row@pst@default\array@row@pst
 \let\array@row@pst\array@row@pst@float
 \appdef\array@row@rst{%
  \let\array@row@pre\array@row@pre@default
  \let\array@row@pst\array@row@pst@default
  \let\tableft@skip\tableft@skip@default
  \let\tabmid@skip\tabmid@skip@default
  \let\tabright@skip\tabright@skip@default
  \appdef\tabular@hook{\let\@halignto\@empty}%
 }%
}

因此它在顶部和底部添加了两个 \hline,并将其宽度与文本宽度对齐。但使用它之后,你会看到它还在顶部和底部添加了空间。如果我们将它与顶部和底部有两个 \hline 的普通表格进行比较,这一点就变得很清楚了:

    \begin{table}[!h]
    \centering
    \begin{ruledtabular}
    \begin{tabular}{ccc}
    test & test &  test \\
    \hline
    test & test & test \\
    \hline
    test & test & test  \\
   test & test & test  \\
    \end{tabular}
    \end{ruledtabular}
\end{table}

和。。比较

\begin{table}[!h]
    \centering
    \begin{tabular}{ccc}
    \hline \hline
    test & test &  test \\
    \hline
    test & test & test \\
    \hline
    test & test & test  \\
   test & test & test  \\
   \hline \hline
    \end{tabular}
\end{table}

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

我现在想知道在ruledtabular的定义中顶部和底部的额外空间来自哪里,这是一个错误还是一个功能?revtex是否打算将顶部和底部的栏与其余部分特别分开?因为我觉得它很丑陋,而且在过去的出版物中,第一行的文本是居中的。

答案1

就出版物而言,revtex 是 APS 的首选提交格式,但它不用于排版出版物。虽然 revtex 通常具有代表性,但确切的排版会有所不同,并且更能代表最近的出版物。

在我看来,表 1 中顶部规则后面的空间增加了https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.123.231108,仅比 revtex 略微不明显,但这可以通过标题行单个规则周围更好(更均匀)的间距来弥补。底部规则前的间距不如 revtex 明显,可能与单个规则前的间距相同。

规则和间距通过\array@row@pre@float和输入,\array@row@pst@float定义为

\def\array@row@pre@float{\hline\hline\noalign{\vskip\doublerulesep}}%
\def\array@row@pst@float{\noalign{\vskip\doublerulesep}\hline\hline}%

对于预印本或类似文件,您可以通过添加

\makeatletter
\def\array@row@pre@float{\hline\hline}%
\def\array@row@pst@float{\hline\hline}%
\makeatother

添加到您的文档中。这不太可能在提交时造成任何问题,并且应该被生产部门忽略,他们将采用自己的风格。

相关内容