如何避免在 longtabu 环境中将 rowcolour 应用于 \caption

如何避免在 longtabu 环境中将 rowcolour 应用于 \caption

我使用以下代码通过 tabu 包创建表格,并使用\rowcolors命令将交替行颜色应用于表格。问题是颜色填充应用于表格的标题。我该如何避免这种情况。我尝试\rowcolor{white}在表格内部使用,但它会引发错误。

\documentclass{report}

\usepackage{longtable}
\usepackage{tabu}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\begin{document}

\tabulinesep = 3mm
\rowcolors{2}{white}{lightgray}
\begin{longtabu}{>{\bf}X[l]X[l]X[r]X[r]}
\toprule
\textbf{AssetName} & \textbf{wk\_yr} & \textbf{Energy$kWh$} & \textbf{Power$kW$} 
\\ \toprule \endhead
  UPS Room & 2014-W25 & 325.45 & 1 \\ 
  UPS Room & 2014-W26 & 348.64 & 2 \\ 
  GF AHU Energy Meter & 2014-W25 & 109.00 & 13.91 \\ 
  GF AHU Energy Meter & 2014-W26 & 171.00 & 27.64 \\ 
  PANTRY AHU Energy Meter & 2014-W25 & 18.00 & 13.49 \\ 
  PANTRY AHU Energy Meter & 2014-W26 & 21.00 & 13.79 \\ 
  1F AHU Energy Meter & 2014-W25 & 19.00 & 9.01 \\ 
  1F AHU Energy Meter & 2014-W26 & 16.00 & 8.97 \\ 
\toprule
\caption{Table Caption}
\end{longtabu}

\end{document}

乳胶代码的输出

答案1

caption虽然不是优雅的方法,但我最终找到了一种解决方案,通过使用包和\addtablecounter命令来避免填写表格标题。我删除了环境\caption内的命令longtabu,并用\addtablecounter它来减去表格计数,并使用\captionof命令在环境外创建标题longtabu。有人能建议更好的方法吗?

usepackage{longtable}
\usepackage{tabu}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\usepackage{caption}
\begin{document}

\tabulinesep = 3mm
\rowcolors{2}{white}{lightgray}
\begin{longtabu}{>{\bf}X[l]X[l]X[r]X[r]}
\toprule
\textbf{AssetName} & \textbf{wk\_yr} & \textbf{Energy$kWh$} & \textbf{Power$kW$} 
\\ \toprule \endhead
  UPS Room & 2014-W25 & 325.45 & 1 \\ 
  UPS Room & 2014-W26 & 348.64 & 2 \\ 
  GF AHU Energy Meter & 2014-W25 & 109.00 & 13.91 \\ 
  GF AHU Energy Meter & 2014-W26 & 171.00 & 27.64 \\ 
  PANTRY AHU Energy Meter & 2014-W25 & 18.00 & 13.49 \\ 
  PANTRY AHU Energy Meter & 2014-W26 & 21.00 & 13.79 \\ 
  1F AHU Energy Meter & 2014-W25 & 19.00 & 9.01 \\ 
  1F AHU Energy Meter & 2014-W26 & 16.00 & 8.97 \\ 
\toprule
\end{longtabu}
\addtocounter{table}{-1}
\captionof{table}{Table Caption}
\end{document}

修改表

相关内容