在 LaTex 中结合 longtable、booktabs 和 xcolor,布局问题

Combining longtable, booktabs, and xcolor in LaTex, layout problems

我正在尝试在 LaTeX 的多个页面上创建 nice-looking table。为此,我使用 longtable 将 table 划分到文档的不同页面,使用 booktabs 使其看起来更漂亮,并使用 xcolor 改变 table 的外观。

这是一个 3 列 table。我希望 header 以灰色阴影显示,并且行具有交替的 white/myblue 阴影。

当我将 \begin{table}\begin{tabular} 包结合使用时,booktabs 和 xcolor 布局效果很好。但是,由于table对于单个页面来说太长了,所以我改成了longtable。现在,booktabs 选项(\toprule 等)和 xcolor(\rowcolors)都不起作用。奇怪的是,header 的 \rowcolor 现在可以使用了。由于 booktabs 中的 \toprule\midrule 不起作用,我退回到使用 \hline.

我现在的代码如下:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{booktabs}
\definecolor{myblue}{RGB}{0,204,204}

\begin{document}


\begin{small}
\begin{longtable}{llc}
\caption{Primer list for IRD-associated loci long-range PCRs}
\label{tab:ch3_1_LR_primers}
\rowcolors{1}{white}{myblue!15}
\hline



\rowcolor{gray!20}
\textbf{Text 1} & \textbf{Text sequence} & \textbf{Number}\
\hline
\endfirsthead

\caption{continued from previous page} \

\endhead


\endlastfoot

ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\

\end{longtable}
\end{small}
\end{document}

我需要更改什么才能使两个包中的命令都起作用?

非常感谢任何帮助。

少了几个 \,错放了 \rowcolours 并删除了不必要的 \endlastfoot 可以使代码可编译。理论上你现在也可以将 \hline 替换为 \toprule 等,但是你将面临这样的问题,即书签和这样的斑马条纹 tables 会导致白色间隙,所以你有决定

  • 要么用这样的斑马条纹搭配\hline

  • 使用书签规则使外观好看table并放弃着色

(强烈推荐第二种方法)

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{booktabs}
\definecolor{myblue}{RGB}{0,204,204}

\begin{document}

{
\small
\rowcolors{1}{white}{myblue!15}
\begin{longtable}{llc}
\caption{Primer list for IRD-associated loci long-range PCRs}
\label{tab:ch3_1_LR_primers}\
\hline
\rowcolor{gray!20}\textbf{Text 1} & \textbf{Text sequence} & \textbf{Number}\
\hline
\endfirsthead
\caption{continued from previous page} \
\endhead
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\
ABC\_01\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.01\
ABC\_01\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.87\
ABC\_02\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 67.23\
ABC\_02\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 66.91\
ABC\_03\_A & AAAAAAAAAAAAAAAAAAAAAAAAAAAA & 66.98\
ABC\_03\_B & BBBBBBBBBBBBBBBBBBBBBBBBBBBB & 67.05\

\end{longtable}
}
\end{document}