如何设置页眉,其中 `\leftmark` 未由 `\chapter*` 环境设置,并且手动设置被 `\printacronyms` 清除?

如何设置页眉,其中 `\leftmark` 未由 `\chapter*` 环境设置,并且手动设置被 `\printacronyms` 清除?

\leftmark并且\rightmark尚未设置,因此我手动执行以下操作:

\chapter*{Acknowledgements}
\fancyhf[HRE,HLO]{\nouppercase{Acknowledgements}}
\phantomsection
\input{Acknowledgements}

\fancyhf[HRE,HLO]{\nouppercase{Acknowledgements}} % Added just for kicks

然后我可以在下面:

\fancyhf{}
\fancyhf[HLE,HRO]{\thepage}
\fancyhf[HRE,HLO]{\nouppercase{\leftmark}}

\printacronyms

不幸的是,缩略词前面的最后一页缺少章节名称(仅显示页码)。

完整可运行示例:

\documentclass{book}

\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{fncychap}
\usepackage{fancyhdr}
\usepackage{hyperref}

\usepackage[acronym,xindy,toc,nomain]{glossaries}

\setlength{\headheight}{15.2pt}
\pagestyle{fancy}


\makeglossaries
%\setacronymstyle{long-sc-short}

\newacronym{AB}{AB}{Alpha Beta}

\begin{document}

\title{\LaTeX{}}
\author{Author's Name}

\maketitle

\chapter*{Acknowledgements}
\fancyhf[HRE,HLO]{\nouppercase{Acknowledgements}}
\phantomsection
Hello

\newpage
 world!
\fancyhf[HRE,HLO]{\nouppercase{Acknowledgements}}

\newpage

\fancyhf{}
\fancyhf[HLE,HRO]{\thepage}
\fancyhf[HRE,HLO]{\nouppercase{\leftmark}}
\printacronyms


\end{document}

有没有一个非黑客的解决方案,即:\leftmark使用时设置正确的方法\chapter*{}? - 或者只是一种让当前版本正常工作的方法?

答案1

您可以使用\markboth手动设置标记:

\documentclass{book}
\usepackage{blindtext}% only for dummy text

\usepackage{fancyhdr}
\usepackage[acronym,xindy,toc,nomain]{glossaries}
\usepackage{hyperref}

\setlength{\headheight}{15.2pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhf[HLE,HRO]{\thepage}
\fancyhf[HRE,HLO]{\nouppercase{\leftmark}}

\makeglossaries
%\setacronymstyle{long-sc-short}
\newacronym{AB}{AB}{Alpha Beta}

\begin{document}
\title{\LaTeX{}}
\author{Author's Name}
\maketitle

\chapter*{Acknowledgements}
\markboth{\MakeUppercase{Acknowledgements}}{}
\Blindtext
\gls{AB}

\printacronyms
\Blindtext
\end{document}

在此处输入图片描述

相关内容