Mac OS X (Snow Leopard) 中的“makeindex”

Mac OS X (Snow Leopard) 中的“makeindex”

我在 Mac 上使用 LaTeX,使用 TeXShop。可以从 TeXShop 界面编译索引,除非我对同一篇文章有​​多个索引(例如,人物和概念)。在这种情况下,我过去常常从终端编译它:

makeindex MyIndex

说。但是自从我从 Mac OS 10.5 升级到 10.6 (Snow Leopard) 后,后者就不再起作用了(尽管 TeXShop 内部的正常单索引编译工作正常)。有什么想法吗?

答案1

以下答案是根据评论汇编而成的,以便我们可以将该问题从“未回答”列表中删除。

您所描述的问题典型地表明您的 shell 配置文件存在路径问题。要确定您是否能够makeindex从命令行运行该命令,您可以执行以下操作:

which makeindex

这应该返回:/usr/texbin/makeindex。如果没有,并且不返回任何内容,则表示未找到您的 TeX 二进制文件。(TeXShop 可以找到它们,因为它为所有命令设置了自己的路径。)

要查看你的路径,你可以输入:

echo $PATH

这应该返回包含的内容/usr/texbin;如果没有,您需要在.profile.bashrc文件中修复它。

如果你使用的是 MacTeX 2008,那么你有一个真的旧发行版。我强烈建议您更新至 MacTeX 2011。

正如 egreg 指出的那样,对于多个索引,包imakeidx很有用,因为它可以自动运行makeindex。(他是 的作者imakeidx。)

答案2

添加行

% !TEX TS-program = latexmk

在你的 .tex 文件顶部,并使用 LaTeX 引擎进行编译。(在 TeXShopTypeset

LaTeX选择。

以下是一个示例和 3 页的输出。

% !TEX TS-program = latexmk
\documentclass[12pt]{article}
\usepackage{multind}
\makeindex{indexA}
\makeindex{indexB}


\begin{document}

I use LaTeX on a \index{indexA}{Mac}Mac, using \index{indexB}{TeXShop}TeXShop. It is possible 
to compile an \index{indexA}{index}index from within the \index{indexB}{TeXShop}TeXShop 
interface, except when I have more than one \index{indexA}{index}index (say, people and 
concepts) for the same text. In this case I used to compile it from Terminal:

makeindex MyIndex

say. But since I went from Mac OS 10.5 to 10.6 (Snow Leopard), the latter does not work 
anymore (albeit normal, single-index compilation from within \index{indexB}{TeXShop}TeXShop 
works fine). Any idea?

\printindex{indexA}{Index A}
\printindex{indexB}{Index B}
\end{document}

输出的第 1 页: 在此处输入图片描述

输出的第 2 页: 在此处输入图片描述

输出的第 3 页: 在此处输入图片描述

相关内容