使用xelatex + dvisvgm时出现LaTeX3错误“后端请求不一致”

使用xelatex + dvisvgm时出现LaTeX3错误“后端请求不一致”

下面的示例旨在使用 tikz 库生成 svg 输出animations

% main.tex
\documentclass[tikz, dvisvgm]{standalone}
\usetikzlibrary{animations}
\begin{document}
\tikz \node
  :fill opacity = {0s="0", 5s="1"}
  :rotate = {6s="0", 10s="360", repeats, restart=false}
  [fill=blue!20, draw=blue, ultra thick, circle] {Hello!};
\end{document}

在此tex -> dvi/xdv过程中,xelatex -no-pdf main产生 latex3 错误

! LaTeX3 Error: Backend request inconsistent with engine: using 'xdvipdfmx'
(LaTeX3)        backend.

但和都pdflatex -output-format=dvi main可以lualatex -output-format=dvi main正常工作。我正在使用

  • LaTeX2e <2020-02-02> 补丁级别 2
  • L3编程层 <2020-02-14>

这可能与 LaTeX2e 版本 2020-02-02 有关,因为此版本expl3被打包为 latex 格式。

问题

为什么该示例适用于 pdflatex 和 lualatex,但对 xelatex 却不起作用?这是一个问题吗?

解决方法

\documentclass修复问题之前,清除 latex3 内部宏存储后端名称。

\ExplSyntaxOn
\str_clear:N \c_sys_backend_str
\ExplSyntaxOff
\documentclass[tikz, dvisvgm]{standalone}
... ...

答案1

该问题已报告给 latex3 [1] 并已修复。修复程序包含在 l3kernel 2020-02-21 [2] 中。


[1]https://github.com/latex3/latex3/issues/677

[2]https://github.com/latex3/latex3/blob/2020-02-21/l3kernel/CHANGELOG.md#2020-02-21

相关内容