আইপিথন নোটবুকে কীভাবে লেটেক্স লিখবেন?


295

আইপিথন নোটবুকে আমি কীভাবে ল্যাটেক্স কোডটি প্রদর্শন করতে পারি?


3
@ ডিফাইমো আপনি লেটেক্সের বিষয়টি নির্বিশেষে, এটি একটি দুর্দান্ত প্রশ্ন। আইপিথন নোটবুক আসলে কী তা একবার দেখুন । আমি আপনাকে বলি যে এটি 'রাইডস' এর অর্গমোডের মতো কিছুটা হলেও (তবে দুর্ভাগ্যক্রমে সুন্দর সম্পাদক ব্যতীত, এবং লেটেক্সের পরিবর্তে মার্কডাউন সহ, সুতরাং ওপি-র প্রশ্ন) যদি এটি আপনাকে সহায়তা করে helps
কনরাড রুডল্ফ

1
আমি এ সম্পর্কে অজ্ঞ, নির্দেশের জন্য ধন্যবাদ, কনরাড।
ডাফাইমো

2
এবং, কেবল স্পষ্ট করে বলতে গেলে আমি লটেক্সকে ভালবাসি । (আমি এটি আমার গবেষণামূলক প্রবন্ধটি টাইপ করতে ব্যবহার করেছি)) কোনও আপত্তি নেই; শুধু বিষয়টি বুঝতে ব্যর্থ।
duffymo

উত্তর:


155

এটি এমন একটি অনুসন্ধানে উঠে এসেছিল যা আমি করছিলাম, আরও কিছু অনুসন্ধানের সাথে আরও ভাল সমাধান পাওয়া গেল, আইপিথন নোটবুকগুলিতে এখন একটি %%latexম্যাজিক রয়েছে যা $$প্রতিটি লাইনের মোড়ক ছাড়াই পুরো সেল ল্যাটেক্সকে তৈরি করে।

রিচ ডিসপ্লে সিস্টেমের জন্য নোটবুক ট্যুর পড়ুন


33
জুপিটারে, এটি মার্কডাউন সেলে কাজ করে না তবে এটি একটি কোড সেলে কাজ করে।
jwe

287

আইপিথন নোটবুকটি এইচটিএমএল / মার্কডাউন এর ভিতরে ল্যাটেক্স রেন্ডার করতে ম্যাথজ্যাক্স ব্যবহার করে । কেবলমাত্র আপনার ল্যাটেক্স গণিতটি ভিতরে রেখে দিন $$

$$c = \sqrt{a^2 + b^2}$$

বর্গমূল

অথবা আপনি পাইথন থেকে লাটেক্স / ম্যাথ আউটপুট প্রদর্শন করতে পারেন, যেমনটি নোটবুক ট্যুরের শেষে দেখানো হয়েছে :

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

অখণ্ড


19
আমি মনে করি যে ওপি কেবল সমীকরণের পরিবর্তে মার্কডাউনের পরিবর্তে লটেক্স ব্যবহার করতে চায় । আমি অনুরোধটির প্রতি সহানুভূতি জানাই - যতটা আমি মার্কডাউন পছন্দ করি, জটিল ডকুমেন্টগুলির জন্য আমি সর্বদা লটেক্স ব্যবহার করি।
কনরাড রুডল্ফ

16
Gotcha। এই মুহুর্তে সেরা সমাধান হ'ল মার্কডাউন এর পরিবর্তে 'কাঁচা' ঘর ব্যবহার করা এবং আপনি যেমনটি চান তেমন ল্যাটেক্স টাইপ করুন। তারপরে আইপিনবকে টেক্স (কোড, ফিগারস এবং সমস্ত) এ পরিণত করতে এনবিকোনভার্ট ব্যবহার করুন এবং পিডিএফ-তে এটি রেন্ডার করতে ল্যাটেক্স চালান ইত্যাদি আপনি ম্যাথজ্যাক্স / মার্কডাউনের মতো ব্রাউজারে লাইভ-রেন্ডারড টেক্স পাবেন না, তবে আপনি এখনও একটি নথিতে টেক্স / কোড রয়েছে।
21

1
একই প্রশ্ন কিন্তু qtconsole
মাইস্কিজো বন্ধু

8
এবং সমীকরণটিকে লাইনে রাখার জন্য একক double (ডাবল নয় $$) ব্যবহার করুন। stackoverflow.com/q/19412644/1224255
TheGrimmScientist

