为 nomencl 调用 makeindex

为 nomencl 调用 makeindex

我花了很多时间都没能实现 nomencl 来完成我的博士论文。问题似乎出在调用 makeindex 和创建 .nls 文件上

我不断读到我必须调用 makeindex 或编写 Unix 命令:

makeindex filename.nlo  -s nomencl.ist -o filename.nls

但我不知道该怎么做。如果能提供一些说明,我将非常感激。例如,我应该在哪里输入命令?

我正在使用 TeXShop 2.43。

答案1

保存一个新文件~/Library/TeXShop/Engines/Nomenclature.engine,内容如下:

#!/bin/sh

bfname=$(dirname "$1")/"`basename "$1" .tex`"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls

chmod u+x ~/Library/TeXShop/Engines/Nomenclature.engine使用 shell使此新文件可执行,或在文件权限中设置可执行位。例如,参见维基百科有关如何更改文件权限的更多信息。

重启 TeXShop。现在你应该Nomenclature在 旁边的下拉菜单中看到一个条目Typeset

要获得命名法,首先运行 LaTeX,然后Nomenclature,然后再次运行 LaTeX。

答案2

以下是实现该目标的详细步骤:

1)在 Mac 终端中,转到 ~/Library/TeXShop/Engines/ 并输入:

vi Nomenclature.engine

2)在终端中,按一次“i”键(表示插入)。

3)从这里复制以下代码:

#!/bin/sh

bfname=$(dirname "$1")/"`basename "$1" .tex`"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls

4)在终端中,按“control+clic”并点击“粘贴”菜单。

5)在终端中,按“esc”,然后输入“:wq”并回车(这将写入并退出文件)。

6)在终端中输入:

sudo chmod a+x Nomenclature.engine

7)在终端中,输入您的密码。

8)退出 TeXShop(如果打开)并重新启动。

9) 命名法已准备好执行。

记得执行:Latex-Nomenclature-Latex 以获得预期结果。

相关内容