dvisvgm 在 MacTeX 中只提供了 2.x 版本. 但是最近发布的 3.x 版本提供了很多新的功能.
我的系统是 macOS arm64. 我尝试从源代码编译 dvisvgm 但是出现了各种各样的错误就不一一列举了.
请问有没有编译成功的朋友? 可以来分享一下经验.
dvisvgm 在 MacTeX 中只提供了 2.x 版本. 但是最近发布的 3.x 版本提供了很多新的功能.
我的系统是 macOS arm64. 我尝试从源代码编译 dvisvgm 但是出现了各种各样的错误就不一一列举了.
请问有没有编译成功的朋友? 可以来分享一下经验.
无非你依赖没装全,没啥好分享的
我之前也编译过这个,感觉确实不太好编译。
这是我基于这个Build dvisvgm and kpathsea on macOS · GitHub 改的脚本,应该能直接在新版arm64安装
#!/bin/bash
set -xeuo pipefail
IFS=$'\n\t'
PREFIX="${1:-/usr/local/dvisvgm}"
TEX="$(kpsewhich -var-value SELFAUTOLOC)"
echo "$PREFIX, $TEX"
brew install automake freetype ghostscript potrace autoconf-archieve brotli woff2
# download the sources
mkdir -p "$PREFIX/source/texk"
cd "$PREFIX/source/"
# see https://www.tug.org/texlive/svn/
rsync -av --exclude=.svn tug.org::tldevsrc/Build/source/build-aux .
rsync -av --exclude=.svn tug.org::tldevsrc/Build/source/texk/kpathsea texk/
git clone https://github.com/mgieseki/dvisvgm.git
#compile kpathsea
cd texk/kpathsea
# patch SELFAUTOLOC
perl -0777 -i.bak \
-pe 's|(kpathsea_selfdir \(kpathsea kpse, const_string argv0\)\n\{)|$1\n return xstrdup("'"$TEX"'");\n|g' \
progname.c
./configure --prefix="$PREFIX/"
make -j10
make install
# compile dvisvgm
cd ../../dvisvgm
#autoreconf -fi
CPPFLAGS="-I$PREFIX/include/ `pkg-config --cflags-only-I openssl`" \
LDFLAGS="-L$PREFIX/lib/ `pkg-config --libs-only-L freetype2`" ./configure --prefix="$PREFIX/"
make -j10
make check
make install
把上面这个保存成build_dvisgm.sh
,然后执行 bash build_dvisgm.sh [安装的绝对路径]
上述安装的版本应该是3.0.2
我是 intel 的机器,会报 ./build-dvisvgm.sh: line 39: ./configure: No such file or directory
现在 MacTeX 2023 正式发布了. 你可以直接安装最新的 MacTeX, 内置了 dvisvgm3.
我买了新的机器,M3 Max,安装了 MacTex 后 dvisvgm --version
确实有,但是 emacs 找不到它。
如果用的 homebrew-emacs-plus 在安装完 MacTex 后重新编译安装 emacs-plus 就好. 如果是原生的 Emacs 可以看一下这个包: exec-path-from-shell.
我原先就安装了 texlive,经过@roife 提醒从 /Library/TeX/texbin/
复制到 /opt/homebrew/bin/
就可以了。