2015-02-05 6 views
6

Ich möchte, dass meine MathJax-Gleichungen in IPython Notebook links anstatt zentriert angezeigt werden. Dies wird durch eine Kernkonfigurationsoption displayAlign in MathJax wie beschrieben here gesteuert.Wie ändert man die Ausrichtung der angezeigten Gleichungen in IPython Notebook?

Ich habe versucht, diese Option in IPython Notebook einstellen, indem Sie diesen in meine config.js Datei

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

aber es hat keine Wirkung.

Wie kann ich die grundlegenden Konfigurationsoptionen für MathJax Core in IPython Notebook festlegen?

[Update] Ich habe einen Weg gefunden, die funktioniert: die oben genannten Konfigurationszeilen hinzufügen, nicht zu config.js sondern mathjaxutils.js. In meinem Fall (Windows 8) ist diese Datei hier zu finden: C:\Anaconda\Lib\site-packages\IPython\html\static\notebook\js\mathjaxutils‌​.js. Dies ist jedoch keine großartige Lösung, da eine Datei geändert werden muss, die bei der nächsten Aktualisierung von IPython vermutlich überschrieben wird.

[Update] Die von @Ian in den Kommentaren vorgeschlagene Technik funktioniert, aber nur ein Notebook nach dem anderen. Um es zusammenzufassen, habe ich eine Datei my_css.css, deren Inhalt

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

Im Notebook, wenn ich diese Zelle laufen

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

Gleichungen angezeigt haben ausgerichtet sich gelassen zu bekommen, je nach Wunsch.

Ich möchte jedoch, dass dies die Standardeinstellung für alle meine Notebooks ist. Ich habe versucht, diese zu meinen custom.js

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

und für eine gute Maßnahme hat dieses Bild meiner custom.css

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

Aber weder hat keine Wirkung. Wenn es eine Möglichkeit gibt, diese Einstellung zu einem Standard für alle Notizbücher zu machen, ohne die Kern-IPython-Dateien zu ändern, wäre das perfekt.

Antwort

1

Sie könnten versuchen, eine CSS-Datei aufzunehmen. Zum Beispiel zieht this set of notebooksthis css file (siehe die letzte Zelle im Notizbuch), die das displayAlign Tag explizit festlegt, obwohl es es auf center setzt.

0

Verwenden Sie \begin{align} und \end{align}. Dies beantwortet die Frage nicht genau, aber es hat den gewünschten Effekt. Zum Beispiel versuchen:

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

Die oben genau wie das gleiche macht

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

außer dass es gerechtfertigt bleibt.

Dieser Ansatz hat den zusätzlichen Vorteil, dass andere Ausrichtungen hinzugefügt werden können, wie in:

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

Dieser letzte Codeblock ist aus Motivating Examples in den Jupyter Notebook docs.

Weitere Beispiele für Ausrichtungsgleichungen finden Sie hier Aligning several equations