Bagaimana saya bisa menampilkan kode LaTeX dalam Notebook IPython?
Bagaimana saya bisa menampilkan kode LaTeX dalam Notebook IPython?
Jawaban:
Ini muncul dalam pencarian yang baru saja saya lakukan, menemukan solusi yang lebih baik dengan beberapa pencarian lagi, notebook IPython sekarang memiliki %%latex
keajaiban yang membuat seluruh sel Lateks tanpa $$
pembungkus untuk setiap baris.
Lihat tur buku catatan untuk Rich Display System
Notebook IPython menggunakan MathJax untuk membuat LaTeX di dalam html / markdown. Masukkan saja matematika LaTeX Anda ke dalam $$
.
$$c = \sqrt{a^2 + b^2}$$
Atau Anda dapat menampilkan keluaran LaTeX / Math dari Python, seperti yang terlihat di akhir tur notebook :
from IPython.display import display, Math, Latex
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
LaTeX
dengan mengetikkan %%latex
sebagai baris pertama dalam sel teks.
Blog Udacity memiliki Primer LaTeX Terbaik yang pernah saya lihat: Jelas menunjukkan cara menggunakan perintah LaTeX dalam cara yang mudah dibaca, dan cara yang mudah diingat !! Sangat direkomendasikan .
Tautan ini memiliki Contoh Sangat Baik yang menunjukkan kode, dan hasil yang diberikan!
Anda dapat menggunakan situs ini untuk dengan cepat belajar cara menulis LaTeX dengan contoh.
Dan, di sini adalah Referensi cepat untuk perintah / simbol LaTeX .
sebaris, bungkus: $
The equation used depends on whether the the value of
$Vmax$ is R, G, or B.
blokir, bungkus: $$
$$H← 0 + \frac{30(G−B)}{Vmax−Vmin} , if Vmax = R$$
blokir, bungkus:\begin{equation}
dan\end{equation}
\begin{equation}
H← 60 + \frac{30(B−R)}{Vmax−Vmin} , if Vmax = G
\end{equation}
blokir, bungkus:\begin{align}
dan\end{align}
\begin{align}
H←120 + \frac{30(R−G)}{Vmax−Vmin} , if Vmax = B
\end{align}
LaTex Cell: %%latex
perintah ajaib mengubah seluruh sel menjadi 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}
Objek matematika untuk dilewatkan dalam string LaTeX mentah :
from IPython.display import Math
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
Kelas lateks . Catatan: Anda harus menyertakan pembatas sendiri. Ini memungkinkan Anda untuk menggunakan mode LaTeX lainnya seperti 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}""")
(maaf, tidak ada contoh di sini, hanya dokumen)
Sel mentah Sel mentah menyediakan tempat di mana Anda dapat menulis output secara langsung. Sel mentah tidak dievaluasi oleh notebook. Ketika melewati
nbconvert
, sel mentah tiba dalam format tujuan yang tidak dimodifikasi. Misalnya, ini memungkinkan Anda untuk mengetik LaTeX penuh ke dalam sel mentah , yang hanya akan diberikan oleh LaTeX setelah konversi olehnbconvert
.
Untuk Markdown Cells, seperti dikutip dari Jupyter Notebook docs :
Dalam sel Markdown, Anda juga dapat memasukkan matematika secara langsung, menggunakan notasi LaTeX standar: $ ... $ untuk matematika sebaris dan $$ ... $$ untuk matematika yang ditampilkan . Ketika sel Penurunan harga dijalankan, bagian LaTeX secara otomatis diberikan dalam output HTML sebagai persamaan dengan tipografi berkualitas tinggi. Ini dimungkinkan oleh MathJax, yang mendukung sebagian besar fungsi LaTeX
Lingkungan matematika standar yang didefinisikan oleh LaTeX dan AMS-LaTeX (paket amsmath) juga berfungsi, seperti \ begin {persamaan} ... \ end {persamaan} , dan \ begin {align} ... \ end {align} . Makro LaTeX baru dapat didefinisikan menggunakan metode standar, seperti \ perintah baru, dengan menempatkannya di mana saja di antara pembatas matematika dalam sel Penurunan harga. Definisi-definisi ini kemudian tersedia sepanjang sisa sesi IPython.
Gunakan $$ jika Anda ingin matematika Anda muncul dalam satu baris, misalnya,
$$a = b + c$$ (line break after the equation)
Jika Anda tidak memerlukan jeda baris setelah matematika, gunakan tanda dolar tunggal $, misalnya,
$a = b + c$ (no line break after the equation)
Anda dapat memilih sel untuk di-markdown, lalu menulis kode lateks yang ditafsirkan oleh mathjax, seperti yang dikatakan salah satu responden di atas.
Atau, bagian Lateks dari tutorial notebook iPython menjelaskan hal ini dengan baik.
Anda dapat melakukan:
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}""")
atau lakukan ini:
%%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}
Info lebih lanjut ditemukan di tautan ini
Saya mengembangkan prettyPy , yang menawarkan cara yang bagus untuk mencetak persamaan. Sayangnya, ini bukan performan dan perlu pengujian.
Contoh:
Memang, sympy adalah alternatif yang bagus dan walaupun prettyPy tidak memungkinkan untuk mengevaluasi ekspresi, inisialisasi variabel tidak diperlukan.
Karena, saya tidak dapat menggunakan semua perintah lateks dalam Kode bahkan setelah menggunakan %% kata kunci lateks atau $ .. $ limiter, saya menginstal nbextensions di mana saya bisa menggunakan perintah lateks dalam penurunan harga. Setelah mengikuti petunjuk di sini: https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md dan kemudian memulai kembali Jupyter dan kemudian localhost: 8888 / nbekstensi dan kemudian mengaktifkan "Lingkungan Lateks untuk Jupyter ", saya bisa menjalankan banyak perintah Lateks. Contohnya ada di sini: 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}
Seperti yang Anda lihat, saya masih tidak dapat menggunakan paket paket. Tapi mungkin itu akan diperbaiki di masa depan.
Jawaban diberikan oleh minrk (termasuk untuk kelengkapan) adalah baik, tetapi ada cara lain yang lebih saya sukai.
Anda juga bisa membuat seluruh sel LaTeX
dengan mengetikkan %%latex
sebagai baris pertama dalam sel teks. Ini berguna jika Anda
jawaban minrk :
Notebook IPython menggunakan MathJax untuk membuat LaTeX di dalam html / markdown. Masukkan saja matematika LaTeX Anda ke dalam
$$
.$$c = \sqrt{a^2 + b^2}$$
Atau Anda dapat menampilkan keluaran LaTeX / Math dari Python, seperti yang terlihat di akhir tur notebook :
from IPython.display import display, Math, Latex display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
Jika tujuan utama Anda adalah melakukan matematika, SymPy memberikan pendekatan yang sangat baik untuk ekspresi lateks fungsional yang tampak hebat.
Saya menulis cara menulis LaTeX di Jupyter Notebook di artikel ini.
Anda harus menyertakannya dalam tanda dolar ($).
$P(A)=\frac{n(A)}{n(U)}$
$$P(A)=\frac{n(A)}{n(U)}$$
Gunakan \limits
untuk \lim
, \sum
dan \int
untuk menambah batas di atas dan di bawah setiap tanda.
Gunakan garis miring terbalik untuk menghindari kata-kata khusus LaTeX seperti simbol Matematika, kata-kata Latin, teks, dll.
Coba yang ini.
$$\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}
$$
Kode di atas akan membuat ini.
Jika Anda ingin tahu cara menambahkan penomoran ke persamaan dan menyelaraskan persamaan, baca artikel ini untuk detailnya .
Menggunakan sintaksis LaTeX secara langsung dalam sel Markdown bekerja untuk saya. Saya menggunakan Jypiter 4.4.0.
Saya tidak harus menggunakan %%latex
perintah sihir, saya bersikeras, hanya sel penurunan harga:
\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}
Memberikan kepada:
Saya menemukan masalah ini suatu hari menggunakan colab. Dan saya menemukan cara yang paling mudah adalah menjalankan kode ini sebelum mencetak. Semuanya bekerja seperti pesona kalau begitu.
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()
Hasilnya terlihat seperti ini:
Saya menggunakan Notebook Jupyter. Saya harus menulis
%%latex
$sin(x)/x$
untuk mendapatkan font LaTex.