make4ht 無法編譯 TikZ 圖片

make4ht 無法編譯 TikZ 圖片

我在製作時遇到困難製作4ht與...一起工作蒂克茲圖片。我的電腦是 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/FAQ/
  2. 「dvisvgm」在安裝 MacTex 2023 和「libgs」時未偵測到「libgs」 - MacOS 12.7.2 (Monterey)

所以,當我跑步時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 互相對話,但也沒有成功。

相關內容