在我的文档的某些部分,我在数学模式中有文本,用于定位文本,例如:
\math{
\overset{
\text{This text is above.}
}
{
\text{This text is below.}
}
}
我发现,即使在定义为 Sans Serif 的环境中,放置在\text{}
里面的任何文本\math{}
都会使用 Serif 正文字体显示,例如:
\starttypescript[serif][stsong]
\definefontsynonym[stsong][name:stsong][features=chinese]
\stoptypescript
\starttypescript[sans][stheiti]
\definefontsynonym[stheiti][name:stheiti][features=chinese]
\stoptypescript
\starttypescript[serif][stsong]
\definefontsynonym[Serif][stsong][features=chinese]
\stoptypescript
\starttypescript[sans][stheiti]
\definefontsynonym[Sans][stheiti][features=chinese]
\stoptypescript
\definetypeface[stsong][rm][serif][stsong]
\definetypeface[stheiti][ss][sans][stheiti]
\setupbodyfont[stsong, 12pt]
\starttext
{\stheiti This is some text.\math{\text{This is some more text.}}This is yet some more text.}
\stoptext
- 将字体定义放在里面
\text{}
,例如,\text{\stheiti Text.}
并不是一个好的解决方案,因为大部分文本都在宏中,而宏可以出现在不同的地方,例如在 San Serif 章节标题中,或者在文档的主要 Serif 文本中。 - 出于同样的原因,为数学模式设置单一字体也不适合。
如何将数学模式中的文本模式中的字体设置为其周围文本的字体?
答案1
这是 ConTeXt 中的一个回归错误。正如 Andrew Swann 所说,它可以与 MkIV fmt 2012.8.21 一起正确运行,现在也可以与 MkIV 2012.10.22 一起正确运行。下面是一个最小示例:
\starttext
\startTEXpage[offset=3mm]
\switchtobodyfont[sans]
\math{
\overset{
\text{This text is above.}
}
{
\text{This text is below.}
}
}
\stopTEXpage
\stoptext
这使