数式 - LaTeXをIPythonノートブックに書き込む方法は?




jupyter tex (6)

LaTeXコードをIPythonノートブックに表示するにはどうしたらいいですか?


LaTeX参考文献:

Udacityのブログには私が見てきたLaTeX入門書があります:LaTeXコマンドを読みやすく、覚えやすい方法で使用する方法を明確に示しています!! 強くお勧めします。

このリンクにはコードとレンダリング結果の両方を示す優れた例があります!
このサイトを使ってLaTeXを例文で書く方法をすぐに学ぶことができます。

LaTeXコマンド/シンボルのクイックリファレンスがここにあります。

要約する:Jupyter / IPythonでLaTeXを示すさまざまな方法:

マークダウンセルのExamples

インライン、折り返し: $

The equation used depends on whether the the value of  
$V​max​​$ is R, G, or B.  

ブロック、折り返し: $$

$$H←  ​​​​​0 ​+​ \frac{​​30(G−B)​​}{Vmax−Vmin}  ​​, if V​max​​ = R$$

ブロック、ラップイン: \begin{equation}\end{equation}

\begin{equation}
H← ​​​60 ​+​ \frac{​​30(B−R)​​}{Vmax−Vmin}  ​​, if V​max​​ = G
\end{equation}

ブロック、折り返し: \begin{align}\end{align}

\begin{align}
H←120 ​+​ \frac{​​30(R−G)​​}{Vmax−Vmin}  ​​, if V​max​​ = B
\end{align}

コード・セルのExamples

LaTex Cell: %%latex magicコマンドは、 セル全体を LaTeXセルに変換します。

%%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}

生のLaTeX文字列に渡す数学オブジェクト

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}""")

未処理のセルのドキュメント

(申し訳ありませんが、ここの例はありません、ドキュメントのみ)

RawセルRawセルは、出力を直接書き込むことができる場所を提供します。 未処理のセルはノートブックで評価されません。 nbconvert通過するnbconvert 、生のセルは未変更の宛先フォーマットで到着します。 たとえば、 完全なLaTeXを生のセル入力することができます。 生のセルは 、変換後にLaTeXによってレンダリングされるだけnbconvert

その他のドキュメント:

Examplesから引用されたMarkdown Cellの場合:

Markdownセル内では、標準のLaTeX表記を使用して、数学を簡単な方法で含めることもできます。インライン数学では$ ... $、表示された数学では$$ ... $$です 。 Markdownセルが実行されると、LaTeXの部分は高品質のタイポグラフィの式としてHTML出力に自動的にレンダリングされます。 これは、LaTeX機能の大きなサブセットをサポートするMathJaxによって可能になりました

\ begin {equation} ... \ end {equation}\ begin {align} ... \ end {align}のように、LaTeXとAMS-LaTeX(amsmathパッケージ)で定義された標準的な数学環境も使えます。 新しいLaTeXマクロは、\ newcommandのような標準的な方法を使って、Markdownセルの数学区切り文字の間のどこにでも置くことによって定義できます。 これらの定義は、残りのIPythonセッションで利用できます。


%% latexキーワードや$ .. $ limiterを使用した後でも、私はCode内のすべてのlatexコマンドを使用できなかったので、Markdownでlatexコマンドを使用できるnbextensionsをインストールしました。 https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.mdの指示に従って、Jupyterを再起動してからlocalhost:8888 / nbextensionsを再起動し、次に「Latex Env​​ironment for Jupyter "、私は多くのLatexコマンドを実行することができました。 例は次のとおりですhttps://rawgit.com/jfbercher/latex_envs/master/doc/latex_env_doc.html : 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を使用することができません。 しかし、将来的には改善されるかもしれない。


(完全性のために含まれている)によって与えられた答えは良いですが、私がさらに好きな別の方法があります。

テキストセルの最初の行に%%latexと入力することで、セル全体をLaTeXとしてレンダリングすることもできます。 これはあなたが

  • よりコントロールしたい、
  • 数学的な環境だけでなく、
  • あなたが1つのセルに数学を書くつもりならば。

の答え:

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'))



数式を1行に表示する場合は、$$を使用します。たとえば、

$$a = b + c$$ (line break after the equation)

数学の後に改行が必要ない場合は、ドル記号$を使用してください(例:

$a = b + c$   (no line break after the equation)

私が偏っていないことを否定することはできませんが、完全なLaTeX式を書くよりもprettyPyを使う方が好きです。

例:

確かにsympyは素晴らしい選択肢ですが、prettyPyでは式の評価ができませんが、変数の初期化は必要ありません。