我无法使用\example
任何Theorems
模块,因为 LaTeX 会"Command \example already defined"
根据 Lyx 生成的行进行操作\newtheorem{example}[thm]{\protect\examplename}
。我在 Mac 上使用 Lyx 2.2.2。有什么方法可以解决这个问题吗?
答案1
如果你使用纸质版(标准级)文档类以及定理(AMS)模块,后者定义了example
与文档类冲突的环境(因为它已经定义)。
不幸的是,它无助于在文档 > 设置... > LaTeX 序言中放置任何更正,因为用户指定的 LaTeX 命令部分(其中包含您在序言中放置的任何内容)仅插入后
\newtheorem{example}[thm]{\protect\examplename}
为了解决这个问题,您必须通过本地布局解决特定于模块的定义:
Format 60
Style Example
CopyStyle Definition
LatexName example
LabelString "Example \thetheorem."
Preamble
\theoremstyle{definition}
\let\example\relax% Remove any existing example functionality
\newtheorem{example}[thm]{\protect\examplename}
EndPreamble
LangPreamble
\providecommand{\examplename}{_(Example)}
EndLangPreamble
BabelPreamble
\addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
EndBabelPreamble
End
此本地布局的唯一添加(修复)是插入
\let\example\relax
这会删除所有现有的example
环境定义。这样就可以\newtheorem{example}
按预期运行,而无需更改环境或弄乱菜单项。
答案2
以下是我的快速解决方案。将 的定义放在\exmpl
序言中
\theoremstyle{definition}
\newtheorem{exmpl}{\protect\examplename}[section]
\providecommand{\examplename}{Example}
然后将示例包装在文本中,如下所示:
\begin{exmpl}
“示例主体” \end{exmpl}
。LaTeX 代码应位于 Tex 代码块中(Mac 上为 cmd+L)。
还有另一种解决方案Lyx 错误追踪. 问题是Paper
类定义\example
。