# HG changeset patch # User J. H. Palmieri # Date 1339553037 25200 # Node ID d6643504ea507b36d24058701f91eac791ceb855 # Parent b348b59c85ffd410fcdb36dbe010f7a73954cb06 MathJax: fix doctests, tutorial diff --git a/doc/de/tutorial/latex.rst b/doc/de/tutorial/latex.rst --- a/doc/de/tutorial/latex.rst +++ b/doc/de/tutorial/latex.rst @@ -29,33 +29,28 @@ grundsätzlichen Methoden in Sage ansieh mit dem ``latex()``-Befehl aus und fügen Sie es in Ihr Dokument ein. #. Die Notebook Schnittstelle ist konfiguriert - `jsMath `_ + `MathJax `_ zu nutzen um mathematische Ausdrücke im Browser darzustellen. - jsMath ist eine Kollektion aus JavaScript-Routinen und + MathJax ist eine Kollektion aus JavaScript-Routinen und zugehörigen Schriftarten. Es ist also nichts zusätzlich einzustellen um mathematische Ausdrücke in Ihrem Browser anzuzeigen, wenn Sie das Sage-Notebook nutzen. - jsMath wurde entwickelt um einen großen, aber nicht vollständigen + MathJax wurde entwickelt um einen großen, aber nicht vollständigen Teil von TeX darstellen zu können. Es gibt keine Unterstützung für Dinge, wie komplizierte Tabellen, Kapiteleinteilung oder Dokument Management, da es für genaues Darstellen von TeX Ausdrücken konzipiert wurde. Die nahtlose Darstellung von mathematischen Ausdrücken im Sage Notebook wird durch - Konvertierung der ``latex()``-Darstellung in jsMath + Konvertierung der ``latex()``-Darstellung in MathJax gewährleistet. - Da jsMath seine eigenen skalierbaren Schriftarten nutzt, ist es + Da MathJax seine eigenen skalierbaren Schriftarten nutzt, ist es anderen Methoden überlegen, die auf Konvertierung in kleine Bilder beruhen. - jsMath wird möglicherweise von MathJAX abgelöst werden, einer - ähnlichen Technik, die vom gleichen Author stammt und eine - breite Unterstützung von Technikern und professionellen - Vereinen hat. - #. Sollte in der Sage Kommandozeile oder im Notebook mehr - LaTeX-Code vorkommen als jsMath verarbeiten kann, kann eine + LaTeX-Code vorkommen als MathJax verarbeiten kann, kann eine systemweite Installation von LaTeX aushelfen. Sage beinhaltet fast alles, das Sie brauchen um Sage weiter zu entwickeln und zu nutzen. Eine Ausnahme hierzu ist TeX selbst. In diesen @@ -71,7 +66,7 @@ Hier führen wir einige grundlegenden Fu sage: latex(integrate(z^4, z)) \frac{1}{5} \, z^{5} sage: latex('a string') - \verb|a|\phantom{x}\verb|string| + \verb|a|\phantom{\verb!x!}\verb|string| sage: latex(QQ) \Bold{Q} sage: latex(matrix(QQ, 2, 3, [[2,4,6],[-1,-1,-1]])) @@ -80,25 +75,24 @@ Hier führen wir einige grundlegenden Fu -1 & -1 & -1 \end{array}\right) -Grundlegende jsMath Funktionen gibt es im Notebook weitgehend automatisch, -aber wir können es teilweise mit Hilfe der ``JSMath`` Klasse demonstrieren. +Grundlegende MathJax Funktionen gibt es im Notebook weitgehend automatisch, +aber wir können es teilweise mit Hilfe der ``MathJax`` Klasse demonstrieren. Die ``eval`` Funktion dieser Klasse konvertiert ein Sage-Objekt in seine LaTeX-Darstellung und dann in HTML mit der CSS ``math`` Klasse, -die dann jsMath verwendet. :: +die dann MathJax verwendet. :: - sage: from sage.misc.latex import JSMath - sage: js = JSMath() + sage: from sage.misc.latex import MathJax + sage: mj = MathJax() sage: var('z') z - sage: js(z^12) -
\newcommand{\Bold}[1]{\mathbf{#1}}z^{12}
- sage: js(QQ) -
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Q}
- sage: js(ZZ[x]) -
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Z}[x]
- sage: js(integrate(z^4, z)) -
\newcommand{\Bold}[1]{\mathbf{#1}}\frac{1}{5} \, z^{5}
- + sage: mj(z^12) + + sage: mj(QQ) + + sage: mj(ZZ[x]) + + sage: mj(integrate(z^4, z)) + Grundlegende Nutzung ==================== @@ -120,30 +114,30 @@ Anzeigeprogramm aufgerufen wird, kann an :ref:`sec-custom-processing`). Im Notebook schafft der ``view(foo)`` Befehl die nötige Kombination -von HTML und CSS sodass jsMath die LaTeX Darstellung im Arbeitsblatt +von HTML und CSS sodass MathJax die LaTeX Darstellung im Arbeitsblatt anzeigt. Für den Anwender erstellt er einfach eine schön formatierte Ausgabe, die sich von der normalen ASCII Ausgabe aus Sage unterscheidet. Nicht jedes mathematische Objekt in Sage hat eine -LaTeX-Darstellung, die die eingeschränkten Möglichkeiten von jsMath -unterstützt. In diesen Fällen kann die jsMath Darstellung umgangen +LaTeX-Darstellung, die die eingeschränkten Möglichkeiten von MathJax +unterstützt. In diesen Fällen kann die MathJax Darstellung umgangen werden, und stattdessen die systemweite TeX-Installation aufgerufen werden. Dessen Ausgabe kann dann als Bild im Arbeitsblatt angezeigt werden. Die Einstellungen und Auswirkungen dieses Prozesses wird im Kapitel :ref:`sec-custom-generation` dargestellt. Der interne ``pretty_print()`` Befehl zeigt die Konvertierung von Sage -Objekten in HTML Code der jsMath nutzt im Notebook. :: +Objekten in HTML Code der MathJax nutzt im Notebook. :: sage: from sage.misc.latex import pretty_print sage: pretty_print(x^12) - \newcommand{\Bold}[1]{\mathbf{#1}}x^{12} + sage: pretty_print(integrate(sin(x), x)) - \newcommand{\Bold}[1]{\mathbf{#1}}-\cos\left(x\right) + Das Notebook hat zwei weitere Möglichkeiten TeX zu nutzen. Die erste ist der "Typeset"-Knopf über der ersten Zelle eines Arbeitsblatts, rechts von den vier Drop-Down-Boxen. Ist er ausgewählt werden die -Ausgaben aller folgenden Berechnungen von jsMath +Ausgaben aller folgenden Berechnungen von MathJax interpretiert. Beachten Sie, dass dieser Befehl nicht rückwirkend ist -- alle vorher berechneten Zellen werden nicht neu berechnet. Im Grunde ist der "Typeset"-Knopf gleichzusetzen mit dem Aufruf des @@ -157,7 +151,7 @@ geöffnet. Dieser erlaubt die Eingabe vo Text mit einem WYSIWYG-Editor. Es ist also möglich den so formatierten Text als Kommentar in einem Arbeitsblatt unterzubringen. Text den Sie hier zwischen ``$...$`` oder ``$$...$$`` eingeben wird ebenfalls von -jsMath in einer "inline" bzw. "display math" Umgebung gesetzt. +MathJax in einer "inline" bzw. "display math" Umgebung gesetzt. .. _sec-custom-generation: @@ -210,18 +204,18 @@ integriert ist. :: sage: latex(QQ) \Bold{Q} - sage: from sage.misc.latex import JSMath - sage: js=JSMath() - sage: js(QQ) -
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Q}
+ sage: from sage.misc.latex import MathJax + sage: mj=MathJax() + sage: mj(QQ) + sage: latex.blackboard_bold(True) - sage: js(QQ) -
\newcommand{\Bold}[1]{\mathbb{#1}}\Bold{Q}
+ sage: mj(QQ) + sage: latex.blackboard_bold(False) Dank der Erweiterbarkeit von TeX können Sie selbst Makros und Pakete einbinden. Individuelle Makros können hinzugefügt werden, die dann von -jsMath als TeX-Schnipsel interpretiert werden. :: +MathJax als TeX-Schnipsel interpretiert werden. :: sage: latex.extra_macros() '' @@ -232,13 +226,13 @@ jsMath als TeX-Schnipsel interpretiert (x, y) sage: latex(x+y) x + y - sage: from sage.misc.latex import JSMath - sage: js=JSMath() - sage: js(x+y) -
\newcommand{\Bold}[1]{\mathbf{#1}}\newcommand{\foo}{bar}x + y
+ sage: from sage.misc.latex import MathJax + sage: mj=MathJax() + sage: mj(x+y) + Zusätzliche Makros, die so hinzugefügt wurden, werden auch vom -systemweiten TeX genutzt, wenn jsMath an seine Grenzen gestoßen ist. +systemweiten TeX genutzt, wenn MathJax an seine Grenzen gestoßen ist. Der Befehl ``latex_extra_preamble`` kann genutzt werden um eine Präambel eines kompletten LaTeX Dokuments zu erzeugen, das folgende Beispiel zeigt wie. Beachten Sie wiederrum die doppelten Backslashes @@ -304,7 +298,7 @@ Anpassen der LaTeX-Verarbeitung Es ist möglich zu entscheiden welche Variante von TeX für einen systemweiten Aufruf genutzt werden soll, und somit auch wie die Ausgabe aussehen soll. Ebenso ist es möglich zu beeinflussen, ob das -Notebook jsMath oder die systemweite LaTeX Installation nutzt. +Notebook MathJax oder die systemweite LaTeX Installation nutzt. Der Befehl ``latex.engine()`` entscheidet, ob die systemweiten Anwendungen ``latex``, ``pdflatex`` oder ``xelatex`` genutzt werden @@ -317,32 +311,32 @@ Datei erzeugt, die mit dem Standard-PDF- wird. (acrobat, okular, evince, etc.). Im Notebook kann es nötig sein, dem System die Entscheidung -abzunehmen, ob jsMath für einige TeX-Schnipsel, oder das systemweite +abzunehmen, ob MathJax für einige TeX-Schnipsel, oder das systemweite LaTeX für kompliziertere Ausdrücke genutzt werden soll. Es gibt eine Liste von Befehlen, die wenn einer von ihnen in einem Stück LaTeX-Code erkannt wird, die Ausgabe von LaTeX (oder welcher Prozessor auch immer -durch ``latex.engine()`` gesetzt ist) statt von jsMath erstellen +durch ``latex.engine()`` gesetzt ist) statt von MathJax erstellen lässt. Diese Liste wird verwaltet durch die Befehle -``latex.add_to_jsmath_avoid_list`` und -``latex.jsmath_avoid_list``. :: +``latex.add_to_mathjax_avoid_list`` und +``latex.mathjax_avoid_list``. :: - sage: latex.jsmath_avoid_list([]) - sage: latex.jsmath_avoid_list() + sage: latex.mathjax_avoid_list([]) + sage: latex.mathjax_avoid_list() [] - sage: latex.jsmath_avoid_list(['foo', 'bar']) - sage: latex.jsmath_avoid_list() + sage: latex.mathjax_avoid_list(['foo', 'bar']) + sage: latex.mathjax_avoid_list() ['foo', 'bar'] - sage: latex.add_to_jsmath_avoid_list('tikzpicture') - sage: latex.jsmath_avoid_list() + sage: latex.add_to_mathjax_avoid_list('tikzpicture') + sage: latex.mathjax_avoid_list() ['foo', 'bar', 'tikzpicture'] - sage: latex.jsmath_avoid_list([]) - sage: latex.jsmath_avoid_list() + sage: latex.mathjax_avoid_list([]) + sage: latex.mathjax_avoid_list() [] Nehmen wir an ein LaTeX-Ausdruck wurde im Notebook durch ``view()`` oder während aktiviertem "Typeset" Knopf erzeugt. Und dann wird festgestellt, dass er die externe LaTeX-Installation benötigt, weil -er in der ``jsmath_avoid_list`` steht. Der Ausdruck wird nun vom +er in der ``mathjax_avoid_list`` steht. Der Ausdruck wird nun vom ausgewählten (durch ``latex.engine()``) Prozessor erzeugt, und statt der Anzeige in einem externen Programm (was in der Kommandozeile passieren würde) wird Sage versuchen das Ergebnis in einem einzigen, @@ -398,7 +392,7 @@ eingestellt sind). 'latex.add_to_preamble("\\usepackage[matrix,arrow,curve,cmtip]{xy}")', and try viewing again -- it should work in the command line but not from the notebook. In the notebook, run - 'latex.add_to_jsmath_avoid_list("xymatrix")' and try again -- you + 'latex.add_to_mathjax_avoid_list("xymatrix")' and try again -- you should get a picture (a part of the diagram arising from a filtered chain complex). @@ -430,9 +424,9 @@ erzeugt wird. Es ist also ratsam, den La erfolgreich eine .pdf Datei mit einem Bild vom kompletten `K_4` Graphen erzeugen. -Um das Gleiche im Notebook zu erstellen, müssen Sie jsMath +Um das Gleiche im Notebook zu erstellen, müssen Sie MathJax für die Verarbeitung von LaTeX-Code ausschalten, indem Sie -die "jsmath avoid list" benutzen. Graphen werden in einer +die "mathjax avoid list" benutzen. Graphen werden in einer ``tikzpicture`` Umgebung eingebunden, das ist also eine gute Wahl für die Zeichenkette für die Ausschlussliste. Jetzt sollte ``view(graphs.CompleteGraph(4))`` in einem Arbeitsblatt @@ -447,8 +441,8 @@ mittels LaTeX in einem Notebook darzuste sage: latex.extra_preamble() # random - depends on system's TeX installation '\\usepackage{tikz}\n\\usepackage{tkz-graph}\n\\usepackage{tkz-berge}\n' sage: latex.engine('pdflatex') - sage: latex.add_to_jsmath_avoid_list('tikzpicture') - sage: latex.jsmath_avoid_list() + sage: latex.add_to_mathjax_avoid_list('tikzpicture') + sage: latex.mathjax_avoid_list() ['tikzpicture'] Beachten Sie, dass es eine Vielzahl von Optionen gibt, die die @@ -494,7 +488,7 @@ aus den anderen berechnen zu lassen. Sie tex2sws beginnt mit einem LaTeX-Dokument, aber definiert einige zusätzliche Umgebungen für Sage Code. Wenn es richtig genutzt wird, ist das Ergebnis ein -Sage Arbeitsblatt mit korrekt von jsMath formatiertem Inhalt und dem dazugehörigen +Sage Arbeitsblatt mit korrekt von MathJax formatiertem Inhalt und dem dazugehörigen Sage Code in den Eingabezellen. Ein Lehrbuch oder Artikel kann also mit Sage Code Blöcken in LaTeX gesetzt werden und es kann "live" das ganze Dokument in ein Sage Arbeitsblatt überführt werden; unter Beibehaltung der Sage Code Blöcke und mit schön formatiertem mathematischen Text. diff --git a/doc/en/tutorial/latex.rst b/doc/en/tutorial/latex.rst --- a/doc/en/tutorial/latex.rst +++ b/doc/en/tutorial/latex.rst @@ -31,34 +31,24 @@ employed by Sage. of the object and cut/paste it into your document. #. The notebook interface is configured to use - `jsMath `_ + `MathJax `_ to render mathematics - cleanly in a web browser. jsMath is a collection of JavaScript routines - and associated fonts. Typically, these fonts live on a server and are - sent to a browser along with the web page that displays them. In the - case of Sage, the notebook is always connected to a server used to - execute the Sage commands, and this server also provides the necessary - jsMath fonts. So there is nothing extra to set up to have typeset - mathematics in your web browser when you use the Sage notebook. - - jsMath is implemented to be able to render a large, but - not totally complete, subset of TeX. It has no support for + cleanly in a web browser. MathJax is an open source JavaScript + display engine for mathematics that works in all modern + browsers. It is able to render a large, but not totally + complete, subset of TeX. It has no support for things like complicated tables, sectioning or document management, as it is oriented towards accurately rendering "snippets" of TeX. Seemingly automatic rendering of math in the notebook is provided by converting the ``latex()`` representation of an object (as described above) into a form of - HTML palatable to jsMath. + HTML palatable to MathJax. - Since jsMath uses its own scalable fonts, it is superior to other methods that + Since MathJax uses its own scalable fonts, it is superior to other methods that rely on converting equations, or other snippets of TeX, into static inline images. - jsMath is likely to be superseded by MathJAX, a similar technology - from the same author, which has broad support from technical publishers - and professional societies. - #. At the Sage command-line, or in the notebook when LaTeX code is - more involved than jsMath can handle, a system-wide installation of + more involved than MathJax can handle, a system-wide installation of LaTeX can be employed. Sage includes almost everything you need to build and use Sage, but a significant exception is TeX itself. So in these situations you need to have TeX installed, along with some associated @@ -73,7 +63,7 @@ Here we demonstrate some basic uses of t sage: latex(integrate(z^4, z)) \frac{1}{5} \, z^{5} sage: latex('a string') - \verb|a|\phantom{x}\verb|string| + \verb|a|\phantom{\verb!x!}\verb|string| sage: latex(QQ) \Bold{Q} sage: latex(matrix(QQ, 2, 3, [[2,4,6],[-1,-1,-1]])) @@ -82,24 +72,24 @@ Here we demonstrate some basic uses of t -1 & -1 & -1 \end{array}\right) -Basic jsMath functionality is largely automatic in the notebook, but -we can partially demonstrate this support with the ``JSMath`` class, +Basic MathJax functionality is largely automatic in the notebook, but +we can partially demonstrate this support with the ``MathJax`` class, The ``eval`` function of this class converts a Sage object to its LaTeX representation and then wraps it in HTML that invokes the CSS -"math" class, which then employs jsMath. :: +"math" class, which then employs MathJax. :: - sage: from sage.misc.latex import JSMath - sage: js = JSMath() + sage: from sage.misc.latex import MathJax + sage: mj = MathJax() sage: var('z') z - sage: js(z^12) -
\newcommand{\Bold}[1]{\mathbf{#1}}z^{12}
- sage: js(QQ) -
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Q}
- sage: js(ZZ[x]) -
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Z}[x]
- sage: js(integrate(z^4, z)) -
\newcommand{\Bold}[1]{\mathbf{#1}}\frac{1}{5} \, z^{5}
+ sage: mj(z^12) + + sage: mj(QQ) + + sage: mj(ZZ[x]) + + sage: mj(integrate(z^4, z)) + Basic Use ========= @@ -121,12 +111,12 @@ is used, and therefore the nature of the viewer, can be customized (see :ref:`sec-custom-processing`). In the notebook, the ``view(foo)`` command creates the -appropriate combination of HTML and CSS so that jsMath will +appropriate combination of HTML and CSS so that MathJax will render the LaTeX representation properly in the worksheet. To the user, it simply creates a nicely formatted version of the output, distinct from the default ASCII output of Sage. Not every mathematical object in Sage has a LaTeX representation amenable to -the limited capabilities of jsMath. In these cases, the jsMath +the limited capabilities of MathJax. In these cases, the MathJax interpretation can be bypassed, the system-wide TeX called instead, and the subsequent output converted to a graphic image for display in the worksheet. Affecting and controlling this @@ -134,20 +124,20 @@ process is discussed below in the sectio :ref:`sec-custom-generation`. The internal ``pretty_print()`` command illustrates the -conversion of Sage objects to HTML code that employs jsMath in +conversion of Sage objects to HTML code that employs MathJax in the notebook. :: sage: from sage.misc.latex import pretty_print sage: pretty_print(x^12) - \newcommand{\Bold}[1]{\mathbf{#1}}x^{12} + sage: pretty_print(integrate(sin(x), x)) - \newcommand{\Bold}[1]{\mathbf{#1}}-\cos\left(x\right) + The notebook has two other features for employing TeX. The first is the "Typeset" button just above the first cell of a worksheet, to the right of the four drop-down boxes. When checked, any subsequent evaluations of cells will result in -output interpreted by jsMath, hence of a typeset quality. Note +output interpreted by MathJax, hence of a typeset quality. Note that this effect is not retroactive -- previously evaluated cells need to be re-evaluated. Essentially, checking the "Typeset" button is identical to wrapping the output of each cell in the @@ -161,7 +151,7 @@ allows for the entry of text, using a WS HTML and CSS command for styled text. So it is possible to add formatted text as commentary within a worksheet. However, text between pairs of dollar signs, or pairs of double dollar signs is -interpreted by jsMath as inline or display math (respectively). +interpreted by MathJax as inline or display math (respectively). .. _sec-custom-generation: @@ -204,26 +194,26 @@ The ``latex.vector_delimiters`` method w The way common rings and fields (integers, rational, reals, etc.) are typeset can be controlled by the ``latex.blackboard_bold`` -method. These sets are by default typset in bold, but may +method. These sets are by default typeset in bold, but may optionally be written in a double-struck fashion as sometimes done in written work. This is accomplished by redefining the ``\Bold{}`` macro which is built-in to Sage. :: sage: latex(QQ) \Bold{Q} - sage: from sage.misc.latex import JSMath - sage: js=JSMath() - sage: js(QQ) -
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Q}
+ sage: from sage.misc.latex import MathJax + sage: mj=MathJax() + sage: mj(QQ) + sage: latex.blackboard_bold(True) - sage: js(QQ) -
\newcommand{\Bold}[1]{\mathbb{#1}}\Bold{Q}
+ sage: mj(QQ) + sage: latex.blackboard_bold(False) It is possible to take advantage of the extensible nature of tex by adding in new macros and new packages. First, individual macros can be added so that they are used when -jsMath interprets a snippet of TeX in the notebook. :: +MathJax interprets a snippet of TeX in the notebook. :: sage: latex.extra_macros() '' @@ -234,14 +224,14 @@ jsMath interprets a snippet of TeX in th (x, y) sage: latex(x+y) x + y - sage: from sage.misc.latex import JSMath - sage: js=JSMath() - sage: js(x+y) -
\newcommand{\Bold}[1]{\mathbf{#1}}\newcommand{\foo}{bar}x + y
+ sage: from sage.misc.latex import MathJax + sage: mj=MathJax() + sage: mj(x+y) + Additional macros added this way will also be used in the event that the system-wide version of TeX is called on -something larger than jsMath can handle. The command +something larger than MathJax can handle. The command ``latex_extra_preamble`` is used to build the preamble of a complete LaTeX document, so the following illustrates how this is accomplished. As usual note the need for the @@ -312,7 +302,7 @@ Customizing LaTeX Processing It is also possible to control which variant of TeX is used for system-wide invocations, thus also influencing the nature of the output. Similarly, it is also possible to control -when the notebook will use jsMath (simple TeX snippets) +when the notebook will use MathJax (simple TeX snippets) or the system-wide TeX installation (more complicated LaTeX expressions). @@ -328,33 +318,33 @@ call your system's utility for displayin okular, evince, etc.). In the notebook, it is necessary to intervene in the decision as -to whether jsMath will interpret a snippet of TeX, or +to whether MathJax will interpret a snippet of TeX, or if the LaTeX is complicated enough that the system-wide installation of TeX should do the work instead. The device is a list of strings, which if any one is discovered in a piece of LaTeX code signal the notebook to bypass -jsMath and invoke latex (or whichever executable is set by the +MathJax and invoke latex (or whichever executable is set by the ``latex.engine()`` command). This list is managed by the -``latex.add_to_jsmath_avoid_list`` and -``latex.jsmath_avoid_list`` commands. :: +``latex.add_to_mathjax_avoid_list`` and +``latex.mathjax_avoid_list`` commands. :: - sage: latex.jsmath_avoid_list([]) - sage: latex.jsmath_avoid_list() + sage: latex.mathjax_avoid_list([]) + sage: latex.mathjax_avoid_list() [] - sage: latex.jsmath_avoid_list(['foo', 'bar']) - sage: latex.jsmath_avoid_list() + sage: latex.mathjax_avoid_list(['foo', 'bar']) + sage: latex.mathjax_avoid_list() ['foo', 'bar'] - sage: latex.add_to_jsmath_avoid_list('tikzpicture') - sage: latex.jsmath_avoid_list() + sage: latex.add_to_mathjax_avoid_list('tikzpicture') + sage: latex.mathjax_avoid_list() ['foo', 'bar', 'tikzpicture'] - sage: latex.jsmath_avoid_list([]) - sage: latex.jsmath_avoid_list() + sage: latex.mathjax_avoid_list([]) + sage: latex.mathjax_avoid_list() [] Suppose a LaTeX expression is produced in the notebook with ``view()`` or while the "Typeset" button is checked, and then recognized as requiring the external LaTeX -installation through the "jsmath avoid list." Then the selected +installation through the "mathjax avoid list." Then the selected executable (as specified by ``latex.engine()``) will process the LaTeX. However, instead of then spawning an external viewer (which is the command-line behavior), Sage will attempt to @@ -410,7 +400,7 @@ properly. To actually see the examples, 'latex.add_to_preamble("\\usepackage[matrix,arrow,curve,cmtip]{xy}")', and try viewing again -- it should work in the command line but not from the notebook. In the notebook, run - 'latex.add_to_jsmath_avoid_list("xymatrix")' and try again -- you + 'latex.add_to_mathjax_avoid_list("xymatrix")' and try again -- you should get a picture (a part of the diagram arising from a filtered chain complex). @@ -443,8 +433,8 @@ should succeed at the Sage command-line with an appropriate image of the complete graph `K_4`. For a similar experience in the notebook, it is necessary -to disable jsMath processing of the LaTeX code for the graph -by using the "jsmath avoid list." Graphs are included with a +to disable MathJax processing of the LaTeX code for the graph +by using the "mathjax avoid list." Graphs are included with a ``tikzpicture`` environment, so this is a good choice for a string to include in the avoidance list. Now, ``view(graphs.CompleteGraph(4))`` in a worksheet @@ -459,8 +449,8 @@ graphs processed by LaTeX in the noteboo sage: latex.extra_preamble() # random - depends on system's TeX installation '\\usepackage{tikz}\n\\usepackage{tkz-graph}\n\\usepackage{tkz-berge}\n' sage: latex.engine('pdflatex') - sage: latex.add_to_jsmath_avoid_list('tikzpicture') - sage: latex.jsmath_avoid_list() + sage: latex.add_to_mathjax_avoid_list('tikzpicture') + sage: latex.mathjax_avoid_list() ['tikzpicture'] At this point, a command like ``view(graphs.CompleteGraph(4))`` @@ -516,7 +506,7 @@ information. tex2sws begins with a LaTeX document, but defines extra environments for the placement of Sage code. When processed with the right tools, the result is a Sage worksheet, with content -properly formatted for jsMath and the Sage code incorporated as +properly formatted for MathJax and the Sage code incorporated as input cells. So a textbook or article can be authored in LaTeX, blocks of Sage code included, and the whole document can be transformed into a Sage worksheet where the diff --git a/sage/matrix/matrix0.pyx b/sage/matrix/matrix0.pyx --- a/sage/matrix/matrix0.pyx +++ b/sage/matrix/matrix0.pyx @@ -1917,27 +1917,6 @@ cdef class Matrix(sage.structure.element \hline\hline 0 & 0 & 0 & 0 \end{array}\right) - - Note that size-zero subdivisions are ignored in the notebook:: - - sage: sage.server.support.EMBEDDED_MODE = True - sage: latex(B) - \left(\begin{array}{rr} - \left(\begin{array}{rrr} - 0 & 0 & 0 \\ - 0 & 0 & 0 - \end{array}\right) & \left(\begin{array}{r} - 0 \\ - 0 - \end{array}\right) \\ - \\ - \left(\begin{array}{rrr} - 0 & 0 & 0 - \end{array}\right) & \left(\begin{array}{r} - 0 - \end{array}\right) - \end{array}\right) - sage: sage.server.support.EMBEDDED_MODE = False """ latex = sage.misc.latex.latex matrix_delimiters = latex.matrix_delimiters()