2015-02-05 14 views
6

Vorrei che le equazioni di MathJax visualizzate in IPython Notebook fossero allineate a sinistra anziché centrate. Questo è controllato da un'opzione di configurazione principale displayAlign in MathJax come descritto here.Come modificare l'allineamento delle equazioni visualizzate in IPython Notebook?

Ho cercato di impostare questa opzione in IPython notebook aggiungendo questo ai miei config.js file di

MathJax.Hub.Config({ 
    displayAlign: "left" 
}); 

ma non hanno alcun effetto.

Come è possibile impostare le opzioni di base di MathJax in IPython Notebook?

[Update] Ho trovato un modo che funziona: aggiungere le linee di configurazione di cui sopra non config.js ma per mathjaxutils.js. Nel mio caso (Windows 8) questo file si trova qui: C:\Anaconda\Lib\site-packages\IPython\html\static\notebook\js\mathjaxutils‌​.js. Questa non è una grande soluzione perché comporta la modifica di un file che presumibilmente verrà sovrascritto la prossima volta che aggiornerò IPython.

[Aggiorna] La tecnica suggerita da @Ian nei commenti funziona, ma solo un notebook alla volta. Per riassumere, ho creato un file my_css.css il cui contenuto è

<script> 
    MathJax.Hub.Config({ 
     displayAlign: 'left' 
    }); 
</script> 

Nel quaderno, se corro questa cella

from IPython.core.display import HTML 
css_file = 'my_css.css' 
HTML(open(css_file, "r").read()) 

visualizzata equazioni ottengono allineati a sinistra, se lo desideri.

Tuttavia, mi piacerebbe che questo fosse l'impostazione predefinita per tutti i miei notebook. Ho provato ad aggiungere questo ai miei custom.js

MathJax.Hub.Config({ 
    displayAlign: 'left' 
}); 

e per buona misura aggiunto questo al mio custom.css

<script> 
    MathJax.Hub.Config({ 
     displayAlign: 'left' 
    }); 
</script> 

Ma nessuno dei due ha alcun effetto. Se esiste un modo per rendere questa impostazione predefinita per tutti i notebook senza modificare i file IPython di base, sarebbe perfetta.

risposta

1

Si può provare a includere un file css. Ad esempio, this set of notebooks inserisce this css file (vedere la cella finale del blocco note) che imposta esplicitamente il tag displayAlign, sebbene lo imposti su center.

0

Utilizzare \begin{align} e \end{align}. Questo non risponde esattamente alla domanda, ma ha l'effetto desiderato. Ad esempio provate:

$ 
\begin{align} 
\frac{1}{2} \times \frac{3}{2} = \frac{3}{4} 
\end{align} 
$ 

Quanto sopra rende esattamente lo stesso,

$$ 
\frac{1}{2} \times \frac{3}{2} = \frac{3}{4} 
$$ 

tranne che è giustificato a sinistra.

Questo approccio ha il vantaggio che altri allineamenti possono essere aggiunti, come in:

$ 
\begin{align} 
\dot{x} & = \sigma(y-x) \\ 
\dot{y} & = \rho x - y - xz \\ 
\dot{z} & = -\beta z + xy 
\end{align} 
$ 

Quest'ultimo blocco di codice dista Motivating Examples nella documentazione Notebook Jupyter.

Altri esempi di equazioni di allineamento sono disponibili qui Aligning several equations

Problemi correlati