Hintergrund

Hintergrund

Hintergrund

Ein Markdown-Dokument wird in XHTML konvertiert. Das XHTML-Dokument kodiert Anführungszeichen und Apostrophe mithilfe benannter Entitäten wie “und '.

Hinweis: Für den Fall, dass es sich um einen Rückschritt handelt, wurde dies auch in der Mailingliste gepostet.

Version: 2022.09.11 20:44

Problem

Die Apostrophe werden als gerade Anführungszeichen ausgegeben, nicht als geschweifte Anführungszeichen. Das ist überraschend, weil (a) es in einer früheren Version funktionierte; und (b) die anderen Entitäten wie erwartet ausgegeben werden, wie hier gezeigt:

gerader Apostroph

Code

Hier ist ein Beispiel:

\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

Der folgende Code veranschaulicht das Problem genauer:

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

Produziert:

Anführungszeichen links/rechts

Ich würde erwarten, AP:zusätzlich zur Krümmung etwas im Text vor dem Apostroph zu sehen.

Frage

Wie kräuselt man das Apostroph-Zeichen ( &apos;)?

Antwort1

Wie krümmen Sie das Apostroph-Zeichen (')?

Du kannst hinzufügen

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

zum Anfang Ihres Dokuments.

für den Fall, dass es sich um eine Regression handelt.

In gewisser Weise ist es ein Rückschritt, denn etwas, das früher funktionierte, funktioniert heute nicht mehr.laut Hans ist dies nun das beabsichtigte Verhalten. Ich persönlich denke, dass dies trep=yesweiterhin die Standardeinstellung sein sollte, kann aber auch verstehen, dass man die Eingabedateien standardmäßig nicht ändern möchte.

Ich würde erwarten, dass im Text vor dem Apostroph zusätzlich zur Krümmung auch noch AP: steht.

Es scheint, dass ConTeXt keine Neudefinition vordefinierter Entitäten zulässt. Ausführen:

\enabletrackers[xml.entities]

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

gibt Ihnen

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 '

verwandte Informationen