我有一个脚本可以生成超级复杂的表格,这些表格需要带有彩色背景的单个单元格。目前,我正在使用自己的宏来生成彩色单元格,但我宁愿使用 中更好的宏colortbl
。但是,导入colortbl
包会导致我的 latex 文档失败,并显示以下内容:
$ pdflatex tbl_example.tex
! Undefined control sequence.
<template> ...@setup \CT@row@color \CT@cell@color
\CT@do@color \endgroup \@t...
l.23 \multicolumn{1}{c}{\multirow{2}{*}{}}&&
&\multicolumn{1}{c}{} &\multicol...
?
在下面的 MWE 中,注释掉usepackage{colortbl}
、 或 的定义\blankheight
或表列都会导致此文档编译时没有错误。我做错了什么?
\documentclass{article}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{longtable}
\usepackage{mathtools}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{xspace}
\newlength{\blankheight}%
\settototalheight{\blankheight}{%
$\begin{array}{rr}%
\scriptstyle{0} \\[-6pt]%
\scriptscriptstyle{0}%
\end{array}%
$%
}
\begin{document}
\begin{longtable}{ll@{\hspace{0cm}}ll@{\hspace{-1cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}l@{\hspace{.3cm}}ll@{\hspace{-1cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}rr@{\hspace{0cm}}r}
\multicolumn{1}{c}{\multirow{2}{*}{}}&&&\multicolumn{1}{c}{} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column}\\
\endhead
\hline
\end{longtable}
\end{document}
答案1
您可以延迟设置:
\documentclass{article}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{longtable}
\usepackage{mathtools}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{xspace}
\newlength{\blankheight}%
\AtBeginDocument{%
\settototalheight{\blankheight}{%
$\begin{array}{rr}%
\scriptstyle{0} \\[-6pt]%
\scriptscriptstyle{0}%
\end{array}%
$%
}}
\begin{document}
\begin{longtable}{ll@{\hspace{0cm}}ll@{\hspace{-1cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}l@{\hspace{.3cm}}ll@{\hspace{-1cm}}r@{\hspace{0cm}}r@{\hspace{0cm}}rr@{\hspace{0cm}}r}
\multicolumn{1}{c}{\multirow{2}{*}{}}&&&\multicolumn{1}{c}{} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column} &\multicolumn{1}{c}{Column}\\
\endhead
\hline
\end{longtable}
\end{document}