dtx 代码存在问题:rowcolors 未知

dtx 代码存在问题:rowcolors 未知

.dtx我的文件中出现以下错误:

) (./test.dtx
! Undefined control sequence.
l.35 % \rowcolors
{1}{colorrow}{colorbody}

我不明白,因为xcolorcolortbl都已加载,并且所有其他xcolor命令都有效。

这是用于测试的文件的代码.dtx

% \iffalse
%<*driver>
\ProvidesFile{test.dtx}
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{test}
%
%<*driver>
\documentclass{ltxdoc}
\usepackage{test}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%
\RequirePackage{colortbl}
\RequirePackage{xcolor}
%
\listfiles
\begin{document}
  \DocInput{test.dtx}
  \PrintChanges
  \PrintIndex
\end{document}
%</driver>
% \fi
%
% \GetFileInfo{test.dtx}
%
% \colorlet{colorbody}{white!100}
% \colorlet{colorsubhead}{gray!30}
% \colorlet{colorhead}{gray!25}
% \colorlet{colorrow}{gray!15.0}
%
% \rowcolors{1}{colorrow}{colorbody}
% \begin{tabular}{*{2}{p{0.45\textwidth}}}
%  content  & content \tabularnewline
%  content  & content \tabularnewline
%  content  & content \tabularnewline
% \end{tabular}
% 
% \StopEventually{}
% \clearpage
% \section{Implementation}
%
% \iffalse
%<*test.sty>
% \fi
%
% \subsection{Setup and packages}           
%
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{test}
%    \end{macrocode}
% 
%    \begin{macrocode}
\RequirePackage{array}
\RequirePackage{colortbl} 
\RequirePackage{xcolor}
%    \end{macrocode}
%
% \iffalse
%</test.sty>
% \fi
%
% \Finale
\endinput

答案1

你应该更换

\RequirePackage{colortbl}
\RequirePackage{xcolor}

在第 16+17 行

\usepackage[table]{xcolor}

因为在文档前言中,包加载应该使用\usepackage而不是\RequirePackage,并且在第 59+60 行

\RequirePackage[table]{xcolor}

因为单独加载这两个包是不一样的。第 2.12 节“表格中的颜色“, 的彩色手册建议使用该选项,因为:

这些命令需要表选项。

“这些命令”是、、、、\rowcolors和(这不是命令而是 TeX 计数器)。\rowcolors*\showrowcolors\hiderowcolors\rownum

相关内容