Sto provando a fare tre cose di base all'interno di una modalità matematica multi-line in Sphinx (versione 1.1.2-1).Sphinx Limiti di markup LaTeX
- Scrivere caratteri di sottolineatura come parte dei nomi delle variabili anche in modalità matematica;
- Utilizzare il
\big
,\biggl
, ecc., I delimitatori per creare parentesi e parentesi grandi; - e includere testo normale come parte delle equazioni.
Nota le seguenti due cose. (1) Sto usando una stringa grezza nel mio codice Python per la documentazione di Sphinx-markup, quindi non sono necessari backslash aggiuntivi per i caratteri di escape, e (2) Non sto facendo la modalità matematica inline, che è delimitata in Sphinx:
:math:`Some math stuff goes here` regular text could go here...
Invece, sto facendo cose più righe, spesso come eqnarray
in LaTeX:
.. math::
DividendYield &=& \frac{DVT(t)}{CurrentMarketCap} \\
Avg_Assets &=& \biggl(A/B \biggr) \textrm { when B is not zero...}
Attualmente, ottengo Sphinx errori (e le pagine doc generate sembrano senza senso), che dicono cose Mi piace:
Unknown LaTeX command: textrm
Lo stesso accade per \biggl
. Per il carattere di sottolineatura, lo interpreto sempre come se stessi indicando un pedice, ma se uso \textunderscore
o altri trucchi, esso genera gli stessi errori di cui sopra.
I caratteri di sottolineatura in modalità matematica, il comando textrm
e i delimitatori grandi sono parti estremamente di base di ogni pacchetto TeX nativo che abbia mai usato. Quindi perché sono inaccessibili attraverso Sfinge?
Aggiornamento
Un particolare file di Python che sto lavorando su calcola i dati patrimonio netto contabile per me. Così sotto, quando vedi cose su BookEquity, questo è il riferimento. Non riesco ad eseguire il nostro processo di compilazione dei documenti se non attraverso un sistema di controllo della versione, quindi rendere l'errore riproducibile è più semplice se ho appena modificato un file esistente.
Tuttavia, tutto ciò che ho fatto è stato aggiungere la seguente funzione di classe nel mio codice, con una semplice docstring.
def foo(self):
r"""
Sample docstring
.. math::
Ax &=& b \\
Cx &=& \biggl(\frac{x/y}\biggr) \textrm{ if y is not zero.}
"""
pass
E poi l'immagine qui sotto è l'uscita proveniente dal costruire i documenti con Sphinx 1.1.2-1.
Se destro del mouse e selezionare 'immagine Vista' si può vedere una versione migliore.
Spiacente non so di Sphinx, ma penso che i caratteri di sottolineatura debbano essere sfuggiti '\ _', e potresti provare a usare' \ text {} 'invece di' \ textrm' (richiede il 'amsmath' pacakge) . –
Grazie per il tentativo. '\ _' e' \ text' erano cose che ho immediatamente provato quando ho ricevuto questo errore. Le pagine del documento Sfinge specificano specificamente che usano 'amsmath'. '\ text' sembra funzionare, ma questo non aiuta a risolvere il problema. Tuttavia, è una buona soluzione per quel 1/3 della domanda. – ely
Potresti postare parte del codice LaTeX generato, ad es. per i tuoi esempi? –