IPython NotebookにLaTeXコードを表示するにはどうすればいいですか?
これは私が今行っていた検索で思いつきました。さらに検索することでより良い解決策を見つけました。IPythonノートブックは%%latex
ラッパーなしでセル全体をラテックスにする$$
マジックを持っています。
Rich Display System のノートブックツアーを参照してください。
Udacityのブログには Best LaTeX Primerがあります:LaTeXコマンドの使用方法を明確に示しています読みやすく、マナーも覚えやすい!! 強くお勧めします。
このリンクには優れた例がありますコードとレンダリング結果の両方を表示しています!
このサイトを使用して、LaTeXの例をどのように書くかをすばやく学ぶことができます。
そして、ここに簡単な LaTeXのリファレンス コマンド/シンボルがあります。
インライン、ラップ:$
The equation used depends on whether the the value of
$Vmax$ is R, G, or B.
ブロック、ラップ:$$
$$H← 0 + \frac{30(G−B)}{Vmax−Vmin} , if Vmax = R$$
ブロック、ラップ:\begin{equation}
および\end{equation}
\begin{equation}
H← 60 + \frac{30(B−R)}{Vmax−Vmin} , if Vmax = G
\end{equation}
ブロック、ラップ:\begin{align}
および\end{align}
\begin{align}
H←120 + \frac{30(R−G)}{Vmax−Vmin} , if Vmax = B
\end{align}
LaTex Cell:%%latex
magicコマンドは、セル全体をに変換しますLaTeX Cell
%%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}
Mathオブジェクト raw LaTeX string :
from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
ラテックスクラス。注:区切り文字を自分で含める必要があります。これにより、eqnarray
などの他のLaTeXモードを使用できます。
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}""")
(申し訳ありませんが、ここでは例はありません。ドキュメントのみです)
生セル生セルは、出力を直接書き込むことができる場所を提供します。生のセルはノートブックによって評価されません。
nbconvert
を通過すると、未加工のセルは変更されずに宛先形式で到着します。たとえば、これにより完全なLaTeXを生のセルに入力できます。これは、nbconvert
による変換後にのみLaTeXによってレンダリングされます。
Jupyter Notebook docs から引用したMarkdown Cellsの場合:
Markdownセル内には、標準のLaTeX表記を使用して、簡単な方法で数学を含めることもできます。インライン数学の場合は$...$および $$ ...表示された数学の$$。 Markdownセルが実行されると、LaTeXの部分は、高品質の文字体裁の方程式としてHTML出力に自動的にレンダリングされます。これは、LaTeX機能の大規模なサブセットをサポートするMathJaxによって可能になりました
\begin{equation}...\end{equation}、および\begin{align}...\end{align}。新しいLaTeXマクロは、\ newcommandなどの標準的な方法を使用して、Markdownセルの数学区切り記号の間の任意の場所にマクロを配置することで定義できます。これらの定義は、IPythonセッションの残りの部分で利用できます。
数学を単一行に表示する場合は、$$を使用します。たとえば、
$$a = b + c$$ (line break after the equation)
数学の後に改行が必要ない場合は、シングルドル記号$を使用してください。
$a = b + c$ (no line break after the equation)
マークダウンするセルを選択してから、mathjaxによって解釈されるラテックスコードを書くことができます。
別の方法として、iPythonノートブックチュートリアルのLatexセクションでこれについて説明しています。
どちらでもできます。
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}""")
またはこれを行います。
%%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}
これ以上の情報が見つかりました link
%% latexキーワードや$ .. $リミッタを使用した後でも、Code内のすべてのlatexコマンドを使用できなかったので、Markdownでlatexコマンドを使用できるようにするためのnbextensionsをインストールしました。ここでの指示に従った後: https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md そしてJupyterを再起動してからlocalhostを起動してからアクティブにする"Jupyterのためのラテックス環境"、私は多くのラテックスコマンドを実行することができました。例はここにあります: 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}
あなたが見るように、私はまだusepackageを使うことができません。しかし、多分それは将来改善されるでしょう。
minrk (完全性のために含まれています)によって与えられる答えは良いです、しかし私がさらにもっと好きな別の方法があります。
テキストセルの最初の行に%%latex
を入力して、セル全体をLaTeX
としてレンダリングすることもできます。あなたにはこれは便利です
minrk の答え:
IPythonノートブックは MathJax を使ってLaTeXをhtml/markdownの中にレンダリングします。 LaTeXの数学を
$$
の中に入れるだけです。$$c = \sqrt{a^2 + b^2}$$
あるいは、 ノートブックツアー の終わりに向かって見られるように、PythonからLaTeX/Mathの出力を表示することができます。
from IPython.display import display, Math, Latex display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
マークダウンセルでLaTeX構文を直接使用するとうまくいきます。 Jypiter 4.4.0を使用しています。
%%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}
レンダリング先:
あなたの主な目的が数学をすることであるならば、SymPyは 優れたアプローチ 見栄えのする機能的なラテックス表現に/を提供します。
Jupyter Notebooksを使用しています。書かなければなりませんでした
%%latex
$sin(x)/x$
laTexフォントを取得します。
私はいつの日かcolabを使ってこの問題に出会いました。そして、私は印刷の前にこのコードを実行することが最も苦痛のない方法だと思います。その時すべてが魅力のように機能します。
from IPython.display import Math, HTML
def load_mathjax_in_cell_output():
display(HTML("<script src='https://www.gstatic.com/external_hosted/"
"mathjax/latest/MathJax.js?config=default'></script>"))
get_ipython().events.register('pre_run_cell', load_mathjax_in_cell_output)
import sympy as sp
sp.init_printing()
結果は次のようになります。