在这个 MWE 中,如果我用下一个(颜色为{black})替换 fancyfoot 行,页码就会变得更低(甚至被剪掉)。
为什么这两个版本之间存在差异?我希望它们确实会产生同样的东西:在完全相同的位置出现黑色页码。
顺便说一句,我放了一个“\setlength{\footskip}{50pt}”,因为我在第一个版本(无颜色版本)中遇到了警告。也许这与解释有关……?
\documentclass{article}
\usepackage[a4paper,top=2cm, bottom=2.5cm, left=2cm, right=2cm, twoside=true]{geometry}
\usepackage{fancyhdr}
\usepackage{fontspec}
\usepackage{xcolor}
\begin{document}
\fancypagestyle{plain}{%
\fancyhf{}%
}%
\pagestyle{plain}%
\setlength{\footskip}{50pt}
\fancyfoot[RO, LE]{\fontspec{Arial}\fontsize{50pt}{60pt}\selectfont\thepage}%
%\fancyfoot[RO, LE]{\fontspec{Arial}{\color{black}{\fontsize{50pt}{60pt}\selectfont\thepage}}}%
some text
\end{document}
编辑:我在 Ubuntu 22.04 操作系统上使用 lualatex 命令 (lualatex somefilename.tex)(编译日志:“这是 LuaHBTeX,版本 1.14.0 (TeX Live 2022/dev/Debian)”)。结果如下:
答案1
我无法重现这种行为,但是
- 使用
\fontspec
是一种浪费资源; - 页面样式的定义毫无用处且令人困惑;
- 脚踏的设置应通过 进行
geometry
; \color{black}{...}
应该\textcolor{black}{...}
。
\documentclass{article}
\usepackage[
a4paper,
top=2cm,
bottom=2.5cm,
left=2cm,
right=2cm,
twoside=true,
footskip=50pt,%<--- change to suit
]{geometry}
\usepackage{fancyhdr}
\usepackage{fontspec}
\usepackage{xcolor}
\usepackage{lipsum}
\newfontfamily{\arial}{Arial}
\fancypagestyle{plain}{%
\fancyhf{}%
\fancyfoot[RO, LE]{\textcolor{black}{\fontsize{50pt}{60pt}\arial\thepage}}%
\renewcommand{\headrulewidth}{0pt}%
}
\pagestyle{plain}
\begin{document}
\lipsum[1-20]
\end{document}
答案2
恕我直言,间距不同\color
是因为在提供的示例中,\color
宏是在 TeX 处于(内部)垂直模式时处理的。事实上,如果你在 MWE\ifvmode\ifinner\typeout{We are in internal vertical mode}\fi\fi
之前插入\color
,TeX 将打印“我们处于内部垂直模式”(使用 LuaTeX 测试)。
众所周知什么东西在垂直模式下发生可能会影响垂直间距:
因为它们会阻止后续
\addvspace
“看到”事物之外的东西(参见 David Carlisle 的例子这里或者想象一个\addvspace
后面跟着一个什么东西,后面跟着第二个\addvspace
);因为 开头的 whatsit
\vtop
可能会修改\vtop
的参考点(根据 TeX 的规则)。
这两个可能的原因在第 6 页的脚注中给出。grf指南.pdf;可能还有其他。
相反,在xcolor
加载时,\textcolor
用于\leavevmode
在将颜色内容附加到当前列表之前切换到水平模式:
\def\textcolor#1#{\@textcolor{#1}}
\def\@textcolor#1#2#3{\protect\leavevmode{\color#1{#2}#3}}
因此,当\textcolor
使用 (而不是\color
)时,您可以确定它的第二个强制参数将在水平模式下处理,因此不应影响垂直间距。
正如大卫·卡莱尔所写上面的链接:
诀窍是尽可能在水平而非垂直模式下进行颜色变化