扩展包:未定义的控制序列

扩展包:未定义的控制序列

我正在尝试添加自定义块,除了已经定义的块之外划痕3

我创建了一个顶层文件自定义区块.sty目前包含

\ProvidesPackage{customblocks}
\RequirePackage{scratch3}
\definecolor{customcolor}{RGB}{100, 50, 200}
\newcommand*\ovalcustom{\scr_ovalbox0{customcolor}}

我只是尽力复制和修改了scratch3.sty定义如下:

\newcommand*\ovalsensing{%
    \scr_ifstar
        {\scr_ovalbox1{scrsensing}}
        {\scr_ovalbox0{scrsensing}}%
}
\def\scr_blocksensing{\scr_normalblock{scrsensing}}
\newcommand*\boolsensing{\scr_boolbox{scrsensing}}

我在序言中导入了我的自定义包

\usepackage{scratch3}
\usepackage{customblocks}

然后我尝试稍后使用它

\ovalcustom{attempting}

但我明白很多 我认为最终导致的错误是

未定义控制序列。
\ovalcustom ->\scr
_ovalbox0{customcolor}
l.10 \item \ovalcustom
{attempting}

错误消息顶行末尾的控制序列
从未被 \def 过

我实际上怎样才能在 scratch3 包顶部添加更多块?

答案1

在顶部 scratch3.sty你会看到一段代码,主要用来做

\catcode`\_11

并在最后将其恢复。

组成_一个字母,以便将\scr_normalblock其视为带有名称的命令scr_normalblock

您正在使用范围为_数学下标的代码,因此
\scr_normalblock正在\scr _{n} ormalblock 寻找未定义的命令\scr

相关内容