我正在写论文,我想在每页的右上角显示页码。并且我不想在每章的第一页显示任何页码。但是,我想在特殊章节(例如致谢、目录、LoT、LoF 等)的第一页显示页码...
我正在使用以下代码(混合并匹配了多篇帖子),它确实在右上角给出了页码,除了每章的第一页(到目前为止一切顺利)。但除了特殊章节的第一页...
我能否以某种方式定义一个环境,让某些章节在第一页显示页码(例如 ackn、ToC 等),然后为其余章节定义一个不同的环境?
\RequirePackage{fancyhdr}
\fancypagestyle{phdthesis}{%
\fancyhf{}
\fancyhead[R]{\thepage}
}
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{empty}%
\global
\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
答案1
定义一个新的布尔开关(例如\ifspecialchapter
),将此开关的测试添加到您对的重新定义中\chapter
,并相应地设置章节首页的页面样式。在文档正文中,根据需要使用\specialchaptertrue
和。\specialchapterfalse
\documentclass{book}
\usepackage{fancyhdr}
\fancypagestyle{phdthesis}{%
\fancyhf{}
\fancyhead[R]{\thepage}
}
\pagestyle{phdthesis}
\newif\ifspecialchapter
\specialchapterfalse
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\ifspecialchapter
\thispagestyle{phdthesis}%
\else
\thispagestyle{empty}%
\fi
\global
\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
\usepackage{lipsum}
\begin{document}
\specialchaptertrue
\tableofcontents
\specialchapterfalse
\chapter{foo}
\lipsum[1-12]
\end{document}