我有这个多页longtable
,我需要将一行移到下一页以进行布局。通常我只需用 开始行\clearpage
(这在其他地方也有效),但这次我需要 行\rowcolor
。如果我将 放在\clearpage
之前\rowcolor
,我会收到"! Misplaced \noalign. \rowcolor ->\noalign"
错误。如果我交换它们,我会收到错误"! Misplaced \omit. \multispan ->\omit"
。我不得不求助于插入空白行来实现页面清除,如下所示:
{\small\addtolength{\tabcolsep}{-2pt}
\begin{longtable}[c]{|>{\raggedright\arraybackslash}m{2.2cm}|>{\raggedright\arraybackslash}m{2.5cm}|>{\raggedright\arraybackslash}m{9.6cm}|}
\caption{Description...\label{tab22}}\\
\hline
\rowcolor{blue}
\textbf{Tâche}&\textbf{Responsabilité}&\textbf{Description}\\\hline
\endfirsthead
\hline
\rowcolor{blue}
\textbf{Tâche}&\textbf{Responsabilité}&\textbf{Description}\\\hline
\endhead %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Création d’une ébauche&
Premier auteur&
Le premier auteur rédige une ébauche du document...\\\hline %%%%%%%%%
Communication&
Éditeur externe&
L’éditeur externe informe l’auteur que la publication...\\\hline %%%%
\multicolumn{3}{c}{\vspace{8mm}}\\
\multicolumn{3}{c}{\hfill}\\
\rowcolor[gray]{0.95}
\multicolumn{3}{|c|}{Si le document est refusé}\\\hline %%%%%%%%%%%%%
\rowcolor[gray]{0.95}
Communication du refus&
Premier auteur&
Le premier auteur informe le Bureau de la rédaction...\\\hline %%%%%%
\end{longtable}
}
虽然我想要的是类似这样的东西:
{\small\addtolength{\tabcolsep}{-2pt}
\begin{longtable}[c]{|>{\raggedright\arraybackslash}m{2.2cm}|>{\raggedright\arraybackslash}m{2.5cm}|>{\raggedright\arraybackslash}m{9.6cm}|}
\caption{Description...\label{tab22}}\\
\hline
\rowcolor{blue}
\textbf{Tâche}&\textbf{Responsabilité}&\textbf{Description}\\\hline
\endfirsthead
\hline
\rowcolor{blue}
\textbf{Tâche}&\textbf{Responsabilité}&\textbf{Description}\\\hline
\endhead %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Création d’une ébauche&
Premier auteur&
Le premier auteur rédige une ébauche du document...\\\hline %%%%%%%%%
Communication&
Éditeur externe&
L’éditeur externe informe l’auteur que la publication...\\\hline %%%%
\clearpage
\rowcolor[gray]{0.95}
\multicolumn{3}{|c|}{Si le document est refusé}\\\hline %%%%%%%%%%%%%
\rowcolor[gray]{0.95}
Communication du refus&
Premier auteur&
Le premier auteur informe le Bureau de la rédaction...\\\hline %%%%%%
\end{longtable}
}
有什么线索吗?
答案1
您可能考虑使用较新的 tabularray 包;请参阅其文档。它具有插入分页符和着色内容的不同方法,但您可以轻松地同时执行这两项操作:
\documentclass[a4paper]{article}
\usepackage[svgnames]{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{small}
\begin{longtblr}[
caption={Description\ldots},% set caption
label={tab22}% set label
]
{
colspec={Q[m,wd=2.2cm]Q[m,wd=2.5cm]Q[m,wd=9.6cm]},
colsep=4pt,
rowhead=0, % header rows to repeat on each page
hlines, % horizontal lines between rows
vlines, % veritcal rows between columns
hborder{4} = {pagebreak=yes}, % page break before the 4th row
row{1} = {bg=blue,fg=gray8},% make first row blue
row{4-5} = {bg=gray8} % make 4th and 5th rows gray
}
\textbf{Tâche}&\textbf{Responsabilité}&\textbf{Description}\\
Création d’une ébauche&
Premier auteur&
Le premier auteur rédige une ébauche du document\ldots\\
Communication&
Éditeur externe&
L’éditeur externe informe l’auteur que la publication \ldots\\
\SetCell[c=3]{c}{Si le document est refusé} & & \\
Communication du refus&
Premier auteur&
Le premier auteur informe le Bureau de la rédaction \ldots
\end{longtblr}
\end{small}
\end{document}