使用 xwatermark、TikZ 和 \newsavebox 与 [T1]{fontenc} 和 lmodern 结合的低质量字体

使用 xwatermark、TikZ 和 \newsavebox 与 [T1]{fontenc} 和 lmodern 结合的低质量字体

不久前在链接中透明前景水印,我从 Gonzalo Medina 的回答中了解到如何使用包装制作透明制水机xwatermark。这真是太棒了。

另一方面,我了解了如何使用\usepackage[T1]{fontenc}重音字符来启用一些功能,这对于我这个葡萄牙语 LaTeX 用户来说确实非常有用。

一开始我以为 [T1] 字体没用,只会让字体看起来很丑(像素大),但后来我发现了其他的用法为什么我应该使用 \usepackage[T1]{fontenc}?。我终于可以从 PDF 中复制和粘贴字符了,这确实很有用。解决“丑陋”的方法lmodern来自加载 lmodern 包还有用吗?

这一点我对这些功能非常满意,但从来没有一起使用过它们。直到上周,当我将使用 TikZ 制作的透明和xwatermark结合使用时,我才意识到“丑陋”又回来了。[T1]{fontenc}lmodern

乍一看,我以为这可能是软件包xwatermark或 TikZ 的问题。但事实似乎并非如此。下面 MWE 中示例 2 的tikzpicture环境和命令让我得出了这个假设。示例 1 中的显示了“丑陋”问题。也许这与有关,但我没有找到任何可以帮助我的东西。\newwatermark\newwatermark\newsavebox

我想知道为什么会发生这种情况,以及除了包装中的功能外,是否有一些解决方案可以解决好看的水印问题fontenc

下面给出了采用这两种方法的 MWE。

\documentclass{article}

% -------------------------
%\usepackage[latin1]{inputenc} % Problem is independent from latin1 or utf8
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % Enables Copy and Paste of special characters
\usepackage{lmodern} % Makes [T1] letters pretty again
% -------------------------

% ========== 
\usepackage{lipsum}
\usepackage{tikz} % No PSTRICKS solutions please
\usepackage[printwatermark]{xwatermark}
% ========== 

% ========== Example 1 
% Source: https://tex.stackexchange.com/questions/132582/transparent-foreground-watermark
% It has opacity. The text behind is readable but loses quality when used with [T1]]{fontenc} and {lmodern}
% ----------
\newsavebox\myboxb\savebox\myboxb{\tikz[color=blue!80,opacity=0.4]\node{\huge{Example 1}};}
\newwatermark*[allpages, angle=45, scale=7, xpos=-20, ypos=+060]{\usebox\myboxb}

% ========== Example 2
% It has no opacity. The text behind is not always readable and it never loses quality regardless of [T1]]{fontenc} and {lmodern}
% ----------
\newwatermark*[allpages, color=blue!80, angle=45, scale=7, xpos=-10, ypos=-30]{\huge{Example 2}}
% ========== 

\begin{document}
\section{Título -- Title}

Characters to test copy and paste: áéíóú, ãõ, âêô, à, äöü.

\lipsum[1]

\begin{tikzpicture}
    \draw[dashed] (0,0) node[below]{$x$ -- There is no problem between TikZ and [T1]fontenc} -- (0,1)node[above]{\huge{Example Ti\textit{k}Z} works fine};
    \node at (3,0.5) {\Huge{Direct Node}};
\end{tikzpicture}

\lipsum[2]

\end{document}

第一个图显示整个 PDF,第二个图显示字母的放大。

在此处输入图片描述

在此处输入图片描述

答案1

您正在保存包含序言文本的框。此时字体尚未设置。

最好将其移到后面\begin{document}

\newsavebox\myboxb\savebox\myboxb{\tikz[color=blue!80,opacity=0.4]\node{\huge{Example 1}};}

您还应该使用 tex 系统的包管理器安装该cm-super包。然后,您也将获得不带 lmodern 的 type1 字体。

相关内容