\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}