6
আপনি কোনও পাঠ্য কক্ষে প্রথম লাইন হিসাবে LaTeXটাইপ করে একটি সম্পূর্ণ ঘর রেন্ডার করতে পারেন %%latex
টোক ফুরবি

81

ল্যাটেক্স রেফারেন্স:

উদাসিটির ব্লগে আমার দেখা সেরা লটেক্স প্রাইমার রয়েছে : এটি স্পষ্টভাবে দেখায় যে কীভাবে পড়তে সহজ, এবং সহজে স্মরণে রাখা সহজভাবে ল্যাটেক্স কমান্ড ব্যবহার করতে হয় !! উচ্চ প্রস্তাবিত

এই লিঙ্কটিতে কোড এবং রেন্ডার ফল উভয়ই দেখানোর দুর্দান্ত উদাহরণ রয়েছে !
উদাহরণস্বরূপ কীভাবে লেটেক্স লিখতে হয় তা শিখতে আপনি এই সাইটটি ব্যবহার করতে পারেন।

এবং, এখানে ল্যাটেক্স কমান্ড / প্রতীকগুলির জন্য একটি দ্রুত রেফারেন্স রয়েছে


সংক্ষিপ্তকরণের জন্য: জুপিটার / আইপিথনে ল্যাটেক্স ইঙ্গিত করার বিভিন্ন উপায়:

মার্কডাউন সেলগুলির উদাহরণ :

ইনলাইন, মোড়ানো: $

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 যাদু কমান্ড সক্রিয় সমগ্র সেল একটি মধ্যে ক্ষীর সেল

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

কাঁচা ল্যাটেক্স স্ট্রিংয়ে পাস করার জন্য ম্যাথ অবজেক্ট :

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

