LyX InsetLayout 用于没有参数的 LaTeX 命令

LyX InsetLayout 用于没有参数的 LaTeX 命令

我想为不带参数的 LaTeX 命令创建插入布局,例如\meter来自 siunitx 包的命令,这样就不会向用户显示任何框。这适用于标准命令,\tableofcontents但我不知道如何为个性化命令获取它。

问题是 LyX 假设至少有一个参数并在标签旁边显示一个框。例如,将以下几行添加到某些 LyX 文档的本地格式中

Format 60

AddToPreamble
    \usepackage{siunitx}
EndPreamble

InsetLayout Flex:metre
    LyXType     custom
    LabelString "m"
    LatexType   Command
    LatexName   metre
    Decoration  classic
End

将会在插入菜单中提供一个条目“metre”,正如预期的那样,使用时它会在“m”标签的右侧显示一个红色框,用户可以在其中添加一些文本或其他材料,如下所示。

"m" label followed by a red box

我在 LyX 自定义指南的插入布局部分中找不到如何去除这个无用的红框。LaTeX 命令\metre不需要任何参数,LyX 插入也应该如此。

其背后的想法是防止用户在文档中输入任何 ERT,并在 UI 中满足所有需求。

答案1

我碰到“数学宏”提供类似的功能。它们只在数学环境中工作,您必须输入类似 latex 的命令“\mymacro”。但是一旦您输入宏,它们就会显示其定义,而不是 latex 命令。

我用这个作为一种解决方法,因为我面临着和你同样的问题。

相关内容