更好地处理索引中的人名

更好地处理索引中的人名

我正在写一本提到很多人的书。假设我在一页中提到了 Donald Knuth。我会:

... Donald Knuth\index{Knuth, Donald}

我在很多其他地方都提到过 Donald Knuth。现在看来我需要手动添加\index我提到 Dr. Knuth 的所有地方。有没有办法让我只声明 Knuth 为索引术语并让此操作自动完成?

这与自动生成索引

可惜的是,这个 29 行的程序https://github.com/themoodymann/IndexTex在索引方面过于激进。\index{}当文本发生变化时,它也不会删除已插入的条目。

我想做以下事情:

  1. 定义所有我关心的名称。
  2. 当遇到名称时,让 LaTeX 自动索引名称。
  3. 可以选择在第一次引用时自动将名称变为斜体。
  4. 可以选择在第一次参考时自动添加出生日期和可能的死亡日期。

答案1

为每个感兴趣的名称定义一个宏,例如

\newcommand{\dknuth}{Donald Knuth\index{Knuth, Donald}}
\newcommand{llamport}{Leslie Lamport\index{Lamport, Leslie}}

并在您想要打印姓名的任何地方使用它。

相关内容