操作索引条目的页码

操作索引条目的页码

我正在创建包含一本很长的书的引文列表的文档,每个引文都与页码(来自书本)相关联。我想为包含书本本身页码的文档创建一个索引,而不是我正在创建的文档的页码。以下代码生成一个带有索引的文档,所有条目自然指向页码 1。我希望它们指向第 5、14 和 17 页。

\documentclass[10pt]{article}%

\usepackage{marginnote}
\usepackage[margin=1.5in]{geometry}
\usepackage{changepage}

\usepackage{imakeidx}
\makeindex[columns=2]

\setlength{\marginparsep}{-0.4em}
\setlength{\marginparwidth}{3em}

\setlength{\parindent}{0em}
\setlength{\parskip}{0.5\baselineskip}

\newcommand{\nt}[1]{\reversemarginpar\marginpar{\begin{footnotesize}#1 \end{footnotesize}}}

\begin{document}

\begin{footnotesize}
Truly man is a marvelously vain, diverse, and undulating object.\nt{5}\index{Diversity}

I am almost ready to vow irreconcilable hatred against all democratic
rule.\nt{14}\index{Democracy}

What causes do we not invent for the misfortunes that befall us?\nt{17}\index{Causes}

\end{footnotesize}

\cleardoublepage
\printindex

\end{document}

答案1

您可以定义个人的 MakeIndex 样式;如果名称与主文档的扩展名相同,.mst则会自动使用。

在样式文件中,我们更改delim_0(针对第一级索引项),并将delim_t其添加到每个条目的末尾。

最后,我定义了一个包装器,\index使用给定的书页作为参数。我重复使用\nt,但如果您想要没有相应索引条目的注释,则可以使用其他命令。

\begin{filecontents*}{\jobname.mst}
delim_0 "\\ignore"
delim_t "\\ignore"
\end{filecontents*}

\documentclass[10pt]{article}%

\usepackage{marginnote}
\usepackage[margin=1.5in]{geometry}
\usepackage{changepage}

\usepackage{imakeidx}
\makeindex[columns=2]

\setlength{\marginparsep}{-0.4em}
\setlength{\marginparwidth}{3em}

\setlength{\parindent}{0em}
\setlength{\parskip}{0.5\baselineskip}

\newcommand{\nt}[2]{%
  \reversemarginpar\marginpar{\footnotesize #1}%
  \index{#2@#2\bookpage{#1}}
}
\protected\def\bookpage#1{,~#1}
\protected\def\ignore#1\ignore{}

\begin{document}

Truly man is a marvelously vain, diverse, and undulating object.\nt{5}{Diversity}

I am almost ready to vow irreconcilable hatred against all democratic
rule.\nt{14}{Democracy}

What causes do we not invent for the misfortunes that befall us?\nt{17}{Causes}

\printindex

\end{document}

在此处输入图片描述

.ind文件将

\begin{theindex}

  \item Causes\bookpage {17}\ignore1\ignore

  \indexspace

  \item Democracy\bookpage {14}\ignore1\ignore
  \item Diversity\bookpage {5}\ignore1\ignore

\end{theindex}

所以您可以看到排版是如何工作的:\bookpage扩展到, <number>并且之间的部分\ignore...\ignore被忽略。

避免\begin{footnotesize}

相关内容