更改索引 delim_0 在使用 Texlive 发行版的 Mactex 上不起作用

更改索引 delim_0 在使用 Texlive 发行版的 Mactex 上不起作用

我正在尝试编写一本包含多个索引的书。我正在使用带有 splitindex 的 indextools 包。我需要修改索引分隔符,因此我创建了一个包含以下内容的 .ist 文件:

delim_0 ": \\ "  
delim_1 ": \\ "  
delim_2 ": \\ "  

这也是我的功能示例:

\documentclass[a4paper,11pt,twoside,openright]{scrbook}
\usepackage[makeindex,splitindex]{indextools}
\makeindex[
      name=person, 
      title=INDEX of Persons, 
      program=makeindex,
      options={-s idxconf.ist},
          ]
\makeindex[
      name=word,
      title=Index of Words,
      program=makeindex,
      options={-s idxconf.ist},
          ]
\usepackage{blindtext}

\begin{document}

Einstein\index[person]{Einstein}
\blindtext
\newpage

Heisenberg\index[person]{Heisenberg} % Person index
\blindtext[3]
\index[word]{foo}\index[person]{Bohr}
\index[word]{bar}
\blindtext

\printindex[person] 
\printindex[word] 

\end{document}

我正在将 Mactex 与 Texlive 一起使用,分隔符没有改变。在 Windows PC 上编译的相同代码运行良好。有没有办法让它在 Mac 上运行?

答案1

要完成这个问题:正如 Dan 和 egreg 在评论中指出的那样,您需要确保(1)--shell-escape在运行 LaTeX 时使用该选项,并且(2)-file.ist与 -file 保存在同一个文件夹中.tex

另外两点:

(1) 您需要,--shell-escape因为您正在调用外部程序。一些信息:--shell-escape 起什么作用?

(2):建议将这三行包装idxconf.ist在环境中filecontents,以便.ist下次使用配置另一个文档的索引时文件不会散乱。

\documentclass[a4paper,11pt,twoside,openright]{scrbook}
\usepackage[makeindex,splitindex]{indextools}
\makeindex[
  name=person, 
  title=INDEX of Persons, 
  program=makeindex,
  options={-s idxconf.ist},
      ]
\makeindex[
  name=word,
  title=Index of Words,
  program=makeindex,
  options={-s idxconf.ist},
      ]
\usepackage{blindtext}

\begin{filecontents}{idxconf.ist}
  delim_0 ": \\ "  
  delim_1 ": \\ "  
  delim_2 ": \\ "  
\end{filecontents}

\begin{document}

Einstein\index[person]{Einstein}
\blindtext
\newpage

Heisenberg\index[person]{Heisenberg} % Person index
\blindtext[3]
\index[word]{foo}\index[person]{Bohr}
\index[word]{bar}
\blindtext

\printindex[person] 
\printindex[word] 

\end{document}

相关内容