![如何对文档输出中的所有内容应用轮廓?](https://linux22.com/image/448935/%E5%A6%82%E4%BD%95%E5%AF%B9%E6%96%87%E6%A1%A3%E8%BE%93%E5%87%BA%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E5%BA%94%E7%94%A8%E8%BD%AE%E5%BB%93%EF%BC%9F.png)
\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 特效可以直接应用于每一页。
例如(旧式代码;当前版本的钩子可能更高效):
您可以调整笔触的宽度(此处,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}