Jak pisać LaTeX w notebooku IPython?
Czy ktoś może podzielić się sposobem, jak napisać kod LaTeX w notebooku IPython?
9 answers
To pojawiło się podczas poszukiwań, które właśnie robiłem, znalazłem lepsze rozwiązanie przy kolejnych poszukiwaniach, Notebooki IPython mają teraz %%latex
magię, która sprawia, że cała komórka jest lateksowa Bez $$
owijki dla każdej linii.
Zobacz notebook tour dla Rich Display System
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-18 12:36:50
Ipython notebook używa MathJax do renderowania lateksu wewnątrz html/markdown. Po prostu włóż swoją lateksową matmę do środka $$
.
$$c = \sqrt{a^2 + b^2}$$
Możesz też wyświetlić wynik LaTeX / Math z Pythona, jak widać na końcu notebooka tour :
from IPython.display import display, Math, Latex
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 14:38:10
Odniesienia Do Lateksu:
Blog Udacity ma Najlepsze podkład lateksowy widziałem: to wyraźnie pokazuje, jak używać poleceń LaTeX w łatwy do odczytania i łatwy do zapamiętania sposób !! wysoce zalecane .
Ten Link ma doskonałe przykłady wyświetlanie zarówno kodu, jak i renderowanego wyniku !
Możesz użyć tej strony, aby szybko nauczyć się pisać LaTeX na przykładzie.
A oto krótki odnośnik do LaTeX polecenia/symbole.
LaTeX jest jednym z najbardziej popularnych LaTeX-ów na świecie.]}
Przykłady dla komórek Markdown:
Inline, wrap in: $
The equation used depends on whether the the value of
$Vmax$ is R, G, or B.
Block, wrap in: $$
$$H← 0 + \frac{30(G−B)}{Vmax−Vmin} , if Vmax = R$$
Block, wrap in: \begin{equation}
i \end{equation}
\begin{equation}
H← 60 + \frac{30(B−R)}{Vmax−Vmin} , if Vmax = G
\end{equation}
Block, wrap in: \begin{align}
i \end{align}
\begin{align}
H←120 + \frac{30(R−G)}{Vmax−Vmin} , if Vmax = B
\end{align}
Przykłady dla komórek kodu:
LaTex Komórka: %%latex
magiczne polecenie zamienia całą komórkę w lateksową komórkę
%%latex
\begin{align}
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{align}
Obiekt matematyczny aby przekazać surowy łańcuch lateksowy :
from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
Klasa Latex . Uwaga: ograniczniki należy uwzględnić samodzielnie. Pozwala to na użycie innych trybów LaTeX, takich jak eqnarray
:
from IPython.display import Latex
Latex(r"""\begin{eqnarray}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{eqnarray}""")
Docs for komórki surowe:
(sorry, no example here, just the docs)
Komórki surowe Surowy komórki zapewniają miejsce, w którym można bezpośrednio zapisywać dane wyjściowe. Nieprzetworzone komórki nie są oceniane przez notatnik. Po przejściu przez
nbconvert
, surowe komórki przybywają w formacie docelowym niezmodyfikowanym. Na przykład, pozwala to wpisać pełny Latex do nieprzetworzonej komórki, która będzie renderowana przez LaTeX po konwersji przeznbconvert
.
Dodatkowa Dokumentacja:
Dla komórek Markdown, cytowanych z Jupyter Notebook docs :
Wewnątrz Komórki Markdown, można również włączyć matematykę w prosty sposób, używając standardowej notacji lateksowej: $...$ dla matematyki inline i $$...$ $ za wyświetloną matematykę . Gdy komórka Markdown jest wykonywana, fragmenty LaTeX ' a są automatycznie renderowane na wyjściu HTML jako równania z typografią wysokiej jakości. Jest to możliwe dzięki MathJax, który obsługuje duży podzbiór funkcji LaTeX
Standardowe środowiska matematyczne zdefiniowane przez LaTeX działa również AMS-LaTeX (pakiet amsmath), np. \begin{equation}...\end{equation} i \ begin{align}...\ end{align=. Nowe makra LaTeX mogą być zdefiniowane za pomocą standardowych metod, takich jak \newcommand, umieszczając je w dowolnym miejscu między ogranicznikami matematycznymi w komórce znaczników. Definicje te są następnie dostępne przez resztę sesji IPython.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-18 19:33:53
Użyj $$, jeśli chcesz, aby Twoja matematyka wyświetlała się w jednej linii, np.
$$a = b + c$$ (line break after the equation)
Jeśli nie potrzebujesz podziału linii po matematyce, użyj pojedynczego znaku dolara$, np.
$a = b + c$ (no line break after the equation)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-25 19:18:48
Możesz wybrać komórkę, która ma być markdown, a następnie napisać kod latex, który zostanie zinterpretowany przez mathjax, jak mówi jeden z responder ' ów powyżej.
Alternatywnie, sekcja Latex w samouczku notebooka iPython dobrze to wyjaśnia.
Możesz albo zrobić:
from IPython.display import Latex
Latex(r"""\begin{eqnarray}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{eqnarray}""")
Lub zrób to:
%%latex
\begin{align}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0
\end{align}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-02 21:06:33
Nie mogę zaprzeczyć, że nie jestem stronniczy, ale wolę używać prettyPy zamiast wypisywać pełne wyrażenia Latexowe.
Przykład:
Granted, sympy jest świetną alternatywą i chociaż prettyPy nie pozwala na ewaluację wyrażeń, inicjalizacja zmiennych nie jest wymagana.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-17 01:50:29
Ponieważ nie byłem w stanie użyć wszystkich poleceń latex w kodzie nawet po użyciu słowa kluczowego % % latex lub $..$ limiter, zainstalowałem nbextensions przez które mogłem używać poleceń latex w Markdown. Po wykonaniu instrukcji tutaj: https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md a następnie ponownie uruchomić Jupyter i localhost: 8888/nbextensions, a następnie aktywować "Latex Environment for Jupyter" , mogłem uruchomić wiele Latex polecenia. Przykłady są tutaj: https://rawgit.com/jfbercher/latex_envs/master/doc/latex_env_doc.html
\section{First section}
\textbf{Hello}
$
\begin{equation}
c = \sqrt{a^2 + b^2}
\end{equation}
$
\begin{itemize}
\item First item
\item Second item
\end{itemize}
\textbf{World}
Jak widzisz, nadal nie jestem w stanie użyć opakowania. Ale może w przyszłości zostanie to poprawione.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-07 10:19:01
Odpowiedź udzielona przez minrk (uwzględniona dla kompletności) jest dobra, ale jest inny sposób, który podoba mi się jeszcze bardziej.
Możesz również renderować całą komórkę jako LaTeX
, wpisując %%latex
jako pierwszą linię w komórce tekstowej. To jest przydatne, jeśli
- chcesz więcej kontroli,
- chcesz czegoś więcej niż tylko środowiska matematycznego,
- lub jeśli zamierzasz napisać dużo matematyki w jednej komórce.
Minrk 's odpowiedź:
IPython zeszyt wykorzystuje MathJax do renderowania LaTeX wewnątrz html / markdown. Po prostu włóż swoją lateksową matmę do środka$$
.$$c = \sqrt{a^2 + b^2}$$
Lub możesz wyświetlić wyjście LaTeX / Math z Pythona, jak widać w kierunku koniec notatnika tour :
from IPython.display import display, Math, Latex display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:24
Jeśli twoim głównym celem jest matematyka, SymPy zapewnia doskonałe podejście do funkcjonalnych wyrażeń latexowych, które wyglądają świetnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-22 21:58:49