如何处理 TikZ 动画中的汉字?

2020-02-19 00:26发布

```tex \documentclass[dvisvgm]{article} \usepackage{tikz} \usetikzlibrary{animations} \begin{documen...

```tex \documentclass[dvisvgm]{article} \usepackage{tikz} \usetikzlibrary{animations} \begin{document} \tikz [animate = { n:shift = { 0s = "{(0,0)}", 2s = "{(0,5mm)}", 4s = "{(5mm,5mm)}", 6s = "{(5mm,10mm)}", 8s = "{(10mm,10mm)}", begin on = {click, of next=begin}}, }]{ \draw[help lines] (0,0) grid (3,3); \path node (n) [fill = blue!20, draw=blue, very thick] {The node}; \node at(0,-2)(begin){开始}; } \end{document} ``` 上面文件命名为 `st.tex`, 编译方式是 `xelatex -no-pdf st.tex` 然后 `dvisvgm st.xdv` 再用 Firefox 打开 st.svg, 看不到原来 tex 文件中的汉字“开始”。 这种情况下如何处理汉字呢?
2条回答
论坛 github.com/C
2020-02-20 01:42 .采纳回答
latex3 对 xetex + dvisvgm 的使用方式尚不完全支持,见 https://github.com/latex3/latex3/issues/677 。 使用以下的例子, ```tex % main.tex \ExplSyntaxOn \str_clear:N \c_sys_backend_str \ExplSyntaxOff \documentclass[tikz, dvisvgm]{standalone} \usetikzlibrary{animations} % 使用 ctex 宏包会触发更多与 latex3 当前实现有关的问题 \usepackage{xeCJK} \begin{document} \tikz [animate = { n:shift = { 0s = "{(0,0)}", 2s = "{(0,5mm)}", 4s = "{(5mm,5mm)}", 6s = "{(5mm,10mm)}", 8s = "{(10mm,10mm)}", begin on = {click, of next=begin}}, }] { \draw[help lines] (0,0) grid (3,3); \path node (n) [fill = blue!20, draw=blue, very thick] {The node}; \node at (0,-2) (begin) {开始}; } \end{document} ``` 然后依次执行 ``` xelatex -no-pdf main.tex dvisvgm --zoom=-1 --exact --font-format=woff main.xdv ``` 生成的 svg 中,汉字正常显示。

一周热门 更多>