我需要不同的(强制的)页面样式,因此我使用了 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}