fancyhdr 中甚至不显示页码

fancyhdr 中甚至不显示页码

问题:

  1. 使用包时甚至无法显示页码fancyhdr
  2. 页码居中,但奇数页应在右,偶数页应在左。

最小工作示例(MWE):

\documentclass{book}
\usepackage[swedish,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{blindtext}

% FRONTMATTER
%
\newcommand{\frontmatterSU}{
    \frontmatter
    \pagestyle{fancy}{
        \fancyhf{}
        \renewcommand{\headrulewidth}{0pt}
        \renewcommand{\footrulewidth}{0pt}
        \fancyfoot[C]{\thepage}
    }
}

% ABSTRACT 1
%
\newenvironment{abstract1} { 
    \let\cleardoublepage\clearpage
    \chapter{Abstract 1}
}

% ABSTRACT 2
%
\newenvironment{abstract2} { 
    \let\cleardoublepage\clearpage
    \chapter{Abstract 2}
}

\begin{document}

\frontmatterSU

\setcounter{page}{12}

% Abstract -----------------------------------------------------

\begin{abstract1} % creates the abstract header in 1
    \blindtext[10]
\end{abstract1}

\begin{abstract2} % creates the abstract header in 2
    \blindtext[10]
\end{abstract2}

\end{document}

输出:

奇数页码以罗马数字居中显示,但偶数页码则为空。

期望输出:

奇数页码使用右罗马数字,偶数页码使用左罗马数字。

更新 1:

页码在奇数页/偶数页的中间和罗马字体上都可见。但不知何故,页头有一条线,我无法使用。我试过\renewcommand{\headrulewidth}{0pt}但似乎不起作用。如何删除水平线?

答案1

如果您希望奇数页上的数字为右,偶数页上的数字为左,请告知fancydr:您要求的是所有页面上的数字均居中:

\fancyfoot[C]{\thepage}

你想要的是

\fancyfoot[RO,LE]{\thepage}

由于您已将 pagestyle 定义为fancy(不是roman),因此您必须使用它:如果您请求 pagestyle,roman您将收到错误,因为它未定义。(请注意,是\frontmatter指令将数字变成罗马数字,而不是fancyhdr指令中的任何内容。)

如果你想要第一的摘要的页面左侧设置了数字,您需要添加\thispagestyle{fancy}以覆盖plain否则将被选中的数字。

您不能使用两个参数来定义新环境。新环境需要三个参数:

\newenvironment{name}{start-code}{end-code}

编辑后添加:您的 headrule 问题是因为您在环境内调用 fancyheader 指令集,并且它没有对命令进行全局更改。将其放在\renewcommands环境之外。

相关内容