当我尝试在 Lyx 中查看我的文档时,编译文档时不断出现错误:
LaTex 错误:Lonely\item——可能缺少列表环境
描述指出:
\item [{BER}]
\begingroup Bit Error Rate\nomeqref {42}\nompageref{16}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
通过对每个术语条目使用注释功能(注释掉),我发现我试图在小节标题中定义一个术语。
注释掉命名法条目使得文档可以编译,然后我就可以看到我的列表。
答案1
您可以安全地在分段命令中定义命名法条目。您只需保护诸如\nomrefpage
和 之类的脆弱命令\nomrefeq
。
例如,你可以写
\section{Bit Error Rate (BER)\nomenclature{BER}{Bit Error Rate\protect\nomrefpage}}
或者
\subsection{Meaning of $x$\nomenclature{$x$}{Unknown variable\protect\nomrefeq}}
并且它们工作正常。
另外,请务必使用\nomrefpage
and\nomrefeq
而不是\nompageref
and \nomeqref
(后者是在.nls
文件内部使用的命令,用于指示相同的事情......)。
平均能量损失
\documentclass{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\printnomenclature
\bigskip
\section{Bit Error Rate (BER)\nomenclature{BER}{Bit Error Rate\protect\nomrefpage}}
\begin{equation}
\textup{BER}=x
\end{equation}
\subsection{Meaning of $x$\nomenclature{$x$}{Unknown variable\protect\nomrefeq}}
$x$ is an unknown variable
\end{document}
输出:
答案2
你必须使用可选参数\section
和\subsection
:
% arara: pdflatex
% arara: nomencl
% arara: pdflatex
\documentclass{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\tableofcontents
\printnomenclature
\bigskip
\section
[Bit Error Rate (BER)]
{Bit Error Rate (BER)\nomenclature{BER}{Bit Error Rate\nomrefpage}}
\begin{equation}
\textup{BER}=x
\end{equation}
\subsection
[Meaning of $x$]
{Meaning of $x$\nomenclature{$x$}{Unknown variable\nomrefeq}}
$x$ is an unknown variable
\end{document}
为什么我说“必须”?因为如果你只\protect
在标题中使用脆弱命令,你也会在目录中获得一个条目(可能与标题中的条目不同)。
不过,我不建议在标题中添加命名法参考;最好将它们放在文本中。