DVI 中的表情符号?(dvilualatex、dvisvgm 和 twemojis)

DVI 中的表情符号?(dvilualatex、dvisvgm 和 twemojis)

动机

我想在马尼姆,一款使用 LaTeX 在后台进行渲染的动画软件。流程如下:

  1. 生成 TeX 文件
  2. 运行dvilualatex它以将其转换为 DVI
  3. 运行dvisvgm将 DVI 转换为 SVG

我发现表情符号包为每个表情符号导入一个 PDF。PDF 无法直接导入,将所有表情符号批量转换为 EPS 很容易,所以这听起来是个合理的方法。然而,这并不像看起来那么简单——出于某种原因,导入的 EPS 文件的间距非常奇怪在他们旁边。

逐步复现

  1. 下载 twemojis 包:https://mirrors.ctan.org/macros/latex/contrib/twemojis.zip
  2. 解压后,转到./pdf-twemojis并选择一个表情符号 – 例如1f622.pdf
  3. 使用以下方式将其转换为 EPSpdftops -level3 -eps 1f622.pdf 1f622.eps
  4. 创建一个最小example.tex文件:
\documentclass[preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[dvisvgm]{graphicx}
\begin{document}
Hello \includegraphics[height=\baselineskip]{./1f622.eps} world.
\end{document}
  1. 使用以下方法将其转换为 DVIdvilualatex example.tex
  2. 使用以下方式将其转换为 SVGdvisvgm example.dvi
  3. 生成的文件有一个奇怪的空格:
    SVG 输出

这似乎是 的问题dvilualatex,而不是 的问题dvisvgm。在 Okular 中查看 DVI 文件也会产生类似的错误结果:
Okular 中的 DVI

本示例的完整源文件夹可供使用这里

问题

是什么导致了这种奇怪的间距?我该如何消除它?我可以在每个表情符号后放置一个很大的负空间,但感觉很不寻常,而且一旦我改变字体大小或环境(例如equationalign),就很可能会崩溃。

答案1

预览计算似乎已关闭。如果您用以下代码包围它以\fbox调试其大小,它仍会正常工作,即使您将 fbox 规则设置得非常细:

在此处输入图片描述

\documentclass[preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[dvisvgm]{graphicx}
\setlength\fboxrule{1sp}
\begin{document}
Hello \fbox{\includegraphics[height=\baselineskip]{1f622.eps}} world.
\end{document}

相关内容