动机
我想在马尼姆,一款使用 LaTeX 在后台进行渲染的动画软件。流程如下:
- 生成 TeX 文件
- 运行
dvilualatex
它以将其转换为 DVI - 运行
dvisvgm
将 DVI 转换为 SVG
我发现表情符号包为每个表情符号导入一个 PDF。PDF 无法直接导入,将所有表情符号批量转换为 EPS 很容易,所以这听起来是个合理的方法。然而,这并不像看起来那么简单——出于某种原因,导入的 EPS 文件的间距非常奇怪在他们旁边。
逐步复现
- 下载 twemojis 包:https://mirrors.ctan.org/macros/latex/contrib/twemojis.zip
- 解压后,转到
./pdf-twemojis
并选择一个表情符号 – 例如1f622.pdf
- 使用以下方式将其转换为 EPS
pdftops -level3 -eps 1f622.pdf 1f622.eps
- 创建一个最小
example.tex
文件:
\documentclass[preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[dvisvgm]{graphicx}
\begin{document}
Hello \includegraphics[height=\baselineskip]{./1f622.eps} world.
\end{document}
。
这似乎是 的问题dvilualatex
,而不是 的问题dvisvgm
。在 Okular 中查看 DVI 文件也会产生类似的错误结果:
本示例的完整源文件夹可供使用这里。
问题
是什么导致了这种奇怪的间距?我该如何消除它?我可以在每个表情符号后放置一个很大的负空间,但感觉很不寻常,而且一旦我改变字体大小或环境(例如equation
或align
),就很可能会崩溃。