我正在使用 LyX 撰写讲义,其中大部分文字都是希伯来语。我有许多定理和定义,它们是使用模块theorems-ams
(文档 > 设置 > 模块) 定义的。
到目前为止一切都很好,文档编译完美,没有任何错误。
现在我想添加一个定理和定义列表,但由于一些奇怪的问题而无法实现:我已将 添加\usepackage{thmtools}
到文档的序言设置中,并在文档底部添加了 ERT \listoftheorems
。它看起来像这样:
然而,由于某种原因,我收到了一堆错误:
其中大部分是关于额外的}。当深入研究日志文件时,我收到此消息(对应上面屏幕截图中的错误):
! Argument of \@dottedtocline has an extra }.
<inserted text>
\par
l.3218 \end
{document}
I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.
现在我已经不知道哪里出了问题。有什么想法吗?
LyX 版本 2.3.6.1,thmtools 63477 (73)
我的整个序言:
\usepackage{pgfplots}
\usepackage{tikz}
\usepackage{listofitems}
\usepackage{xcolor}
\usepackage[outline]{contour}
\usepackage{thmtools}
\usetikzlibrary{patterns}
\usetikzlibrary{automata, arrows.meta, positioning}
答案1
我认为这个错误已经在 thmtools 的较新版本中修复了,但即使您进行更新,您也无法使用您的配置生成定理列表。
该模块Theorems (AMS)
通过 定义定理环境\newtheorem
,但是,只有用 定义的环境\declaretheorem
才会包含在 thmtools 中\listoftheorems
。
我在 LyX 中编写了一个模块来支持 thmtools,你可以找到它这里。要安装模块,请打开 LyX 并转到Help->About LyX
,打开名为 的目录User Directory
,将文件下载theorems-thmtools.module
到该目录,然后在 LyX 中转到Tools->Reconfigue
。当 LyX 完成后,重新启动它。现在您应该在可用模块列表中看到新模块。
目前,只有一个部分内的数字和类型变化,如果您需要另一个并且不知道如何修改模块文件以获取所需的类型,请在评论中告诉我,我会将新模块加载到 repo 中。
编辑
我刚刚想起我以前遇到过这个错误,它发生在使用时\listoftheorems
没有定义任何定理\declaretheorem
。
例如以下文档将产生相同的错误
\documentclass{article}
\usepackage{thmtools}
% \declaretheorem{thm} % uncomment this line to remove the error
\begin{document}
\listoftheorems
\end{document}
但有了我之前提到的模块,这应该不是问题