pdfrender 包中有错误吗?

pdfrender 包中有错误吗?

为了理解 pdfrender 中的参数的作用,我制作了一个表格来研究效果。我注意到,当我使用其中一个夹子模式 (4-7) 下第二个表格在 之后完全消失\hline。如果没有 ,\hline表格会正常显示。这是错误还是功能?

\documentclass{article}
\usepackage{pdfrender}
\begin{document}
\kvsetkeys{PDFRENDER}{LineWidth=0.1pt}
\begin{tabular}{ccll}
Mode & LW & Normal & Rendered \\\hline
4 & 0.1 & Text & \textpdfrender {TextRenderingMode=4}{Text} \\
\end{tabular}

\kvsetkeys{PDFRENDER}{LineWidth=0.4pt
\begin{tabular}{ccll}
Mode & LW & Normal & Rendered \\\hline
0 & 0.1 & Text & \textpdfrender {TextRenderingMode=0}{Text} \\
1 & 0.1 & Text & \textpdfrender {TextRenderingMode=1}{Text} \\
\end{tabular}
\end{document}

答案1

这是个错误。这里的代码是错误的,根据 pdf 参考,在切换回模式之前必须关闭 BT 操作符,而且看起来还应该保存和恢复图形状态。

但乍一看我看不出有什么简单的解决办法。你可以在 github 上开一个问题。

手动操作类似这样的方法可以工作。但最好不要在可能包含分页符的文本中使用此模式。我添加红色规则只是为了演示剪辑是否有效。

\documentclass{article}
\usepackage{color,pdfrender}
\begin{document}
\kvsetkeys{PDFRENDER}{LineWidth=0.1pt}
\begin{tabular}{ccll}
Mode & LW & Normal & Rendered \\\hline
4 & 0.1 & Text & \pdfliteral page {q}\textpdfrender {TextRenderingMode=4}{Text\llap{\textcolor{red}{\rule{3cm}{0.4cm}}}\pdfliteral page {Q}} \\
\end{tabular}

\kvsetkeys{PDFRENDER}{LineWidth=0.4pt}
\begin{tabular}{ccll}
Mode & LW & Normal & Rendered \\\hline
0 & 0.1 & Text & \textpdfrender {TextRenderingMode=0}{Text} \\
1 & 0.1 & Text & \textpdfrender {TextRenderingMode=1}{Text} \\
\end{tabular}
\end{document}

在此处输入图片描述

相关内容