重新定义普通风格 fancyhdr 的问题

重新定义普通风格 fancyhdr 的问题

我正在尝试按照以下步骤生成页眉/页脚布局:

前言 - 页脚处有罗马数字页码,右对齐,无页眉

主要内容 - 页脚中的阿拉伯文页码、页眉中的章节名称和编号,全部右对齐

后记 - 页脚中的阿拉伯文页码,无页眉,右对齐

使用下面的代码,我几乎已经完成了 - 除了页码没有右对齐\pagestyle{plain}

\documentclass[11pt,a4paper]{report}
\usepackage{fancyhdr}
\usepackage{lipsum}

%Fancyhdr settings
\lhead{}
\chead{}
\lfoot{}
\cfoot{}
\rfoot{\thepage}
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\fancyhead[R]{\chaptername\ \thechapter\ --\ \leftmark}
\fancyhead[L]{}
\renewcommand{\headrulewidth}{0pt}  

\begin{document}

\chapter*{Abstract}
\pagestyle{plain}
\pagenumbering{roman}

\lipsum{}

\chapter{Introduction}
\pagestyle{fancy}
\pagenumbering{arabic}

\lipsum{}

\chapter*{Appendix}
\pagestyle{plain}

\lipsum{}

\end{document}

当我plain使用以下方法重新定义页面样式页脚为右对齐时

\fancypagestyle{plain}{%
  \fancyhf{}% clear all header and footer fields
  \rfoot{\thepage}%
}

页面样式中的页眉fancy不再显示。

我尝试了一些解决方法,但都无济于事。当在页面样式重新定义(即)中使用或在之后插入时,该行\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}似乎也存在一些处理问题\fancypagestyle{plain}{%\begin{document}

任何帮助将非常感激

答案1

您可以使用 pagestylefancyplain和命令\fancyplain{<plain content>}{<fancy content>}

\documentclass[11pt,a4paper]{report}
\setlength{\headheight}{13.6pt}
\usepackage{lipsum}
\usepackage{fancyhdr}

\pagestyle{fancyplain}
\fancyhf{}
\fancyfoot[R]{\thepage}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter\ --\ #1}{}}
\fancyhead[R]{\fancyplain{}{\leftmark}}
\renewcommand{\headrulewidth}{0pt}

\begin{document}
\cleardoublepage
\pagenumbering{roman}
\chapter*{Abstract}
\pagestyle{plain}
\lipsum

\cleardoublepage
\pagenumbering{arabic}
\pagestyle{fancy}
\chapter{Introduction}
\lipsum

\clearpage
\pagestyle{plain}
\chapter*{Appendix}
\lipsum{}
\end{document}

或者可能更好

\documentclass[11pt,a4paper]{report}
\setlength{\headheight}{13.6pt}
\usepackage{lipsum}
\usepackage{fancyhdr}

\pagestyle{fancyplain}
\fancyhf{}
\fancyfoot[R]{\thepage}
\fancyhead[R]{\fancyplain{}{\nouppercase\leftmark}}
\renewcommand{\headrulewidth}{0pt}

\usepackage{xpatch}
\xpatchcmd\chaptermark{. }{\ --}{}{\PatchFailed}

\begin{document}
\cleardoublepage
\pagenumbering{roman}
\chapter*{Abstract}
\pagestyle{plain}
\lipsum

\cleardoublepage
\pagenumbering{arabic}
\pagestyle{fancy}
\chapter{Introduction}
\lipsum

\clearpage
\pagestyle{plain}
\chapter*{Appendix}
\lipsum{}
\end{document}

结果:

在此处输入图片描述

相关内容