索引和 fancyhydr

索引和 fancyhydr

我需要不同的(强制的)页面样式,因此我使用了 fancyhydr。但我无法正确地创建索引:它应该从某个页面样式(例如 indextitle)开始,然后使用另一种样式(例如 indexstyle)。我不知道如何解决这个问题:如果我将样式放在命令 \printindex 之前,它会影响索引之前的最后一页,这是我不希望的。我尝试使用 afterpage 包,它对 inextitle 页面运行良好,但无法解决后续页面的问题。我还没有找到直接在 imakeidx 中设置样式的方法。

这是 MWE

 \documentclass[a4paper,11pt,twoside,openright]{book}
 \usepackage[body={110mm, 185mm}, headheight=55pt]{geometry}  
 \usepackage{imakeidx}  
  \usepackage{fancyhdr}
  \usepackage{afterpage}
\indexsetup{level=\chapter} %
\makeindex
 \usepackage[rule=0.6pt, columnsep=20pt, justific=raggedright,     font=small]{idxlayout}

\fancypagestyle{indextitle}{%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead{}
\fancyfoot{}
} 
\fancypagestyle{index}{%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead{}
\fancyhead[CE]{\textit{Index}}
\fancyhead[CO]{\textit{Index}}
\fancyfoot[C]{\thepage}
} 

\fancypagestyle{paper}{%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead{}
\fancyhead[CE]{Name}
\fancyhead[CO]{Title of the paper}
\fancyfoot[C]{\thepage}
} 


\begin{document}
\pagestyle{paper}
A text with no sense\index{sense}

Just to make an index\index{index}

\afterpage{\thispagestyle{indextitle}}
\pagestyle{index}

\printindex

\end{document}

人们看到主页的标题是错误的。

带有错误页眉的文本页面 我尝试了其他几种方法(先清除页面,然后索引在两页后开始)。我还想改变标题的显示方式,但这可能是另一个问题。非常感谢。

答案1

罪魁祸首是idxlayout索引中第一页的页面样式发生了奇怪的变化。

\thispagestyle{indextitle}您可以在开始排版索引之前发出来解决这个问题。

\documentclass[a4paper,11pt,twoside,openright]{book}
\usepackage[body={110mm, 185mm}, headheight=55pt]{geometry}  
\usepackage{imakeidx}  
\usepackage{fancyhdr}

\makeindex[columnsep=20pt,columnseprule]

\indexsetup{
  %level=\chapter,% <-- already default
  othercode={%
    \thispagestyle{indextitle}%
    \setlength{\columnseprule}{0.6pt}
    \small\raggedright
  }
}

\fancypagestyle{indextitle}{%
  \renewcommand{\headrulewidth}{0pt}%
  \renewcommand{\footrulewidth}{0pt}%
  \fancyhf{}%
}
\fancypagestyle{index}{%
  \renewcommand{\headrulewidth}{0pt}%
  \renewcommand{\footrulewidth}{0pt}%
  \fancyhf{}%
  \fancyhead[C]{\textit{Index}}%
  \fancyfoot[C]{\thepage}%
} 

\fancypagestyle{paper}{%
  \renewcommand{\headrulewidth}{0pt}%
  \renewcommand{\footrulewidth}{0pt}%
  \fancyhf{}%
  \fancyhead[CE]{Name}%
  \fancyhead[CO]{Title of the paper}%
  \fancyfoot[C]{\thepage}%
} 


\pagestyle{paper}

\begin{document}

A text with no sense\index{sense}

Just to make an index\index{index}

\count255=0
\loop\ifnum\count255<200 \advance\count255 1
\expandafter\index\expandafter{\romannumeral\count255 }
\repeat

\cleardoublepage
\pagestyle{index}
\printindex

\end{document}

在此处输入图片描述

相关内容