使用 imakeidx 和 JHEP 模板重置索引处的页码

使用 imakeidx 和 JHEP 模板重置索引处的页码

我正在使用 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}

相关内容