背景

背景

背景

Markdown 文档转换为 XHTML。XHTML 文档使用命名实体(例如“和 )对引号和撇号进行编码'

注意:交叉发布到邮件列表,以防这是一个回归。

版本:2022.09.11 20:44

问题

撇号输出为直引号,而不是弯引号。这令人惊讶,因为 (a) 它在以前的版本中可以正常工作;并且 (b) 其他实体按预期输出,如下所示:

直撇号

代码

以下是一个例子:

\xmltexentity{apos}{’}
\xmltexentity{lsquo}{‘}
\xmltexentity{rsquo}{’}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}

\startbuffer[document]
<body>
  &lsquo;Sylvia&apos;s spilled &laquo;wine&raquo;.&rsquo;
</body>
\stopbuffer

\startxmlsetups xml:xhtml
  \xmlsetsetup{\xmldocument}{body}{xml:*}
\stopxmlsetups

\startxmlsetups xml:body
  \xmlflush{#1}
\stopxmlsetups

\xmlregistersetup{xml:xhtml}

\starttext
  \xmlprocessbuffer{xhtml}{document}{}
\stoptext

以下代码有助于进一步说明该问题:

\xmltexentity{apos}{AP:’}
\xmltexentity{lsquo}{LQ:‘}
\xmltexentity{rsquo}{’:RQ}

生成:

左/右引号

AP:除了卷曲撇号之外,我还希望在文本中看到撇号之前的内容。

问题

如何使撇号字符实体 ( &apos;) 卷曲?

答案1

如何卷曲撇号字符实体 (')?

你可以加

\definefontfeature[default][default][trep=yes]

到文档的开头。

以防这是一种回归。

从某种意义上说,这是一种倒退,因为过去行得通的东西现在行不通了,但是根据汉斯的说法,这是现在的预期行为。我个人认为这trep=yes应该还是默认的,但我也能理解不想默认修改输入文件。

除了卷曲撇号外,我还希望在文本中的撇号前看到 AP:。

看来 ConTeXt 不允许您重新定义任何预定义实体。运行:

\enabletrackers[xml.entities]

\xmltexentity{apos}{XXX}
\xmltexentity{lsquo}{YYY}
\xmltexentity{rsquo}{ZZZ}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}

给你

xml             > tex > registering tex entity 'apos' as 'XXX'
xml             > tex > registering tex entity 'lsquo' as 'YYY'
xml             > tex > registering tex entity 'rsquo' as 'ZZZ'
xml             > tex > registering tex entity 'laquo' as '«'
xml             > tex > registering tex entity 'raquo' as '»'
xml             > core > resolving entity &lsquo; to internal '

相关内容