draftwatermark 从下一页顶部拾取斜体并生成 Postscript,并且 fix-cm 中没有可用的大号小写斜体字体

draftwatermark 从下一页顶部拾取斜体并生成 Postscript,并且 fix-cm 中没有可用的大号小写斜体字体

喂养latex

\RequirePackage{fix-cm}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage[text={\textsc{Confidential \ Draft}}, angle=53.2, fontsize={92.4pt}]{draftwatermark}% in a nonminimal book, we use color={[gray]{0.95}} and slightly different angle and fontsize.
\newtheorem*{thm}{Theorem}
\begin{document}
\vspace*{122ex}% with \RequirePackage{fix-cm}
%\vspace*{121.74ex}% without \RequirePackage{fix-cm}
\begin{thm}
  This text in italics makes the first watermark italics or too small.
\end{thm}

The second watermark is how it's intended to be when \texttt{fix-cm} and \texttt{pdflatex} are used.
\end{document}

打印(与其他物品)

LaTeX Font Warning: Font shape `T1/cmr/m/scit' undefined
(Font)              using `T1/cmr/m/scsl' instead on input line 12.


LaTeX Font Warning: Font shape `T1/cmr/m/scsl' in size <92.4> not available
(Font)              size <35.83> substituted on input line 12.

[1] [2] (./mwe.aux)

LaTeX Font Warning: Size substitutions with differences
(Font)              up to 56.56999pt have occurred.

到控制台。

查看xdvi收益结果

xdvi-xaw: Warning: Raw Postscript commands on page 2 may be rendered incorrectly.

在控制台上,而 draftwatermark 的文档明确指出了相反的情况,“没有使用 Postscript 特殊功能或其他依赖于驱动程序的技巧 [...]”。我们观察到(切到内容)

使用 xdvi 的第一页

在第一页

第二页带有 xdvi

在第二页。

如您所见,两个水印都是笔直绘制的,即没有以任何非零角度倾斜。此外,第一个水印是斜体,而它应该是直立的。最后,第一个水印比其字体大小所暗示的要小。

这一切都很糟糕,但也不是很糟糕,因为我们主要使用 DVI 输出进行调试而不是用于最终输出。

当使用 evince 编译相同的代码pdflatex并查看结果时,PostScript 问题消失,其他两个问题仍然存在。编译打印

LaTeX Font Warning: Font shape `T1/cmr/m/scit' undefined
(Font)              using `T1/cmr/m/scsl' instead on input line 12.


LaTeX Font Warning: Font shape `T1/cmr/m/scsl' in size <92.4> not available
(Font)              size <35.83> substituted on input line 12.

[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf/fonts/en
c/dvips/cm-super/cm-super-t1.enc}] [2] (./mwe.aux)

LaTeX Font Warning: Size substitutions with differences
(Font)              up to 56.56999pt have occurred.

到控制台。生成的 PDF 文件第一页的内容是

带有 evince 的第一页

而第二页终于如预期的那样,

使用 evince 查看的第二页

要了解 fix-cm 如何参与,请删除\RequirePackage{fix-cm}并引入 121.74ex 而不是 122ex 的 vskip。

为什么会发生这一切,谁是罪魁祸首,该怎么办?如果能修复这三个问题,我将不胜感激。第二个问题对我们来说是最紧迫的:draftwatermark 不应该从下一页第一行的部分(不是全部!)文本中选取当前的文本样式(此处为斜体)作为水印。

答案1

这里有多个问题,其中一些肯定与 draftwatermark 无关。

  1. 第一个问题是,虽然 draftwatermark 本身没有使用 Postscript 特殊功能或其他依赖于驱动程序的技巧,但为了生成旋转文本,它使用标准 LaTeX 包 (graphicx) 来实现。不幸的是,xdvi 通常无法处理 graphicx 试图执行的操作。一些已打开的错误报告 (例如,请参阅https://bugzilla.redhat.com/show_bug.cgi?id=53971)。然而,没有人真正感到有处理它们的紧迫性,可能是因为有些 TeX 引擎已经不再使用 dvi 格式。这就是为什么在 xdvi 中看不到旋转文本的原因。不过,如果你使用 dvips,你就会得到它。不过,我建议也使用 pdflatex 或 lualatex 来消除 postscript。
  2. 第二个问题是,draftwatermark 会选择在调用 LaTeX shipout/background 钩子将背景添加到页面时选择的任何字体。由于这可能不是所需的,因此最好在水印文本中包含完整的字体选择命令(例如 \normalfont)。

相关内容