我无法制作4小时与...合作Tikz 图片。我的电脑是 Mac M1 Sonoma 14.2.1,我的电脑上有 TeX Live 2024 和 Ghostscript 10.03.0:
lualatex --version
This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)
gs --version
10.03.0
我阅读了以下帖子,但不幸的是无法解决我的问题:
- 为什么是dvisvgm 的我的机器禁用了 PostScript 支持?https://dvisvgm.de/常见问题解答/
- 在安装了 MacTex 2023 和‘libgs’的情况下‘dvisvgm’无法检测到‘libgs’-MacOS 12.7.2(蒙特雷)
所以,当我跑步的时候dvisvgm -V1
,我会不是获得 gs 支持:
dvisvgm -V1
dvisvgm 3.2.2 (aarch64-apple-darwin20.6.0)
------------------------------------------
brotli: 1.1.0
clipper: 6.2.1
freetype: 2.13.2
kpathsea: 6.4.0
mutool: 1.23.11
potrace: 1.16
xxhash: 0.8.2
zlib: 1.3.1
echo $LIBGS
/usr/local/share/ghostscript/10.03.0/lib/libgs.dylib.10.03
看来这个问题最近在 GitHub 上又重新被提及了:https://github.com/mgieseki/dvisvgm/issues/267
有人找到不使用 MacPorts 的解决方案吗?我有 Homebrew,我不想再有其他包管理器。
以下是显示问题的 MWE(取自TeX4ht 和 Tikz 缺少 Ghostcript):
\documentclass[11pt]{article}
\ifdefined\HCode
\def\pgfsysdriver{pgfsys-dvisvgm4ht.def}
\fi
\usepackage{tikz}
\usepackage{amsmath}
\begin{document}
\section*{Tikz picture}
\begin{tikzpicture}
\coordinate[label =above:$0$, label =below:{$u=0$}] (A) at (0,0);
\coordinate[label =above:$\pi$, label =below:{$u_x=0$}] (B) at (4,0);
\draw (A) -- node[above] {$u_t = k u_{xx} $} node[below] {$f(x)$} ++ (B);
\node at (A)[circle,fill,inner sep=1pt]{};
\node at (B)[circle,fill,inner sep=1pt]{};
\end{tikzpicture}
\end{document}
它被保存test.tex
并用于编译:
make4ht --lua test.tex "mathml, mathjax"
(请注意,lua 对于这个测试毫无用处,但我在实际情况下会需要它)。我得到:
[STATUS] make4ht: Conversion started
[STATUS] make4ht: Input file: test.tex
pre-processing DVI file (format version 2)
processing of PostScript specials is disabled (Ghostscript not found)
processing page 2
WARNING: 115 PostScript specials ignored. The resulting SVG might look wrong.
graphic size: 46.321112pt x 10.949997pt (16.280009mm x 3.848484mm)
output written to test0x.svg
1 of 3 pages converted in 0.209179 seconds
[STATUS] make4ht: Conversion finished
如果我使用驱动程序pgfsys-dvisvgm.def
而不是pgfsys-dvisvgm4ht.def
,那么它会编译,但输出图片不正确。请注意,驱动程序是最新的。最后,我尝试了来自让 MacTeX 的 dvisvgm 和 Ghostscript 互相交流,但它也不起作用。