答案1
使用 pdftex 时,您使用的是 Type1 Computer Modern,而使用 XeLaTeX 时,您使用的是 OpenType Latin Modern。后者生成的轮廓确实看起来相当细(我认为是因为 dvipdfmx 不理解 dvips 想要的文字后记),但我认为该软件包没有任何记录的选项来配置它。
但是,如果切换到复制模式,您可以拥有更多的控制权(尽管通常首选轮廓模式)
我明白了
从
\documentclass[]{book}
\RequirePackage[cmyk]{xcolor}%
\RequirePackage[copies]{contour}%
\begin{document}
\contourlength{1pt}
\newcommand*{\outline}[1]{\color{white}\contour{black}{\Huge#1}}%
\outline{5}
\end{document}
答案2
您可以使用bidicontour
xelatex 包来获取大纲模式。bidi
在定义 RTL 输出的一些内部代码的包之前加载它(这里实际上没有使用,所以什么也不做)。
使用命令\bidicontour
。
平均能量损失
\documentclass{book}
\usepackage[cmyk]{xcolor}%
\usepackage[outline]{bidicontour}%
\usepackage{bidi}%
\begin{document}
\newcommand*{\outline}[1]{\color{white}\bidicontour{black}{\Huge#1}}%
\outline{567abc}
\end{document}
来自文档:
“bidicontour 包是轮廓包的重新实现,添加了 bidi 支持;当您使用该包的轮廓选项时,它还添加了对 xdvipdfmx 驱动程序的支持。”
“在 bidicontour 包中,轮廓包的所有命令都以 bidi 为前缀;例如,使用 \contour 命令;则需要使用 \bidicontour 命令。”
答案3
contour 缺少 xetex 的驱动程序,但基本上你只需要 pdftex 版本但具有正确的特殊功能:
\RequirePackage[cmyk]{xcolor}%
\RequirePackage[outline]{contour}%
\makeatletter
\renewcommand*\@contour@outline[2]{%
\begingroup
\setlength\con@length{2\con@length}%
\setlength\con@length{0.99626400996\con@length}%
\color{#1}%
\con@coloroff
\special{pdf:literal %
q
1 j
1 J
1 Tr
\strip@pt\con@length\space w
}%
\rlap{#2}%
\special{pdf:literal %
Q
}%
\endgroup
\mbox{#2}%
}
\makeatother
\begin{document}
\makeatletter\show\@contour@outline
\newcommand*{\outline}[1]{\color{white}\contour{black}{\Huge#1}}%
\outline{5}
\end{document}