更改单页页码的颜色

更改单页页码的颜色

我将文档中的一页设为黑色 ( \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}%

...

相关内容