前置部分
主体部分
我尝试用 fancyhdr 宏包实现,但是 fancyhdr 章所在页样式默认为 plain 导致我无论怎么重新定义都无法同时满足上述两点。
以下为我的代码:
\documentclass{ctexbook}
\usepackage{fancyhdr}
\usepackage{zhlipsum}
\fancypagestyle{plain}{
\renewcommand{\headrulewidth}{0.6pt}
\fancyhf{}
\chead{页眉}
\cfoot{\thepage}
}
\fancypagestyle{onlyfoot}{
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\cfoot{\thepage}
}
\makeatletter
\renewcommand\frontmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmatterfalse
\pagenumbering{Roman}\pagestyle{onlyfoot}
}
% 前置部分页码用罗马数字编号,仅页脚,无页眉。
\renewcommand\mainmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmattertrue
\pagenumbering{arabic}\pagestyle{plain}
}
% 主体部分页码用阿拉伯数字编号,有页脚,有页眉。
\makeatother
\begin{document}
\frontmatter
\chapter{前置部分}
\zhlipsum[1-6]
\mainmatter
\chapter{主体部分}
\zhlipsum[1-6]
\end{document}
用 \ctexset
提供的接口
\documentclass{ctexbook}
\usepackage{fancyhdr}
\usepackage{zhlipsum}
\fancypagestyle{plain}{
\renewcommand{\headrulewidth}{0.6pt}
\fancyhf{}
\chead{页眉}
\cfoot{\thepage}
}
\fancypagestyle{onlyfoot}{
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\cfoot{\thepage}
}
\makeatletter
\renewcommand\frontmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmatterfalse
\pagenumbering{Roman}\pagestyle{onlyfoot}
\ctexset{chapter/pagestyle=onlyfoot}
}
% 前置部分页码用罗马数字编号,仅页脚,无页眉。
\renewcommand\mainmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmattertrue
\pagenumbering{arabic}\pagestyle{plain}
\ctexset{chapter/pagestyle=plain}
}
% 主体部分页码用阿拉伯数字编号,有页脚,有页眉。
\makeatother
\begin{document}
\frontmatter
\chapter{前置部分}
\zhlipsum[1-6]
\mainmatter
\chapter{主体部分}
\zhlipsum[1-6]
\end{document}
因为我前面新定义了一个样式 onlyfoot,所以上面答案有些乱,重新整理一下。
\documentclass{ctexbook}
\usepackage{fancyhdr}
\usepackage{zhlipsum}
\fancyhf{}
\chead{页眉}
\cfoot{\thepage}
\makeatletter
\renewcommand\frontmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmatterfalse
\pagenumbering{Roman}\pagestyle{plain}
}
% 前置部分页码用罗马数字编号,仅页脚,无页眉。
\renewcommand\mainmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmattertrue
\pagenumbering{arabic}\pagestyle{fancy}
\ctexset{chapter/pagestyle=fancy}
}
% 主体部分页码用阿拉伯数字编号,有页脚,有页眉。
\makeatother
\begin{document}
\frontmatter
\chapter{前置部分}
\zhlipsum[1-6]
\mainmatter
\chapter{主体部分}
\zhlipsum[1-6]
\end{document}