在 fancyhdr 中更改 leftmark

在 fancyhdr 中更改 leftmark

有人能告诉我,在下面粘贴的最小示例中,如何实现标题中附录后面的点消失吗?我理解它在那里是因为我只是让数字appendix不可见。

\documentclass[10pt, a4paper]{report}

\usepackage[T1]{fontenc}
\usepackage[titletoc]{appendix}
\usepackage{fancyhdr}
\usepackage{blindtext}

\pagestyle{fancy} 

\begin{document}

\tableofcontents

\begin{appendices}
   {\def\thechapter{}\chapter{This and that}}
   \blindtext
   \newpage
   \blindtext
\end{appendices}

\end{document}

ldpw 编辑:如果不删除点而是将其直接放在附录后面(即附录和点之间没有空格),也许会更好:

附录。这个和那个 --> 附录。这个和那个

答案1

还改变的定义\chaptermark

\begin{appendices}
\makeatletter
\def\chaptermark#1{\markboth{\MakeUppercase{\@chapapp. \  #1}}{}}
\def\thechapter{}
\makeatother
\chapter{This and that}
\blindtext
\newpage
\blindtext
\end{appendices}

航向由 控制\chaptermark,负责发出适当的\markboth或命令。给出的\markright通常定义是\chaptermarkfancyhdr

\def\chaptermark#1{%
  \markboth{%
    \MakeUppercase{%
      \ifnum\c@secnumdepth>\m@ne
        \@chapapp\ \thechapter. \ %
      \fi
      ##1%
    }}{}%
}

其中\@chapapp变成\chaptername\appendixname,具体取决于发行地。因此,您会看到句号前的空格的来源,该空格用于将名称(章节或附录)与编号分隔开。

你的情况似乎很常见:你只有一个附录,所以你不希望它显示为“附录 A”。局部重新定义\thechapter会删除“A”,但不会删除标题中的空格,因此我们也重新定义\chaptermark

没有必要将这些重新定义包含在组内,因为周围appendices环境将在其末尾恢复正常定义(并且它们实际上不再需要,因此即使没有环境,appendices组也是不必要的)。

相关内容