ConTeXt:\setupframedtexts[name][..=..] 未使用“name”参数(初学者)

ConTeXt:\setupframedtexts[name][..=..] 未使用“name”参数(初学者)

我正在学习 ConTeXt(到目前为止,这是一次很棒的经历!);然而,在使用“ConTeXt:一次短途旅行”做笔记和测试时,偶尔查阅参考手册时,我遇到了以下问题:

命令\setupframedtexts应按如下方式工作:(\setupframedtexts[name][..=..]根据参考手册),但它会忽略name(如果name提供则导致默认值)。

或者我在某个地方犯了语法错误?

梅威瑟:

\setupframedtexts[myFrame][frame=off,topframe=on,bottomframe=on,width=\textwidth]

\starttext

\startframedtext[myFrame]
\input Knuth
\stopframedtext

\stoptext

我还想使用 ConTeXt 设置,如下所示:

\setupsomething[mything]
[settings]

\setupsomethingelse[myanotherthing]
[settings,
setting={\something[mything]}]

例如:

\setupframedtexts[mySectionFrame]
[frame=off,
topframe=on,
bottomframe=on,
width=\textwidth]

\definehead[mySection][section]
\setuphead[mySection]
[numberstyle=bold,
 textstyle=bold,
 before=\vskip 2\baselineskip{\startframedtext[mySectionFrame]}
 after=\stopframedtext\vskip\baselineskip]

我的问题源于这种情况。

这可能被视为两个问题,但它们(几乎)相关,所以我希望它不介意。

最后说明:我知道,该参考手册并不是最新的,但接受命名参数的行为(对我来说)更有意义。

答案1

您的 MWE 不起作用,因为您将myFramed其作为参数传递\startframedtext ... \stopframedtext,它将被忽略。

在 ConTeXt 中,通常 a\setup...有一个\define...对应项。在您的例子中,您需要定义framedtext第一个 via \defineframedtext[myFrame],因此您稍后再设置它。请注意\setupframedtext[myFrame],是单数。复数形式将更改应用于整体框架文本,尽管您可以只使用它来指定myFramed,您显然尝试过。\defineframedtext[myFrame]将定义\startmyFrame\stopmyFrame。让我们看看:

\defineframedtext[myFrame]
\setupframedtext[myFrame][frame=off,topframe=on,bottomframe=on,width=\textwidth] 
\starttext
\startmyFrame
\input Knuth
\stopmyFrame
\stoptext

现在您的环境已准备好在节头中使用(当bold不执行任何操作时,请尝试)。我建议您在内容之后由“复杂”宏组成时用括号括住宏,以避免出现有趣的解析错误\bfbefore=after=

\defineframedtext[myFrame]
\setupframedtext[myFrame][frame=off,topframe=on,bottomframe=on,width=\textwidth]
\definehead[mySection][section]
\setuphead[mySection] [numberstyle=\bf, textstyle=\bf, before={\vskip 2\baselineskip \startmyFrame}, after={\stopmyFrame\vskip\baselineskip}]
\starttext
\startmyFrame
\input Knuth
\stopmyFrame
\startmySection
\input zapf
\stopmySection
\stoptext

ConTeXt 命令列表如果你想更好地理解ConTeXt 处理的无数的\setups 和s,这很有说明性。\define

相关内容