(这是基于我回答的解决方法使用表情符号pdflatex
— 此解决方法在另一个答案)要点是:事实证明,在我发布答案后的几年里,行为xelatex
改变!
截至目前TeXLive2018
,由 生成的 PDF 文件xelatex
都是“颜色中性的”:\includegraphics
编辑时,它们会从父文档继承当前的前景色。但是,使用TeXLive2021
生成的 PDF 文件具有颜色设置命令。 结果:必须进行二进制编辑(不可靠并且不方便)才能在其他文档中充分使用本 PDF 文件。(更改的详细信息以及需要哪些后处理将在 上面的链接。核心就是以下几个改变:)
- q 1 0 0 1 72 -62.967 cm BT /F1 9.9626 Tf -72 64.65 Td[<1841>]TJ ET Q
+ q 1 0 0 1 72 -62.967 cm 0 G 0 g 0 g 0 G BT /F1 9.9626 Tf -72 64.65 Td[<1841>]TJ ET Q
问题:有没有办法建议xelatex
不要使用颜色设置命令?
更详细地说:使用类似以下的输入文件
\documentclass[crop]{standalone}
\usepackage{fontspec}
\setmainfont{DejaVu Sans} % https://dejavu-fonts.github.io/
\begin{document}
⇢
\end{document}
然后解压缩pdftk file.pdf output uncompress-file.pdf uncompress
(每个)页面的内容看起来如上所示。
为了测试颜色中性,可以包含生成的PDF
文件,如下所示:
\documentclass{article}
\usepackage{graphicx,xcolor}
\begin{document}
\color{red}\includegraphics[height=1in]{emoji-from-list.pdf}
\end{document}
(包含颜色中性的PDF
文件,内容应该是红色)。
答案1
您可以尝试使用以下方法进行编译
xelatex -output-driver="xdvipdfmx -c" file
为了
\ExplSyntaxOn
\sys_ensure_backend:
\pdf_uncompress:
\ExplSyntaxOff
\documentclass{article}
\begin{document}
abc
\end{document}
它改变了流
stream
q 1 0 0 1 72 769.89 cm 0 G 0 g BT /F1 9.9626 Tf 76.712 -62.765 Td[<001c0023>-28<002b>]TJ 154.421 -567.87 Td[<0052>]TJ ET Q
endstream
到
stream
q 1 0 0 1 72 769.89 cm BT /F1 9.9626 Tf 76.712 -62.765 Td[<001c0023>-28<002b>]TJ 154.421 -567.87 Td[<0052>]TJ ET Q
endstream
或者使用 lualatex。