MetaPost 文本无法与 luamplib 一起运行

MetaPost 文本无法与 luamplib 一起运行

代码

picture tex_pct;
tex_pct:=btex Too baffled etex scaled 3;
 

for tkn within tex_pct:
  if textual tkn:
    show "textual";
  fi
endfor
end.

编译后mptopdf显示 4 个“文本”,但以下lualatex示例

\documentclass{article}
\usepackage{luamplib}

\begin{document}
\begin{mplibcode}
% text material and glyphs contours
 
picture tex_pct;
tex_pct:=btex Too baffled etex scaled 3;
 

for tkn within tex_pct:
  if textual tkn:
    show "textual";
  fi
endfor
\end{mplibcode}
\end{document}

没有。有什么原因吗?或者这是一个错误?

答案1

这实际上不是一个错误,而是一个实现上的差异。Luamplibbtex ... etex;通过将排版内容保留在 TeX 端并仅将尺寸返回给 MetaPost 来实现。这有很大的优势:这样做,内容btex ... etex;可以与 TeX 文档的其余部分进行交互。

如果你需要访问字形位置或字形轮廓,请查看最小量infontmetapost 处理器,它允许您通过and运算符访问这些数据glyph of。但是,只有 minim-mp 的下一个版本才具有完整的 LaTeX 支持(它是为纯 TeX 编写的),因此您可能必须从 gitlab 获取当前开发版本才能尝试它。

相关内容