我目前正在撰写硕士论文,必须结合使用 MiKTeX 和 TeXnicCenter 进行写作。我遇到了一个问题makeindex
。
在我的 Tex 文件中,我使用这个glossary
包。我用它创建词汇表条目和首字母缩略词。TeXnicCenter 允许我插入一个makeindex
命令。目前
"%tm".glo -t "%tm".glg -s "%tm".ist -o "%tm".gls
使用此命令,我得不到我想要的结果。我通过运行 Windows 命令得到此结果:
makeindex Masterarbeit.glo -s Masterarbeit.ist -t Masterarbeit.glg -o Masterarbeit.gls
makeindex -s Masterarbeit.ist -t Masterarbeit.alg -o Masterarbeit.acr Masterarbeit.acn
是否可以将其合并为一个并插入到 TeXnicCenter 中?
我注意到,这makeindex
必须在生成 pdf 之前执行。如何触发它?(这样就可以使用新的首字母缩略词和词汇表条目)
谢谢!
编辑:这是当我在创建 pdf 之前没有运行 Windows 命令时显示的消息:
pdfTex 警告(目标):名称{glo:ABC} 已被引用但不存在,请用固定名称替换
答案1
获取包括词汇表和首字母缩略词的 pdf 文件的正确运行顺序是:
pdflatex Masterarbeit.tex
(首次运行将创建词汇表和缩略词所需的文件)makeindex
(制作词汇表,第二个makeindex
创建首字母缩略词(稍后我们使用批处理通过一次调用完成两次运行))pdflatex
(包括目录、词汇表和缩略词)pdflatex
(最终得到正确的页码)
我认为最快的方法是创建一个mwe.bat
包含两行的 Windows 批处理文件,其中包含需要运行makeindex
两次的命令:
makeindex Masterarbeit.glo -s Masterarbeit.ist -t Masterarbeit.glg -o Masterarbeit.gls
makeindex -s Masterarbeit.ist -t Masterarbeit.alg -o Masterarbeit.acr Masterarbeit.acn
将批处理文件放入包含tex
代码的同一目录中。
我可能是你必须添加相关的路径,当你尝试时你就会明白。
在 TeXnicCenter 中,您有预定义的输出配置文件,但您可以自己定义新的配置文件。进入 TeXnicCenter 菜单Build
-->Define Output profiles
并选择您用于编译的配置文件。单击Copy
并为新复制的配置文件输入新名称,例如mwe-makeindex
。
选中(La)TeX
并单击最后一个框以取消选中(不要在此配置文件中使用 makeindex)。
现在单击post processor
,单击new
(查找目录符号)并输入后处理器名称glossary
。添加到executables
批处理文件的名称中mwe.bat
(如果需要,添加路径)。要关闭窗口,请单击“确定”按钮。
通过这种构造,您可以使用新的输出配置文件来编译您的tex
代码,然后由 TeXnicCenter 自动使用批处理文件mwe.bat
来运行makeindex
您需要的两个命令。
首先编译后,您将获得所需的所有文件makeindex
。然后调用批处理来运行两个命令(这就是我使用邮政处理器!)。
下一次编译运行可以使用这两个makeindex
命令的结果。
我只有德语版的 TeXnicCenter,但如果您需要,如果上述建议不清楚,我可以附上屏幕截图。