babel و polyglossia در Scissor LaTeX
بستههای babel و polyglossia در Scissor LaTeX تا حدی کار میکنند: هر دو بدون خطا بارگذاری میشوند و متن به هر زبان و خطی از UTF-8 حروفچینی میشود، اما تنظیمات زبان اعمال نمیشوند: شکست واژهها انگلیسی میماند، نامهایی مانند «Figure» و «References» انگلیسی میمانند، \today چیزی چاپ نمیکند و میانبرهایی مانند "a خوانده نمیشوند.
کار این بستهها
babel (برای pdfLaTeX) و polyglossia (برای XeLaTeX و LuaLaTeX) یک سند را با یک زبان سازگار میکنند. الگوهای شکست واژه را بارگذاری میکنند، نامهای ثابت را ترجمه میکنند (در آلمانی «Abbildung» به جای «Figure»)، \today را به شیوهٔ محلی قالببندی میکنند و میانبرهایی مانند "a برای ä در آلمانی یا \og ... \fg برای گیومههای فرانسوی اضافه میکنند. زبان را با \selectlanguage{...} عوض میکنید، یا برای چند واژه با \foreignlanguage{...}{...}.
آنچه اینجا کار میکند
| ویژگی | در Scissor LaTeX | یادداشتها |
|---|---|---|
\usepackage[ngerman]{babel}، \usepackage{polyglossia} | کار میکند | بدون پیام پذیرفته میشوند. |
| متن به آن زبان، تایپشده با UTF-8 | کار میکند | همهٔ خطها؛ زبانها و قلمهای دیگر را ببینید. |
| شکست واژه | کنار گذاشته شده | قاعدههای انگلیسی برای همهٔ زبانها. |
| نامها: «Figure»، «Table»، «Contents»، «References»، «Proof» | کنار گذاشته شده | همیشه انگلیسی. |
\today | کنار گذاشته شده | چیزی چاپ نمیکند. |
\selectlanguage{...}، \setdefaultlanguage{...}، \setotherlanguage{...} | کنار گذاشته شده | پذیرفته میشوند، بیاثر. |
\foreignlanguage{lang}{text} | کار میکند | متن نگه داشته میشود. |
\begin{otherlanguage}{lang} | تا حدی | متن نگه داشته میشود، اما نام زبان جلوی آن چاپ میشود. |
\textenglish{...}، \textgerman{...} (polyglossia) | تا حدی | متن نگه داشته میشود؛ دستور به عنوان ناشناخته گزارش میشود. |
میانبرها: "a، "s (ngerman) | پشتیبانی نمیشود | به شکل یک علامت نقلقول و آن حرف چاپ میشوند. به جای آن ä و ß را تایپ کنید. |
\og ... \fg (french) | پشتیبانی نمیشود | با پیامی نادیده گرفته میشود؛ گیومهها نیستند. |
نمونهها
با ngerman، متن آلمانی است اما نام زیرنویس انگلیسی میماند:
babel ngerman: نامها انگلیسی میمانند
\documentclass{article}
\usepackage[ngerman]{babel}
\begin{document}
\section{Einleitung}
Erika Mustermann hat 44 Proben gewogen; die Ergebnisse stehen
in Tabelle~\ref{tab:proben}.
\begin{table}[h]
\centering
\caption{Gewicht der Proben}
\label{tab:proben}
\begin{tabular}{lr}
Probe & Gewicht \\
A & 12\,g \\
B & 15\,g \\
\end{tabular}
\end{table}
\end{document}به جای میانبرهای babel حروف ویژه را مستقیم تایپ کنید و تاریخ را خودتان بنویسید:
اوملاتهایی که مستقیم تایپ شدهاند، تاریخ نوشتهشده
\documentclass{article}
\usepackage[ngerman]{babel}
\begin{document}
Berlin, 4.~November 2026
Grüße an Hans Mustermann: Die Maße der Straße sind korrekt.
Auf Französisch: \foreignlanguage{french}{«~À bientôt~»}.
\end{document}محیط otherlanguage متنش را نگه میدارد اما نام زبان را هم چاپ میکند. از \foreignlanguage استفاده کنید یا تغییر زبان را حذف کنید:
otherlanguage نام زبان را چاپ میکند
\begin{otherlanguage}{english}
Good morning, John Doe.
\end{otherlanguage}سازگاری
- از یک نصب TeX به اینجا: متن به هر زبانی نگه داشته میشود. میانبرهایی مانند
"aو\ogباید با نویسههای تایپشده جایگزین شوند، و نامها و تاریخها انگلیسیاند یا نیستند. - از اینجا به یک نصب TeX: سندها آنجا کامپایل میشوند و آنگاه babel یا polyglossia نامها را ترجمه و واژهها را درست میشکنند. اگر قالب تاریخ محلی را آنجا میخواهید، تاریخ تایپشده را با
\todayجایگزین کنید.
راهنماهای کامل در CTAN هستند: babel و polyglossia. همچنین زبانها و قلمهای دیگر و قلمها و کدگذاریها را ببینید.
پرسش و پاسخ
چرا سند آلمانی من به جای «Abbildung» میگوید «Figure»؟
Scissor LaTeX هنوز نامهای ترجمهشدهٔ babel را اعمال نمیکند. خود متن زیرنویس مال شماست و آلمانی میماند؛ فقط واژهٔ جلوی شماره انگلیسی است.
چرا \today چیزی چاپ نمیکند؟
تاریخ \today پر نمیشود. تاریخ را به شکل متن بنویسید.
آیا میتوانم با babel یا polyglossia عربی یا عبری بنویسم؟
متن بدون هیچکدام از این بستهها از UTF-8 حروفچینی میشود. واژهها از راست به چپ شکل میگیرند، اما بندها چپ به راست میمانند؛ زبانها و قلمهای دیگر را ببینید.
هر مثال این صفحه هنگام ساخت سایت با Scissor LaTeX حروفچینی میشود. آخرین بهروزرسانی: 2026-11-07.