我一直在准备一个文档,该文档使用该ifdraft
软件包来添加水印。直到今天,在我使用 MacTex 发行版将我的安装从 TexLive 2019 升级到 TexLive 2020 之前,编译一直很顺利。现在编译失败并出现错误! Package keyval Error: 223 defined.
。我正在使用lualatex
命令行和 VIM ex: 模式进行编译。
最初,我将其归结为我所使用的软件包组合,但是,我仅使用 和 创建了一个示例文件ifdraft
,blindtext
但draftwatermark
同样失败了:
\documentclass[draft,a4paper]{article}
\usepackage{ifdraft, blindtext}
\ifoptiondraft{%
\usepackage{draftwatermark}
\SetWatermarkText{DRAFT}
\SetWatermarkScale{1}
\SetWatermarkColor[rgb]{0.7,0,0}
}{%
% nothing to see here
}
\begin{document}
\Blindtext
\end{document}
使用 VIM:lualatex %
或者终端进行编译,将给出输出:
This is LuaHBTeX, Version 1.12.0 (TeX Live 2020)
restricted system commands enabled.
LaTeX2e <2020-02-02> patch level 5
L3 programming layer <2020-04-06>
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/size12.clo))
(/usr/local/texlive/2020/texmf-dist/tex/latex/oberdiek/ifdraft.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/blindtext/blindtext.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/tools/xspace.sty))
(/usr/local/texlive/2020/texmf-dist/tex/latex/draftwatermark/draftwatermark.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/kvoptions/kvoptions.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2020/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty)
(/usr/local/texlive/2020/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty))
(/usr/local/texlive/2020/texmf-dist/tex/latex/everypage/everypage.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-def/luatex.def)))
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/color.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/color.cfg)))
! Package keyval Error: 223 undefined.
See the keyval package documentation for explanation.
Type H <return> for immediate help.
...
l.10 }
我尝试在“else/final”子句中包含包规范,以防出现错误,因此它不为空,但当draft
包含在中时documentclass
,上述错误必然发生。每次都会突出显示右括号。
也许有人可以指点一下我应该看哪里。我有点不知道该看哪里。
答案1
draftwatermark
当传递colorspec
选项时没有对颜色规范中的逗号进行任何解释保护,则会出现一个错误。
xcolor
您可以通过加载和支撑颜色规范来解决此问题。
\documentclass[draft,a4paper]{article}
\usepackage{ifdraft, blindtext,xcolor}
\ifoptiondraft{%
\usepackage{draftwatermark}
\SetWatermarkText{DRAFT}
\SetWatermarkScale{1}
\SetWatermarkColor[rgb]{{0.7,0,0}}
}{%
% nothing to see here
}
\begin{document}
\Blindtext
\end{document}