升级到 TexLive 2020 后,ifdraft 包停止页面编译

升级到 TexLive 2020 后,ifdraft 包停止页面编译

我一直在准备一个文档,该文档使用该ifdraft软件包来添加水印。直到今天,在我使用 MacTex 发行版将我的安装从 TexLive 2019 升级到 TexLive 2020 之前,编译一直很顺利。现在编译失败并出现错误! Package keyval Error: 223 defined.。我正在使用lualatex命令行和 VIM ex: 模式进行编译。

最初,我将其归结为我所使用的软件包组合,但是,我仅使用 和 创建了一个示例文件ifdraftblindtextdraftwatermark同样失败了:

\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}

相关内容