چرا از این فرمتدهنده LaTeX استفاده کنیم؟
- از Prettier با unified-latex در پسزمینه برای قالببندی LaTeX آگاه از ساختار استفاده میکند
- برای اسناد معمولی .tex کار میکند (مقالات، گزارشها، پایاننامهها، اسلایدهای Beamer، یادداشتها، تکالیف)
- تورفتگی و شکستن خط را حول محیطها، ریاضیات و آرگومانهای ماکرو نرمالسازی میکند
- نظرات و اکثر خطوط خالی عمدی را تا حد امکان حفظ میکند
- LaTeX را مستقیماً پیست کنید یا یک فایل متنی بیندازید (تا حدود ۵ مگابایت)
- اندازه تورفتگی قابل تنظیم و راهنمای اختیاری عرض خط نرم از طریق طول شکستن
- قالببندی اولویتدار سمت کاربر در مرورگر شما، با پشتیبان امن سرور در صورت نیاز
🔧 نحوه قالببندی کد LaTeX آنلاین for latex-formatter
1. LaTeX خود را جایگذاری یا رها کنید
کد LaTeX را در ویرایشگر جایگذاری کنید یا یک فایل متنی (معمولاً .tex) را کشیده و رها کنید. میتوانید روی هر چیزی از یک قطعه کوچک تا یک سند کامل کار کنید.
2. اندازه تورفتگی و طول بستهبندی را انتخاب کنید
اندازه تورفتگی (1-8 فاصله) و طول خط بستهبندی اختیاری را تنظیم کنید. طول بستهبندی کوتاهتر پاراگرافهای باریکتری تولید میکند؛ 0 بستهبندی خودکار را غیرفعال میکند.
3. قالببندی و بررسی خروجی
قالببند را اجرا کنید. اگر LaTeX به درستی تجزیه شود، کد تمیز و دوباره تورفته دریافت میکنید. اگر مشکل تجزیه وجود داشته باشد، خطایی مشاهده میکنید تا بتوانید منبع را اصلاح کنید.
4. کپی به ویرایشگر خود
LaTeX قالببندی شده را به ویرایشگر خود برگردانید یا آن را به عنوان یک فایل جدید ذخیره کنید. نسخه تمیز شده را ثبت کنید تا همکاران و بازبینها یک طرحبندی یکسان دریافت کنند.
جزئیات فنی
موتور قالببندی
این ابزار از Prettier با پلاگین unified-latex برای تجزیه LaTeX به یک AST ساختاریافته استفاده میکند، سپس آن را با تورفتگی و شکستن خط نرمال شده دوباره چاپ میکند. این تنها بر روی کد منبع عمل میکند و سند شما را کامپایل نمیکند.
| جنبه | رفتار |
|---|---|
| موتور | قالببند Prettier + unified-latex |
| ورودی | LaTeX متن ساده (UTF-8) |
| خروجی | منبع LaTeX بازقالببندی شده (UTF-8) |
| اجرا | اولویت سمت کلاینت (مرورگر) با پشتیبان امن سرور اختیاری |
| زمانبندی | ~25 ثانیه زمانبندی ایمنی برای ورودیهای سنگین یا اسناد پیچیده |
انواع فایلهای معمول
هر LaTeX متن ساده پذیرفته میشود؛ اینها رایجترینها هستند:
| نوع | مثالها | یادداشتها |
|---|---|---|
| اسناد .tex | مقاله، گزارش، کتاب، beamer | منابع اصلی LaTeX با پیشمتن + بدنه |
| قطعهکدها | \section{}, \begin{proof}… | عالی برای پاکسازی قطعات کوچکتر استفاده شده در اسناد یا اسلایدها |
| فایلهای ورودی | chapter.tex, intro.tex | فصلها یا بخشهای مستقل شامل شده از طریق \input/\include |
رفتار قالببندی
قالببند بر روی چیدمان و خوانایی تمرکز دارد، نه اعتبارسنجی معنایی.
| حوزه | کاری که انجام میدهد | کاری که انجام نمیدهد |
|---|---|---|
| تورفتگی | محیطها، ساختارهای تودرتو و بدنههای ماکرو خاص را بر اساس اندازه تورفتگی پیکربندی شده، تورفته میکند. | ساختار منطقی را از ماکروهای سفارشی فراتر از آنچه unified-latex درک میکند، استنباط نمیکند. |
| شکستن خط | خطوط طولانی را بر اساس طول شکستن خط (یا اگر روی 0 تنظیم شده باشد، به همان صورت رها میکند) میشکند. | شکستن خط کامل را برای هر دستور سفارشی یا ماکروی عمیقاً تودرتو تضمین نمیکند. |
| توضیحات | خطوط توضیح و بیشتر توضیحات درون خطی را در جای خود حفظ میکند. | متن توضیحات را تفسیر یا بازسازی نمیکند. |
| ریاضی | محیطهای ریاضی و ریاضی درون خطی را دست نخورده نگه میدارد و تورفتگی اطراف را در صورت لزوم تنظیم میکند. | درستی ریاضی یا استفاده از بستههای LaTeX را تأیید نمیکند. |
| پیشمتن | بخشهای پیشمتن مانند \usepackage, \newcommand و غیره را با فاصلهگذاری یکنواخت قالببندی میکند. | بستهها یا دستورات را برای سازگاری مجدداً مرتب نمیکند. |
محدودیتها و عملکرد
قالببند برای اسناد دنیای واقعی استفاده شده در زمینههای علمی و فنی تنظیم شده است.
| ورودی | محدودیت | یادداشتها |
|---|---|---|
| اندازه متن (ویرایشگر) | ≈ ۲ مگابایت | محدودیت سخت برای حفظ واکنشپذیری مرورگر اعمال شده است. |
| بارگذاری فایلها | ≈ ۵ مگابایت | کنترل شده توسط سقف اندازه فایل رابط کاربری. |
| زمان قالببندی | < ۱–۲ ثانیه (معمول) | بسته به پیچیدگی سند و عملکرد مرورگر متفاوت است. |
| رفتار زمانبندی | شکست با وقار | اگر قالببندی از زمان تعیین شده فراتر رود، به جای یک تب قفل شده، خطا دریافت میکنید. |
ایمنی و حریم خصوصی
برای استفاده استاندارد، قالببندی مستقیماً در مرورگر شما با استفاده از Prettier + unified-latex adapter اجرا میشود. در برخی محیطها، اگر افزونه درون مرورگری در دسترس نباشد، ممکن است از یک قالببند بکاند امن به عنوان جایگزین استفاده شود. در هر دو حالت، LaTeX به عنوان ورودی موقت در نظر گرفته میشود: فقط برای قالببندی استفاده میشود و کامپایل یا اجرا نمیشود.
جایگزینهای قالببندی LaTeX از طریق خط فرمان
ابزارهای محلی را ترجیح میدهید یا میخواهید قالببندی را در خط لوله ساخت یا CI خود ادغام کنید؟ در اینجا گزینههای رایج آورده شدهاند.
لینوکس / 🍏 مک
قالببندی یک فایل LaTeX در محل با latexindent
latexindent -w main.texفایل main.tex را با تورفتگی و چیدمان استاندارد بازنویسی میکند.
قالببندی تمام فایلهای .tex در یک پروژه
find . -name "*.tex" -print0 | xargs -0 latexindent -wlatexindent را روی هر فایل LaTeX در درخت دایرکتوری جاری اعمال میکند.
ویندوز (PowerShell)
قالببندی تمام فایلهای .tex در پوشه جاری
Get-ChildItem -Filter *.tex | ForEach-Object { latexindent -w $_.FullName }latexindent را روی هر فایل LaTeX با استفاده از PowerShell اجرا میکند.
موارد استفاده عملی قالببند LaTeX
مقالات علمی و پایاننامهها
- پاکسازی پیشنویس نامرتب قبل از ارسال به استاد راهنما یا همکاران نویسنده.
- نگهداری بخشهای طولانی، اثباتها و پیوستها با تورفتگی یکنواخت.
- یکسانسازی طول خطوط برای بررسی آسانتر تفاوتها در Git.
% قبل
\begin{proof}Let $G$ be a group with identity $e$... \end{proof}
% بعد (قالببندی شده)
\begin{proof}
Let $G$ be a group with identity $e$...
\end{proof}
اسلایدهای Beamer و مطالب آموزشی
- مرتبسازی مجموعه اسلایدها با فریمها و لایههای متعدد.
- آسانتر کردن نگهداری بلوکهای کد مثال و محیطهای ریاضی برای دستیاران آموزشی.
- آمادهسازی یادداشتهای کارگاه یا درس به سبک یکنواخت.
\begin{frame}{Title}
\begin{itemize}
\item First point
\item Second point
\end{itemize}
\end{frame}
گزارشها، مستندات و LaTeX متمرکز بر توسعه
- قالببندی گزارشهای LaTeX تولید شده خودکار قبل از commit.
- پاکسازی مستندات فنی با بلوکهای کد و verbatim متعدد.
- استانداردسازی ماکروها و چیدمان محیط در سراسر یک تیم.
\begin{verbatim}
$ git commit -m "cleaned tex formatting"
\end{verbatim}
❓ Frequently Asked Questions
❓آیا این ابزار LaTeX من را کامپایل میکند یا فقط سورس را بازفرمت میکند؟
🧪آیا فرمتبندی معنای سند من را تغییر میدهد؟
📏سایز فایل LaTeX من چقدر میتواند باشد؟
📦آیا ماکروها و پکیجهای سفارشی را درک میکند؟
🔒آیا سند LaTeX من روی سرور ذخیره میشود؟
Pro Tips
محیطها را به صورت بصری تراز نگه دارید: تورفتگی یکنواخت بلوکهای \begin و \end، پیمایش اثباتها و مشتقات پیچیده را بسیار آسانتر میکند.
قبل از کامیت در Git، فرمتر را اجرا کنید تا همکاران به جای نویز فاصلههای سفید، تغییرات محتوا را بررسی کنند.
هنگام کار با دستورات شکننده یا ماکروهای سفارشی، ابتدا یک کپی از فایل خود را فرمت کرده و دوباره کامپایل کنید تا مطمئن شوید تغییر چیدمان بر خروجی تأثیر نمیگذارد.
این فرمتر آنلاین را با latexindent محلی یا پلاگینهای ویرایشگر جفت کنید تا یک گردش کار کاملاً خودکار برای فرمتبندی LaTeX داشته باشید.
Additional Resources
Other Tools
- زیباکننده CSS
- زیباکننده HTML
- زیباکننده JavaScript
- زیباکننده PHP
- انتخابگر رنگ
- استخراجکننده اسپرایت
- دیکودر Base64
- انکودر Base64
- فرمتدهنده C#
- فرمتدهنده CSV
- Dockerfile Formatter
- فرمتدهنده Elm
- فرمتدهنده ENV
- فرمتدهنده Go
- فرمتدهنده GraphQL
- فرمتدهنده HCL
- فرمتدهنده INI
- فرمتدهنده JSON
- فرمتدهنده Markdown
- فرمتدهنده Objective-C
- Php Formatter
- فرمتدهنده Proto
- فرمتدهنده Python
- فرمتدهنده Ruby
- فرمتدهنده Rust
- فرمتدهنده Scala
- فرمتدهنده اسکریپت شل
- فرمتدهنده SQL
- قالببندی SVG
- قالببندی Swift
- قالببندی TOML
- Typescript Formatter
- قالببندی XML
- قالببندی YAML
- قالببندی Yarn
- کوچککننده CSS
- Html Minifier
- Javascript Minifier
- کوچککننده JSON
- کوچککننده XML
- نمایشگر هدرهای HTTP
- PDF به متن
- تستکننده Regex
- بررسیکننده رتبه SERP
- جستجوی Whois