তরুক্ষীর বর্গ । দ্রষ্টব্য: আপনার নিজেরাই সীমানা যুক্ত করতে হবে। এটি আপনাকে অন্যান্য ল্যাটেক্স মোড যেমন ব্যবহার করতে দেয় 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}""")

কাঁচা ঘরগুলির জন্য ডক্স :

(দুঃখিত, এখানে উদাহরণ নেই, কেবলমাত্র ডক্স)

কাঁচা ঘর কাঁচা ঘরগুলি এমন একটি স্থান সরবরাহ করে যেখানে আপনি সরাসরি আউটপুট লিখতে পারেন। কাঁচা কোষগুলি নোটবুক দ্বারা মূল্যায়ন করা হয় না। যখন অতিক্রম করা হয় nbconvert, কাঁচা ঘরগুলি অশোধিত গন্তব্য বিন্যাসে আসে। উদাহরণস্বরূপ, এটি আপনাকে কাঁচা ঘরে পুরো ল্যাটেক্স টাইপ করতে দেয় , যা কেবলমাত্র ল্যাটেক্স দ্বারা রূপান্তরিত হওয়ার পরে রেন্ডার হবে nbconvert

অতিরিক্ত ডকুমেন্টেশন:

জুপিটার নোটবুক ডক্স থেকে উদ্ধৃত হিসাবে মার্কডাউন সেলগুলির জন্য :

মার্কডাউন কোষগুলির মধ্যে, আপনি স্ট্যান্ডার্ড লটেক্স নোটেশনটি ব্যবহার করে গণিতকে সোজা উপায়ে অন্তর্ভুক্ত করতে পারেন: in ... in ইনলাইন গণিতের জন্য এবং mathe ... displayed প্রদর্শিত গণিতের জন্য । যখন মার্কডাউন সেলটি কার্যকর করা হয়, তখন লটেক্স অংশগুলি স্বয়ংক্রিয়ভাবে HTML আউটপুটে উচ্চ মানের টাইপোগ্রাফির সমীকরণ হিসাবে রেন্ডার হয়। এটি ম্যাথজ্যাক্স দ্বারা সম্ভব হয়েছে, যা ল্যাটেক্স কার্যকারিতার বৃহত উপসেটকে সমর্থন করে

যেমন স্ট্যান্ডার্ড গণিত পরিবেশের, ক্ষীর এবং এএমস-ক্ষীর (amsmath প্যাকেজ) ও কাজ দ্বারা সংজ্ঞায়িত \ ... {সমীকরণ} শুরু \ শেষ {সমীকরণ} , এবং ... \ শুরু {সারিবদ্ধ} \ শেষ {সারিবদ্ধ} । নিউ লাটেক্স ম্যাক্রোগুলি একটি মার্কডাউন সেলে গণিত ডিলিমিটারগুলির মধ্যে যে কোনও জায়গায় রেখে standard নিউকমান্ডের মতো স্ট্যান্ডার্ড পদ্ধতিগুলি ব্যবহার করে সংজ্ঞায়িত করা যেতে পারে। এই সংজ্ঞাগুলি তখন আইপিথন সেশনের বাকি অংশ জুড়ে পাওয়া যায়।


উদাসিটির পৃষ্ঠায় লিঙ্কটি আর কাজ করে না।
গ্যালাক্সি

33

ব্যবহার করুন $$ আপনি যদি চান যে কোনও একক লাইনে আপনার গণিত প্রদর্শিত হয়, যেমন,

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

অঙ্কের পরে যদি আপনার লাইন ব্রেকের প্রয়োজন না হয় তবে একক ডলার চিহ্ন use ব্যবহার করুন, উদাহরণস্বরূপ,

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

23

আপনি মার্কডাউন হওয়ার জন্য একটি ঘর চয়ন করতে পারেন, তারপরে ল্যাটেক্স কোডটি লিখুন যা ম্যাথজ্যাক্স দ্বারা ব্যাখ্যা করা হবে, যেমন উপরে উত্তরদাতাদের একজন বলেছেন say

বিকল্পভাবে, আইপথন নোটবুক টিউটোরিয়ালের লেটেক্স বিভাগটি এটিকে ভালভাবে ব্যাখ্যা করে।

আপনি হয় করতে পারেন:

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}

এই লিঙ্কে আরও তথ্য পাওয়া যায়


4
আপনার লিঙ্কটি এখন ভাঙা হয়েছে
J'e

1
এখানে দুর্দান্ত উদাহরণ: jupyter-notebook.readthedocs.io/en/stable/exferences/Notebook/…
ptim

14

আমি সুন্দরপি তৈরি করেছি , যা সমীকরণ মুদ্রণের জন্য একটি দুর্দান্ত উপায় দেয়। দুর্ভাগ্যক্রমে, এটি পারফরম্যান্ট নয় এবং এটির পরীক্ষার প্রয়োজন।

উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

মঞ্জুর, সিম্পি একটি দুর্দান্ত বিকল্প এবং যদিও পিপ্পি প্রকাশের বহিঃপ্রকাশের মূল্যায়নের জন্য অনুমতি দেয় না, তবে পরিবর্তনশীল সূচনা প্রয়োজন হয় না।


2
আমি কেবল বোঝাতে চাইছিলাম যে আমি প্যাকেজটি তৈরি করেছি। আমি আমার উত্তরটি সুস্পষ্টভাবে এটিকে জানাতে সামঞ্জস্য করেছি।
চার্লস

1
পাবলিক ডোমেনে কোড রাখার জন্য কুডোস। আমি আমার (এখন) অপ্রচলিত মন্তব্য মুছে ফেলব।
রবিনো

10

যেহেতু, আমি %% লেটেক্স কীওয়ার্ড বা $ .. $ সীমাবদ্ধ ব্যবহার করার পরেও কোডে সমস্ত ল্যাটেক্স কমান্ড ব্যবহার করতে সক্ষম হয়েছি না, তাই আমি মার্কডাউন-তে ল্যাটেক্স কমান্ডগুলি ব্যবহার করতে পারার মাধ্যমে nbextensions ইনস্টল করেছি। এখানে নির্দেশাবলী অনুসরণ করার পরে: https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md এবং তারপরে জুপিটার পুনরায় আরম্ভ করুন এবং তারপরে লোকালহোস্ট: 8888 / nbextensions এবং তারপরে "ল্যাটেক্স পরিবেশের জন্য সক্রিয়করণ করুন" জুপিটার ", আমি অনেক ল্যাটেক্স কমান্ড চালাতে পারি। উদাহরণগুলি এখানে: 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}

আপনি দেখতে হিসাবে, আমি এখনও ব্যবহারপ্যাকেজ ব্যবহার করতে অক্ষম। তবে ভবিষ্যতে হয়তো এর উন্নতি হবে।

এখানে চিত্র বর্ণনা লিখুন


1
লেটেক্স_এনভিএস নোটবুক এক্সটেনশন বহিরাগত ল্যাকেক্স প্যাকেজ বা স্টাইল ব্যবহার করতে পারে না; এটি কোনও সংকলক অন্তর্ভুক্ত করে না তবে কেবল কিছু কীওয়ার্ড, কাঠামো স্বীকৃতি দেয় এবং উপযুক্ত এইচটিএমএল প্রতিস্থাপন করে। এটি ব্যবহার করার জন্য ধন্যবাদ। আইপথন-অবদানকারী নোটবুক এক্সটেনশানগুলি এখন পাইপ ব্যবহার করে ইনস্টল করা আরও অনেক সহজ।
jfb

9

মিনার্কের দেওয়া উত্তর (সম্পূর্ণতার জন্য অন্তর্ভুক্ত) ভাল, তবে আরও একটি উপায় রয়েছে যা আমি আরও বেশি পছন্দ করি।

আপনি কোনও পাঠ্য কক্ষে প্রথম লাইন হিসাবে LaTeXটাইপ করে একটি সম্পূর্ণ ঘর রেন্ডার করতে পারেন %%latex। এটি দরকারী যদি আপনি

  • আরও নিয়ন্ত্রণ চান,
  • গণিতের পরিবেশের চেয়ে আরও বেশি কিছু চাই,
  • অথবা আপনি যদি একটি ঘরে খুব বেশি গণিত লিখতে চলেছেন।

মিনারের উত্তর:


আইপিথন নোটবুকটি এইচটিএমএল / মার্কডাউন এর ভিতরে ল্যাটেক্স রেন্ডার করতে ম্যাথজ্যাক্স ব্যবহার করে । কেবলমাত্র আপনার ল্যাটেক্স গণিতটি ভিতরে রেখে দিন $$

$$c = \sqrt{a^2 + b^2}$$

বর্গমূল

অথবা আপনি পাইথন থেকে লাটেক্স / ম্যাথ আউটপুট প্রদর্শন করতে পারেন, যেমনটি নোটবুক ট্যুরের শেষে দেখানো হয়েছে :

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

অখণ্ড



3

আমি লিখেছিলাম কীভাবে লুপেক্স লিখতে লিখতে ইন জুপিটার নোটবুকে এই নিবন্ধে ।

এগুলি আপনাকে ডলার ($) চিহ্নগুলিতে সংযুক্ত করতে হবে।

  • বামদিকে সারিবদ্ধ করতে একটি ডলার ($) চিহ্ন ব্যবহার করুন।

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

  • কেন্দ্রে সারিবদ্ধ হওয়ার জন্য ডাবল ডলার ($$) চিহ্ন ব্যবহার করুন।

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

  • ব্যবহার করুন \limitsজন্য \lim, \sumএবং \intউপরে এবং প্রতিটি চিহ্ন নীচে সীমা যোগ করতে।

  • লাটেক্স বিশেষ শব্দ যেমন ম্যাথ সিম্বলস, ল্যাটিন শব্দ, পাঠ্য ইত্যাদি পালাতে একটি ব্যাকস্ল্যাশ ব্যবহার করুন

এখানে চিত্র বর্ণনা লিখুন

আর একবার চেষ্টা কর.

$$\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}
$$

উপরের কোডটি এটি তৈরি করবে।

এখানে চিত্র বর্ণনা লিখুন

আপনি কীভাবে সমীকরণগুলিতে সংখ্যায়ন যুক্ত করতে এবং সমীকরণগুলি সারিবদ্ধ করতে চান তা জানতে দয়া করে বিশদটির জন্য এই নিবন্ধটি পড়ুন ।


2

মার্কডাউন সেলটিতে সরাসরি লেটেক্স সিনট্যাক্স ব্যবহার করা আমার পক্ষে কাজ করে। আমি জিপিটার ব্যবহার করছি 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}

রেন্ডার্স:

এখানে চিত্র বর্ণনা লিখুন


2
এটি এটি করার সহজ উপায় এবংতম উপায়।
ভেলিকো

1

আমি কোলাব ব্যবহার করে একদিন এই সমস্যাটি পেলাম। এবং আমি সর্বাধিক বেদনাদায়ক উপায়টি প্রিন্ট করার আগে এই কোডটি চালাচ্ছি। সবকিছু তখন কবজির মতো কাজ করে।

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

ফলাফলটি এরকম দেখাচ্ছে:

এখানে চিত্র বর্ণনা লিখুন


1

আমি জুপিটার নোটবুক ব্যবহার করছি। আমাকে লিখতে হয়েছিল

%%latex
$sin(x)/x$

একটি LaTex ফন্ট পেতে।


1
আপনি কোডিং মোডে থাকাকালীন এটি কাজ করে। আপনি যদি মার্কডাউন মোডে থাকেন তবে%% ক্ষীর থেকে মুক্তি পেতে পারেন
লাহিরু করুণারত্নে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.