下面的示例旨在使用 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