make4ht 无法编译 TikZ 图片

make4ht 无法编译 TikZ 图片

我无法制作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

我阅读了以下帖子,但不幸的是无法解决我的问题:

  1. 为什么是dvisvgm 的我的机器禁用了 PostScript 支持?https://dvisvgm.de/常见问题解答/
  2. 在安装了 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 互相交流,但它也不起作用。

相关内容