LaTeX
عبارات ریاضی LaTeX به طور پیشفرض با استفاده از نمایش داده میشوند. کافی است آنها را در محتوای Markdown خود قرار دهید بدون نیاز به هیچ پیکربندی دستی.
نحوه استفاده
میتوانید از LaTeX هم برای عبارات درون خطی و هم برای بلوکهای بزرگتر متن استفاده کنید.
ریاضی درون خطی
برای قرار دادن یک عبارت درون یک خط متن، آن را بین \(
و \)
قرار دهید.
این \(\sigma(z) = \frac{1}{1 + e^{-z}}\) یک عبارت درون خطی است.
این یک عبارت درون خطی است.
ریاضی نمایشی
برای عباراتی که میخواهید به صورت مستقل در یک پاراگراف جداگانه نمایش داده شوند، از $$
استفاده کنید.
$$F(\omega) = \int_{-\infty}^{\infty} f(t)\, e^{-j \omega t} \, dt$$
به این صورت نمایش داده میشود:
همچنین میتوانید از محیطهای LaTeX مانند aligned
برای عبارات چندخطی استفاده کنید.
$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0 \left( \mathbf{J} + \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right)
\end{aligned}
$$
به این صورت نمایش داده میشود:
برای مشاهده لیست توابع پشتیبانی شده، به توابع پشتیبانی شده توسط KaTeX مراجعه کنید.
عبارات شیمیایی
افزونه mhchem به طور پیشفرض فعال است و به شما امکان میدهد معادلات و فرمولهای شیمیایی را به راحتی نمایش دهید.
درون خطی: آب است.
پاراگراف جداگانه:
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
به این صورت نمایش داده میشود:
پیکربندی
Important
لطفاً افزونه passthrough را در فایل پیکربندی Hugo فعال و پیکربندی کنید تا Hugo بتواند عبارات ریاضی LaTeX را در محتوای Markdown شما تشخیص دهد.
markup:
goldmark:
extensions:
passthrough:
delimiters:
block: [['\[', '\]'], ["$$", "$$"]]
inline: [['\(', '\)']]
enable: true
موتور ریاضی
KaTeX موتور پیشفرضی است که برای نمایش عبارات ریاضی LaTeX در فرآیند ساخت توسط Hugo استفاده میشود.
پیشفرض KaTeX است، اما در صورت نیاز به ویژگیهایی که فقط در MathJax موجود است، میتوانید به MathJax سوئیچ کنید.
KaTeX
پیکربندی پیشفرض نیاز به هیچ تنظیمی ندارد. Hugo فایل CSS مربوط به KaTeX را از CDN دریافت میکند.
اگر نیاز به استفاده از نسخه خاصی از KaTeX یا استفاده از فایلهای محلی دارید، میتوانید این کار را در فایل hugo.yaml
انجام دهید.
تغییر آدرس پایه CDN
params:
math:
engine: katex
katex:
base: "https://cdn.jsdelivr.net/npm/katex@0.16.22/dist"
استفاده از فایلهای محلی
همچنین میتوانید فایل css را در پوشه assets
قرار دهید و فایلهای فونت مورد نیاز KaTeX را منتشر کنید.
params:
math:
engine: katex
katex:
css: "css/katex.min.css"
assets:
- "fonts/KaTeX_Main-Regular.woff2"
# سایر فایلهای فونت را اینجا اضافه کنید
این تنظیمات باعث میشود فایل CSS مربوط به KaTeX از assets/css/katex.min.css
بارگیری شود به جای دانلود از CDN.
MathJax
به عنوان جایگزین، میتوانید از MathJax برای نمایش عبارات ریاضی استفاده کنید:
params:
math:
engine: mathjax
Note
میتوانید MathJax را بیشتر سفارشی کنید (مثلاً تنظیمات لودر را تغییر دهید یا CDN/منبع را عوض کنید) با بازنویسی قالب در layouts/_partials/scripts/mathjax.html
در پروژه خود. Hugo به جای نسخه پیشفرض قالب، از نسخه شما استفاده خواهد کرد.