如何对文档输出中的所有内容应用轮廓?

如何对文档输出中的所有内容应用轮廓?
\documentclass[12pt]{book}
\usepackage[letter, total={5in, 10in}]{geometry}

\usepackage{amsfonts, amssymb, amsmath, amsthm}


\usepackage[T1]{fontenc}
\usepackage[outline]{contour}
\usepackage{xcolor}

\begin{document}

\renewcommand{\arraystretch}{1.5}
\contourlength{0.3pt}
\contournumber{15}%


\chapter{Chapter One}
Some plain text. Some variables $a,b,c,d$, some ideals $\mathfrak{a}, \mathfrak{m}$ and some formula $$\int_0^{\frac{pi}{2}} \ln(\sin(x))=\frac{pi}{2}\ln(\frac{1}{2})$$ The contour effect should be applied for all of them.
\end{document}

我想找到一种方法来将 \contour{black}{应用于文档中的所有内容}。如果更好的话,有没有办法只应用于纯文本?然后只应用于数学模式?然后我可以在两者之间切换,看看哪个渲染效果更好。谢谢。

答案1

与许多其他带参数的命令(例如\emph{})一样,\contour不能包含任何段落结尾(即空白行或\par命令和其他垂直跳过)。这会破坏任何比单个段落更复杂的文本。

例如,您不能使用在\section内部使用这些命令的轮廓内的命令。

同样,该命令接受内联数学模式(例如\(1+1\)),但不接受显示命令数学(例如\[1+1\])。(注意:of $$不鼓励将其用于显示模式)。

但是,似乎可以欺骗命令接受用显示数学将文本括在像minipage,\parbox或 `\vbox.

即使在这个框里面\par根本不能使用,但是允许其他命令,比如\vskip,这样你就可以在框里面制作假的段落跳过。

例子:

姆韦

\documentclass[12pt]{book}
\usepackage{amssymb, amsmath,lipsum}
\usepackage[outline]{contour}
\newlength\myparskip
\setlength\myparskip{1em plus .1em minus .2em}
\setlength\abovedisplayskip{\myparskip} 
\setlength\belowdisplayskip{\myparskip}
\setlength\abovedisplayshortskip{\myparskip}
\setlength\belowdisplayshortskip{\myparskip}
\def\mypar{\vskip\myparskip}

\begin{document}

\contour{cyan}{\noindent\vbox{\noindent%
Some plain text. Some variables $a,b,c,d$, some ideals $\mathfrak{a}, \mathfrak{m}$ and some formula $$\int_0^{\frac{pi}{2}} \ln(\sin(x))=\frac{pi}{2}\ln(\frac{1}{2})$$ The contour effect should be applied for all of them. 
\mypar
Anoter paragraph \lipsum[1][1-3] 
\mypar  
One more. \lipsum[2][1-3]}}
\end{document}

因此,这种方式\contour可以包含多个段落,甚至显示数学,但只能在单个页面中显示。我必须说,我认为这种方法不是一个好主意。

答案2

PDF 特效可以直接应用于每一页。

例如(旧式代码;当前版本的钩子可能更高效):

pdf 特价商品

您可以调整笔触的宽度(此处,0.2 w)。

特写:

细节

平均能量损失

\documentclass{article}
\usepackage{xcolor}
\usepackage{amssymb, amsmath,lipsum}
\AtBeginDocument{\special{pdf:literal 1 j 1 J 0.3 w 2 Tr 0 0.8 0.8 RG}}
\usepackage{atbegshi}
\AtBeginShipout{\special{pdf:literal 1 j 1 J 0.3 w 2 Tr 0 0.8 0.8 RG}}
%===============================
\begin{document}

At the Cat and Dog, there was ...

Some plain text. Some variables $a,b,c,d$, some ideals $\mathfrak{a}, \mathfrak{m}$ and some formula: 


\[
\int_0^{\frac{pi}{2}} \ln(\sin(x))=\frac{pi}{2}\ln(\frac{1}{2})
\]

 The contour effect should be applied for all of them. 

\par Another paragraph. \lipsum[1-3] 

\par One more. \lipsum[2-5]


\end{document}

或者仅将文字应用于选定的文本:

  \special{pdf:literal q}%
  \special{pdf:literal 1 j 1 J 0.2 w 2 Tr 0.8 0 0.8 RG}
<< your text >>
\special{pdf:literal Q}

相关内容