我正在尝试使用
\usepackage{nomencl}
\makenomenclature
包。但是,当我输入
\printnomenclature
有人能帮忙吗?我对 Tex 还很陌生,所以请帮帮我。文档说我必须运行,makeindex <filename>.nlo -s nomencl.ist -o <filename>.nls
但我不知道这是什么意思,也不知道在哪里输入这个或输入什么文件名。
我的文件如下所示,我在 TexMaker 中输入:
\documentclass[12pt]{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\printnomenclature
\nomenclature{AIMR}{Association for Investment Management and Research}
blablabla AIMR
\end{document}
答案1
这将会很长...
从命令提示符:
假设您的 tex 文件 (file.tex) 位于 中D:\my folder
。file.tex
在 texmaker 中打开并pdflatex
在构建列表中选择编译。现在打开命令提示符(开始→运行→cmd)。在打开的命令提示符中输入
makeindex.exe D:\my folder\file.nlo -s nomencl.ist -o D:\my folder\file.nls
现在返回 texmaker 并再次pdflatex
使用构建按钮进行编译。
使用arara
:
下载并安装 arara。确保它arara.exe
在系统路径中。(安装时,安装程序会询问此选项。选择是的)。
现在打开 texmaker。使用菜单转到User
→ User Commands
→,Edit User Commands
如图所示。
现在将打开以下窗口。如下所示输入和Arara
。Menu Item
现在左侧应显示如下内容arara %
Command
Command 1: Arara
按OK
。现在构建列表中arara
应该会出现一个带有 的条目,如图所示。选择它。
现在将以下几行添加到您的file.tex
:
%% this is file.tex. Following three lines need to be added.
% arara: pdflatex
% arara: nomencl
% arara: pdflatex
\documentclass{amsart}
\usepackage{nomencl}
\usepackage{etoolbox}
\makeatletter
% copy the formatting of section titles
\let\nomencl@section\section
% if the level is greater than 1000, then amsart
% doesn't include the section's title in the toc
\patchcmd{\nomencl@section}{{1}}{{1001}}{}{}
% patch \thenomenclature to call \nomencl@section
% instead of \section*
\patchcmd{\thenomenclature}
{\section*}
{\nomencl@section}
{}{}
\makeatother
\renewcommand{\nomname}{List of Notations}
\makenomenclature
\setcounter{tocdepth}{1}
\nomenclature[000]{$Hi$}{World}
\begin{document}
\tableofcontents
\printnomenclature[1in]
\section{world}
\end{document}
现在按下如下Build
所示的按钮:1: Arara
希望一切顺利。:-)
答案2
Texmaker 的优点是它允许您在不使用命令提示符的情况下执行操作。而且也没有必要通过命令提示符。arara
有几种方法可以做到这一点。
MakeIndex
更改按钮的命令
如果您使用下面的按钮逐个启动编译器,则只需更改MakeIndex
按钮命令。
要做到这一点你必须去选项 - 配置 Texmaker - 命令。并且必须将对应的命令更改MakeIndex
为:
makeindex %.nlo -s nomencl.ist -o %.nls -t %.nlg
您所要做的就是使用按钮编译一次PDFLaTeX
,用编译一次,MakeIndex
再用编译一次PDFLaTeX
。
创建自定义快速构建
如果您更喜欢使用“快速构建”按钮(或按 F1 键),而不是多次按下调用编译器的按钮,您可以编辑“快速构建”按钮的功能。
去选项 - 配置 Texmaker - 快速构建并使用向导创建您自己的命令。例如,对于操作,PDFLaTeX + BibTeX + MakeIndex + PDFLaTeX x2 + View PDF
我得到了以下命令:
pdflatex -synctex=1 -interaction=nonstopmode %.tex|bibtex %.aux|makeindex %.idx|pdflatex -synctex=1 -interaction=nonstopmode %.tex|pdflatex -synctex=1 -interaction=nonstopmode %.tex|evince %.pdf
警告,如果您修改了 MakeIndex 调用命令,您仍然需要修改最后一个命令行。您所要做的就是在命令行makeindex %.idx
中用替换makeindex %.nlo -s nomencl.ist -o %.nls -t %.nlg
。现在您的快速构建将与 一起工作nomencl
。
创建自定义命令
如果您更喜欢使用自定义命令而不是快速构建,请转到用户 - 用户命令 - 编辑用户命令并使用向导创建您自己的命令;然后在命令行makeindex %.idx
中用替换makeindex %.nlo -s nomencl.ist -o %.nls -t %.nlg
。