章节和特殊章节的页码

章节和特殊章节的页码

我正在写论文,我想在每页的右上角显示页码。并且我不想在每章的第一页显示任何页码。但是,我想在特殊章节(例如致谢、目录、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}

相关内容