
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:
Code
Hier ist ein Beispiel:
\xmltexentity{apos}{’}
\xmltexentity{lsquo}{‘}
\xmltexentity{rsquo}{’}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}
\startbuffer[document]
<body>
‘Sylvia's spilled «wine».’
</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:
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 ( '
)?
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=yes
weiterhin 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 ‘ to internal '