在 ConTeXt 中格式化语法的正确方法是什么?

在 ConTeXt 中格式化语法的正确方法是什么?

一段时间以来,我一直认为,也许是错误的,ConTeXt 语法周围的精确位置或间距并不重要,例如,在这种假设下,所有这些都应该产生相同的结果:

\setupbodyfont[stsong,12pt]

\setupbodyfont[stsong, 12 pt]

\setupbodyfont    [stsong, 12 pt]

\setupbodyfont[
    stsong, 12 pt
]

\setupbodyfont
    [
        stsong, 12 pt
    ]

然而,我发现我的文档中出现了一些小问题,因为我的语法放置不当,例如,这不起作用:

\setuplayout[
    grid=yes,
    margin=10cm
]

这表明位置可能很重要。

我还发现我的文档中出现了一些额外的空格,例如)和之间,,这可能是语法格式不正确的结果。

  • 在放置 ConTeXt 语法时,自定义功能是否有限制?是否有适当的方法来格式化语法?
  • %在行尾放置 's 的规则是否与 LaTeX 中使用的规则完全相同,如哪些地方需要添加 % 来删除不需要的空格?? 这与 ConTeXt 对方括号的使用有何关系?

答案1

控制序列之后的空格(在 TeX 中很常见)、逗号之后的空格以及方括号(无论是打开还是关闭)之后的空格都会被忽略。

值中的空格成为值的一部分,这可能会或可能不会有害,具体取决于值的类型:对于维度分配,这通常是可以的,但对于关键字值,它通常会导致忽略设置,有时甚至会导致错误。

在我看来,格式化 ConTeXt 的键值命令的最佳方式是:

\setuplayout
   [grid=yes,
    margin=10cm]

相关内容