文件中未显示术语

文件中未显示术语

我对命名法有一个新的问题。我在主文件中的序言中有以下几行:

\documentclass[ngerman,draft,table*]{sdqthesis}
\usepackage{nomencl}
\makenomenclature
\immediate\write18{%
  makeindex -s nomencl.ist -o \jobname.nls -t \jobname.nlg \jobname.nlo%
} 
.
.
.

在同一个主文件中我使用以下命令:

\打印命名法

然后,在主文件中包含的另一个文件中,我定义一个方程式:

\nomenclature{$P^{NOpt}$}{Elektrische Leistung der nicht optimierbaren Geräte}

编译后没有显示任何错误消息,但在任何地方都找不到命名法。有人知道我该怎么办吗?

Makeindex 的问题

有人建议我发布一个新问题,并附上指向其他问题的链接。

答案1

在关闭文件.nlo(包含命名法条目)和调用 shell-escape 之间似乎存在一些异步 IO。

我已经定义了一个命令\writenomcl{\jobname}并将其挂接到\AtEndDocument,因此在两次运行之后pdflatex,条目应该就在那里。

重点在于推迟写作,即没有\write18和。\closeout\immediate

\documentclass{article} % Don't have this sdqthesis.cls
\usepackage[utf8]{inputenc}
\usepackage{nomencl}
\makenomenclature

\makeatletter
\newcommand{\closenomencl}{%
  \closeout\@nomenclaturefile%
}
\makeatother


\newcommand{\writenomencl}[1]{%
  \closenomencl%
  \IfFileExists{#1.nlo}{%
    \write18{%
      makeindex -s nomencl.ist -o #1.nls -t #1.nlg #1.nlo%
    }% 
  }{\typeout{Nothing there}}%
}


\AtEndDocument{\writenomencl{\jobname}}

\begin{document}

\nomenclature{$P^{NOpt}$}{Elektrische Leistung der nicht optimierbaren Geräte}
\nomenclature{$\lambda$}{Wellenlänge}

Hello World


\printnomenclature

\end{document}

在此处输入图片描述

相关内容