我将文档中的一页设为黑色 ( \pagecolor{black}
),但需要底部的页码为白色文本。最简单/最好的方法是什么,最好是在不导入任何包或复杂的自定义命令的情况下实现此目的?
答案1
如果您没有引用任何页码并且有一个基本文档,则可以在其中放置一个条件\thepage
:
\renewcommand{\thepage}{%
\ifnum\value{page}=3
\textcolor{white}{3}%
\else
\textcolor{black}{\arabic{page}}%
\fi}
这是一个完整且最小的例子:
\documentclass{article}
\usepackage{lipsum}
\usepackage{xcolor,afterpage}
\newcommand{\thispagecolor}[1]{\pagecolor{#1}\afterpage{\pagecolor{white}}}
%\pagenumbering{arabic}
% Set page 3 with a white page number
\renewcommand{\thepage}{%
\ifnum\value{page}=3
\textcolor{white}{3}%
\else
\textcolor{black}{\arabic{page}}%
\fi}
\begin{document}
\lipsum[1-15]% This runs on to page 3
\thispagecolor{black}% Turn this page (page 3) black
\lipsum[16-30]% This runs on to page 6
\end{document}
如果您想引用该页面,最好将条件添加到您可能正在运行的任何页面样式中(plain
默认情况下);这里最简单的方法是使用fancyhdr
:
\usepackage{fancyhdr}
% Redefine the plain page style
\fancypagestyle{plain}{%
\fancyhf{}% Clear header/footer
\renewcommand{\headrulewidth}{0pt}% Remove header rule
\renewcommand{\footrulewidth}{0pt}% Remove footer rule
\fancyfoot[C]{% Center footer
\ifnum\value{page}=3
\textcolor{white}{3}%
\else
\textcolor{black}{\thepage}%
\fi}
}
\pagestyle{plain}% Initiate above changes
更好的方法是为不合格的页面指定您自己的页面样式:
\usepackage{fancyhdr}
% Redefine the plain page style
\fancypagestyle{whitepagenum}{%
\fancyhf{}% Clear header/footer
\renewcommand{\headrulewidth}{0pt}% Remove header rule
\renewcommand{\footrulewidth}{0pt}% Remove footer rule
\fancyfoot[C]{\textcolor{white}{\thepage}}% Center footer
}
...
\thispagecolor{black}%
\thispagestyle{whitepagenum}%
...