In python-sfinge c'è lo only directive, che può essere usato per influenzare condizionalmente il documento in base alla sua uscita. Ad esempio il testo appare solo in html o latex.Come posso usare l'unica direttiva in linea usando il ruolo in python-sphinx?
Si usa in questo modo:
.. 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.
Come posso utilizzare la direttiva ruolo nel modo giusto di usare la linea unica di classe, diciamo così:
Here there is some Text, that :only-notlatex:`does not appear in latex`
:only-html:`only appears in html`.
ho visto qualcosa di simile per la direttiva raw. Questo è anche possibile per l'unica direttiva? Ho provato:
.. role:: only-html(only) :format: html .. role:: only-notlatex(only) :format: not latex
Ma questo non funziona.
Non confondere direttive e ruoli. Le direttive funzionano su blocchi di testo (interi paragrafi); i ruoli sono per il testo in linea (all'interno di paragrafi). Non esiste un ruolo predefinito che corrisponda alla direttiva "only". Dovrai creare il tuo ruolo personalizzato per questo scopo. Non posso fornire istruzioni dettagliate, ma ecco un articolo che può aiutarti a iniziare: http://doughellmann.com/2010/05/09/defining-custom-roles-in-sphinx.html. – mzjn
OK, grazie. Questo ha senso. Mi sono confuso da quando ho pensato [raw] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#raw-data-pass-through) è una direttiva e per questo funziona. Ma come affermato [qui] (http://docutils.sourceforge.net/docs/ref/rst/directives.html#custom-interpreted-text-roles), questo sembra essere "un caso speciale". –
Ho trasformato il mio commento in una risposta adeguata. – mzjn