W python-sfinksie jest only directive, który może być użyty do warunkowego wpływania na dokument zgodnie z jego wyjściem. Na przykład tekst pojawia się tylko w html lub latex.W jaki sposób można używać tylko dyrektywy inline, używając roli w python-sphinx?
jest używać tak:
.. 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.
Jak mogę użyć dyrektywy rolę we właściwy sposób korzystać z inline tylko klasy, powiedzmy tak:
Here there is some Text, that :only-notlatex:`does not appear in latex`
:only-html:`only appears in html`.
widziałem coś podobnego do dyrektywy raw. Czy jest to również możliwe w przypadku jedynej dyrektywy? Próbowałem:
.. role:: only-html(only) :format: html .. role:: only-notlatex(only) :format: not latex
Ale to nie działa.
Nie mylić dyrektyw i ról. Dyrektywy działają na blokach tekstu (całe akapity); role są dla tekstu śródtekstowego (w ramach akapitów). Nie ma wbudowanej roli, która odpowiada dyrektywie "tylko". W tym celu musisz utworzyć własną niestandardową rolę. Nie mogę podać żadnych szczegółowych instrukcji, ale oto artykuł, który może Ci pomóc: http://doughellmann.com/2010/05/09/defining-custom-roles-in-sphinx.html. – mzjn
OK, dziękuję. To ma sens. Pomyślałem, że [raw] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#raw-data-pass-through) jest dyrektywą i do tego działa. Ale jak stwierdzono [tutaj] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#custom-interpreted-text-roles), wydaje się, że jest to "szczególny przypadek". –
Zmieniłem mój komentarz w prawidłową odpowiedź. – mzjn