合法 LyX 宏上的控制序列未定义

合法 LyX 宏上的控制序列未定义

我正在尝试定义一个 LyX 宏,菜单上的“插入”->“数学”->“宏”。这是一个非常简单的宏。查看->查看源代码下的源代码:

\global\long\def\Z{\mathbb{Z}}

如果我不使用宏,文件可以很好地编译。但是,一旦我将一个放入 \Z 数学公式中并尝试编译,它就会给我一个未定义控制序列出现以下错误消息:

! Undefined control sequence.
\Z ->\mathbb 
             {Z}
l.32 d$\Z
         $
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

现在,最奇怪的是,我已经在其他文件上使用了这个完全相同的宏,它运行完美。

如果有帮助的话,我正在使用文章LyX 2.0.0 上的文档类别。文档编码或文档类别会造成影响吗?或者可能是文档语言设置?

完整的 LaTeX 错误日志可在此链接中找到

谢谢!

答案1

正如 egreg 在评论中提到的,出现错误的原因是,定义的amsfontsnoramssymb包均未\mathbb加载。要强制 LyX 添加其中一个,您可以执行以下两项操作之一:

  1. 转到文档 --> 设置 --> LaTeX 前言并添加

    \usepackage{amssymb}
    

    或者

    \usepackage{amsfonts}
    
  2. 转到文档 --> 设置 --> 数学选项。取消选中自动使用 AMS 数学包并检查使用 AMS 数学包,如下面的屏幕截图所示。LyX 现在将添加

    \usepackage{amsmath}
    \usepackage{amssymb}
    

    文件序言。

    第一个是自动添加,只有当您通过 LyX GUI 使用某些功能时才会添加这些包。例如,如果您执行插入 --> 数学 --> AMS 对齐,amsmath则会添加该包,如果您通过工具栏上的数学字体按钮添加一些带有 Blackboard 粗体字样的文本 -- 在此处输入图片描述--amssymb则会添加。

    在此处输入图片描述

相关内容