326

IPython ノートブックに LaTeX コードを表示するにはどうすればよいですか?

4

15 に答える 15

304

IPython ノートブックは、MathJaxを使用して、html/markdown 内で LaTeX をレンダリングします。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'))

積分

于 2012-11-04T20:20:55.960 に答える
175

これは、私が行っていた検索で出てきました。さらに検索すると、より良い解決策が見つかりました.IPythonノートブックには、各行%%latexのラッパーなしでセル全体をLatexにする魔法があります.$$

リッチ ディスプレイ システムについては、ノートブック ツアーを参照してください

于 2013-05-21T01:11:53.333 に答える
91

LaTeX リファレンス:

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

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

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


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

Markdown セルの例:

インライン、ラップ:$

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}

コード セルの例:

LaTex Cell: %%latex魔法のコマンドでセル全体を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}

生の LaTeX 文字列で渡すMath オブジェクト:

from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')

ラテックスクラス。注: 区切り文字を自分で含める必要があります。これにより、次のような他の LaTeX モードを使用できます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}""")

生細胞のドキュメント:

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

Raw セル Raw セルは、出力を直接書き込める場所を提供します。生のセルは Notebook によって評価されません。を通過するnbconvertと、未加工のセルは宛先形式が変更されずに到着します。たとえば、これにより、生の cellに完全な LaTeX を入力できます。これは、 による変換後に LaTeX によってのみレンダリングされnbconvertます。

追加のドキュメント:

マークダウン セルの場合、Jupyter Notebook docsから引用:

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

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

于 2017-06-05T18:50:04.217 に答える
24

マークダウンするセルを選択し、レスポンダーの 1 人が上で述べたように、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}

このリンクにある詳細情報

于 2013-12-02T21:06:33.380 に答える
11

%%latex キーワードや $..$ リミッターを使用しても 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

\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 を使用できません。でも今後改善されるかも。

ここに画像の説明を入力

于 2016-03-03T16:56:01.667 に答える
10

Jupyter Notebook での LaTeX の書き方はこちらの記事に書きました。

ドル ($) 記号で囲む必要があります。

  • 左揃えにするには、単一のドル ($) 記号を使用します。

$P(A)=\frac{n(A)}{n(U)}$

  • 中央に揃えるには、2 つのドル ($$) 記号を使用します。

$$P(A)=\frac{n(A)}{n(U)}$$

  • 、およびを使用\limitsして、各標識の上部と下部に制限を追加します。\lim\sum\int

  • バックスラッシュを使用して、数学記号、ラテン語、テキストなどの LaTeX の特殊な単語をエスケープします。

ここに画像の説明を入力

これを試してみてください。

$$\overline{x}=\frac{\sum \limits _{i=1} ^k f_i x_i}{n} \text{, where } n=\sum \limits _{i=1} ^k f_i  $$
  • 行列

ここに画像の説明を入力

  • 区分関数
$$
\begin{align}
\text{Probability density function:}\\
\begin{cases}
\frac{1}{b-a}&\text{for $x\in[a,b]$}\\
0&\text{otherwise}\\
\end{cases}
\\
\text{Cumulative distribution function:}\\
\begin{cases}
0&\text{for $x<a$}\\
\frac{x-a}{b-a}&\text{for $x\in[a,b)$}\\
1&\text{for $x\ge b$}\\
\end{cases}
\end{align}
$$

上記のコードはこれを作成します。

ここに画像の説明を入力

数式にナンバリングを追加したり、数式を揃える方法を知りたい場合は、この記事を読んで詳細を確認してください

于 2020-02-16T07:29:08.063 に答える
9

minrkによる回答(完全を期すために含まれています) は良いですが、私がさらに気に入っている別の方法があります。

テキスト セルの最初の行としてLaTeX入力して、セル全体をレンダリングすることもできます。%%latexこれは、次の場合に役立ちます。

  • もっとコントロールしたい、
  • 単なる数学環境以上のものを求めている
  • または、1 つのセルに多くの数学を書き込む場合。

minrkの答え:


IPython ノートブックは、MathJaxを使用して、html/markdown 内で LaTeX をレンダリングします。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'))

積分

于 2016-11-29T12:38:49.733 に答える
5

主な目的が数学である場合、SymPy は見栄えの良い関数型ラテックス表現への優れたアプローチを提供します。

于 2016-10-22T21:58:49.593 に答える