了解 \rowcolors 如何与 longtables 配合使用

了解 \rowcolors 如何与 longtables 配合使用

对于以下内容,我想了解:

  1. 第一行是什么colortbl?标题还是带有数字的行1 & 2

  2. 为什么着色不尊重并跳过标题下方的第一行?我期望它在标题和第一行无色的情况下\rowcolors{3}开始为行着色。3 & 4

  3. 为什么第二页的页眉是彩色的?

  4. 考虑了我的前两个问题后,如何使两个表格部分的颜色模式保持一致?

在此处输入图片描述

\documentclass{article}
\usepackage[paperheight = 45mm]{geometry}
\usepackage{xltabular,booktabs}
\usepackage[table]{xcolor}

\begin{document}
    \rowcolors{3}{gray!15}{}
    \begin{xltabular}{0.5\linewidth}{X X}
        \toprule[1.5pt]
        One & Two \\
        \midrule\endfirsthead
        \midrule
        One cont. & Two cont. \\
        \midrule\endhead
        \midrule\endfoot
        \bottomrule[1.5pt]\endlastfoot
        1   & 2     \\
        3   & 4     \\
        5   & 6     \\
        7   & 8     \\
        9   & 10    \\
        11  & 12    \\
        13  & 14    \\
        15  & 16    \\
        17  & 18    \\
        19  & 20    \\
    \end{xltabular}
\end{document}

答案1

事实上,要制作一个像样的带有表头和表尾的长表格,最好将表头/表尾(包括标题、脚注、后续文本)与行头/表尾(包括表格中应该出现在每一页的一些行)分开。这样,行颜色应该可以按预期工作。

tabularray软件包最近基于上述想法添加了对长表的支持。 的 2021L 版本tabularray于 2021-07-01 发布。

\documentclass{article}
\usepackage[paperheight=75mm]{geometry}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\begin{tblr}[
  long, caption = {The Caption},
]{
  width = 0.5\linewidth, colspec = {XX}, rowhead = 1,
  row{even} = {gray!30}, row{1} = {blue!15},
}
\toprule[1.5pt]
  One & Two  \\
\midrule
   1  &   2  \\
   3  &   4  \\
   5  &   6  \\
   7  &   8  \\
   9  &  10  \\
  11  &  12  \\
  13  &  14  \\
  15  &  16  \\
  17  &  18  \\
  19  &  20  \\
\bottomrule[1.5pt]
\end{tblr}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\end{document}

在此处输入图片描述


(1)除了页脚规则外,有没有办法分别更改页眉的 \toprule 和 \midrule 的宽度?

我不确定你的意思。

(2)另外,如何更改(续)文本?

使用\DefTblrTemplate{conthead-text}{default}{...}\DefTblrTemplate{contfoot-text}{default}{...}

(3)如何指定着色模式开始的行?

首先row{even} = {gray}然后row{2,4}={white}覆盖前者。

(4)最后,既然文档中没有提到 Rowhead,那它是什么意思呢?

选项rowhead是指每页应排版的表格起始行数。

相关内容