我正在使用 JHEP 提供的模板输入文档
https://jhep.sissa.it/jhep/help/JHEP_TeXclass.jsp
我想在 中包含一个索引imakeidx
。一切似乎都运行良好,只是页码在索引处重置。我已将代码精简为以下内容:
\documentclass[a4paper,11pt]{article}
\usepackage{jheppub}
\usepackage{imakeidx}
\makeindex
\title{\boldmath some title}
\author{some author}
\begin{document}
\maketitle
\flushbottom
\section{title}\index{title}
\printindex
\end{document}
问题仍然存在。我正在寻找解决方案/解决方法。
答案1
我的建议是将附录第一页的页面样式设置为empty
。 日记类做了一些非常有趣的事情。
\documentclass[a4paper,11pt]{article}
\usepackage{jheppub}
\usepackage{blindtext}
\usepackage{imakeidx}
\indexsetup{firstpagestyle=empty}
\makeindex
\title{Red bricks on a yellow bench}
\author{Carl Capybara}
\begin{document}
\maketitle
\section{Wombat}\index{Wombat}
\blindtext[10]
\printindex
\blindtext[10]
\end{document}
索引plain
用于第一页,日记类会进行一些定义,每次使用页面样式时都会重新开始页码编号。在我看来,这是一个严重的设计错误。
答案2
我认为没有理由让plain
页面样式等于myplain
(这会重置页码)。
\documentclass[a4paper,11pt]{article}
\usepackage{imakeidx}
\usepackage{jheppub}
\usepackage{lipsum} % just for the example
\makeatletter
\renewcommand\ps@plain{%
%\pagenumbering{arabic}% no reset!
\renewcommand\@oddfoot{\hfill-- \thepage\ --\hfill}%
\renewcommand\@oddhead{}%
}
\makeatother
\makeindex
\title{some title}
\author{some author}
\begin{document}
\maketitle
\section{title}\index{title}
\lipsum
\printindex
\end{document}
请注意,imakeidx
应该在之前加载jheppub
,否则索引条目将不会建立链接。
或者,
\documentclass[a4paper,11pt]{article}
\usepackage{imakeidx}
\usepackage{jheppub}
\usepackage{lipsum} % just for the example
\makeatletter
\renewcommand\ps@myplainnoreset{%
%\pagenumbering{arabic}% no reset!
\renewcommand\@oddfoot{\hfill-- \thepage\ --\hfill}%
\renewcommand\@oddhead{}%
}
\makeatother
\makeindex
\indexsetup{firstpagestyle=myplainnoreset}
\title{some title}
\author{some author}
\begin{document}
\maketitle
\section{title}\index{title}
\lipsum
\printindex
\end{document}