我希望页码为橙色,大小为 footnotesize。为什么下面的操作在标题页上没有产生这样的结果?我愿意考虑两种解决方案:要么隐藏标题页上的页码,要么从 A 部分开始使用格式正确的页码。
\documentclass{article}
\usepackage{fancyhdr,xcolor}
\usepackage[titles]{tocloft}
\makeatletter
\fancypagestyle{mypagestyle}{%
\fancyhf{}%
\fancyfoot[C]{\footnotesize \textcolor{orange}{\thepage}}% P
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
\makeatother
\pagestyle{mypagestyle}
\title{Title goes here}
\author{Author goes here}
\begin{document}
\maketitle
\newpage
\tableofcontents
\newpage
\section{A} Section A text.
\newpage
\section{B} Section B text.
\newpage
\section{C} Section C text.
\end{document}
答案1
\maketitle
的article.cls
用途\thispagestyle{plain}
。如果不需要,则plain
必须重新定义,\maketitle
重新定义或可以使用\xpatchcmd
替换此处plain
的mypagestyle
。
\xpatchcmd{\maketitle}{\thispagestyle{plain}}{\thispagestyle{mypagestyle}}{}{}
由于 OPmypagestyle
一开始就将页面样式全局设置为,
\xpatchcmd{\maketitle}{\thispagestyle{plain}}{}{}{}
也可以,即用空值替换它。不过,第一种方法更“安全”。
\documentclass{article}
\usepackage{fancyhdr,xcolor}
\usepackage[titles]{tocloft}
\usepackage{xpatch}
\makeatletter
\fancypagestyle{mypagestyle}{%
\fancyhf{}%
\fancyfoot[C]{\huge \textcolor{orange}{\thepage}}% P
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
\makeatother
% Patch the plain out of \maketitle
\xpatchcmd{\maketitle}{\thispagestyle{plain}}{\thispagestyle{mypagestyle}}{}{}
\pagestyle{mypagestyle}
\title{Title goes here}
\author{Author goes here}
\begin{document}
\maketitle
\newpage
\tableofcontents
\newpage
\section{A} Section A text.
\newpage
\section{B} Section B text.
\newpage
\section{C} Section C text.
\end{document}