我花了很多时间都没能实现 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 以获得预期结果。