使用预览包会删除 LuaLaTeX 中的字体透明度:
\documentclass{article}
\usepackage{luaotfload}
\usepackage[active]{preview}
\begin{document}
\begin{preview}
\font\x="texgyrebonum-bold.otf:color=FF000077" at 24pt\x
ABCDEF\llap{ZYXWUV}
\end{preview}
\end{document}
(删除active
预览选项以查看其应有的外观。)
在我自己深入研究细节之前,有什么想法可能导致这种情况吗?
答案1
这似乎是luaotfload
pdf 页面资源处理中的一个错误。
通过删除包,可以进一步简化(并简化)示例preview
- 简单\vbox
就足够了:
\input luaotfload.sty
\font\x="texgyrebonum-bold.otf:color=FF000077" at 24pt\x
AAA \newbox\y\setbox\y\vbox{AAA}\unvbox\y
\bye
结果是(必须包含透明度规范)的设置pdfpageresources
不会传播到 vbox 之外。(不过,我不太明白为什么即使在 vbox 之外也使用了透明字体,却没有透明度。)
在文件末尾附近的pdfpageresoures
函数luaotfload-colors.lua
中设置。将行color_handler
tex.pdfpageresources=tpr
到
tex.set('global','pdfpageresources',tpr)
似乎解决了这个问题。