In Python-Sphinx gibt es die only directive, die verwendet werden kann, um das Dokument entsprechend seiner Ausgabe bedingt zu beeinflussen. Zum Beispiel erscheint Text nur in HTML oder Latex.Wie kann ich die einzige Direktive inline verwenden, indem ich Rolle in python-sphinx verwende?
Es ist wie folgt zu verwenden:
.. only:: not latex Here there is some Text, that does not appear in latex output. .. only:: html Here there is some Text, that only appears in html output.
Wie kann ich die Rolle Richtlinie in der richtigen Weise verwenden die einzige Klasse Inline zu verwenden, lassen Sie uns wie folgt sagen:
Here there is some Text, that :only-notlatex:`does not appear in latex`
:only-html:`only appears in html`.
ich sah, etwas ähnliches für die rohe Richtlinie. Ist dies auch für die einzige Richtlinie möglich? Ich habe versucht:
.. role:: only-html(only) :format: html .. role:: only-notlatex(only) :format: not latex
Aber das funktioniert nicht.
Verwechseln Sie nicht die Anweisungen und Rollen. Richtlinien arbeiten an Textblöcken (ganze Absätze); Rollen sind für Inline-Text (in Absätzen). Es gibt keine eingebaute Rolle, die der "einzigen" Direktive entspricht. Zu diesem Zweck müssen Sie eine eigene benutzerdefinierte Rolle erstellen. Ich kann keine detaillierten Anweisungen geben, aber hier ist ein Artikel, der Ihnen den Einstieg erleichtern kann: http://doughellmann.com/2010/05/09/defining-custom-roles-in-sphinx.html. – mzjn
OK, danke. Das macht Sinn. Ich war verwirrt, da ich dachte [rohe] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#raw-data-pass-through) ist eine Direktive und dafür funktioniert es. Aber wie gesagt [hier] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#custom-interpreted-text-roles) scheint dies ein "spezieller Fall" zu sein. –
Ich machte meinen Kommentar zu einer richtigen Antwort. – mzjn