![为什么 LaTeX 中除了英语之外没有其他语言的直接排版?](https://linux22.com/image/255319/%E4%B8%BA%E4%BB%80%E4%B9%88%20LaTeX%20%E4%B8%AD%E9%99%A4%E4%BA%86%E8%8B%B1%E8%AF%AD%E4%B9%8B%E5%A4%96%E6%B2%A1%E6%9C%89%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80%E7%9A%84%E7%9B%B4%E6%8E%A5%E6%8E%92%E7%89%88%EF%BC%9F.png)
在使用 LaTeX 时,我总是想知道,为什么需要先以英语排版除英语以外的任何语言,例如印度语(天城文).dn
,然后使用某些翻译器将其翻译成印度语音节以生成.tex
文件。然后进行编译,然后获得最终的 pdf 输出...
对于英语,只需输入英语就足够了,对于 Latex 使用的其他语言,通过使用某种翻译机制“以后不要使用 Latex 方法”...
LaTeX 开发人员是否可以像在 Latex 中使用英语一样轻松地使用其他语言...如果可以,请这样做,或者至少请社区中的一些聪明成员进行这样的开发...
答案1
这个问题已经过去了近十年,事情发生了根本性的变化,这要归功于xetex
和luatex
以及 LaTeX 本身的最新发展。下面是一个将阿拉伯语、孟加拉语、希腊语和日语与babel
和相结合的示例lualatex
。
\documentclass{article}
\usepackage[bidi=default]{babel}
\babelfont{rm}[Renderer=Harfbuzz]{FreeSerif}
\babelfont[japanese]{rm}[Renderer=Harfbuzz]{IPAexMincho}
\setlength{\parindent}{0pt}
\newcommand{\startlocale}[1]{%
\selectlanguage{#1}%
\section{\foreignlanguage{nil}{#1}}}
\begin{document}
\startlocale{arabic}
يولد جميع الناس أحرارًا متساوين في الكرامة والحقوق. وقد وهبوا عقلاً وضميرًا وعليهم أن يعامل بعضهم بعضًا بروح الإخاء.
\startlocale{bengali}
সমস্ত মানুষ স্বাধীনভাবে সমান মর্যাদা এবং অধিকার নিয়ে জন্মগ্রহণ করে। তাঁদের বিবেক এবং বুদ্ধি আছে; সুতরাং সকলেরই একে অপরের প্রতি ভ্রাতৃত্বসুলভ মনোভাব নিয়ে আচরণ করা উচিৎ।
\startlocale{greek}
Όλοι οι άνθρωποι γεννιούνται ελεύθεροι και ίσοι στην αξιοπρέπεια και τα δικαιώματα. Είναι προικισμένοι με λογική και συνείδηση, και οφείλουν να συμπεριφέρονται μεταξύ τους με πνεύμα αδελφοσύνης.
\startlocale{japanese}
すべての人間は、生れながらにして自由であり、かつ、尊厳と権利とについて平等である。人間は、理性と良心とを授けられており、互いに同胞の精神をもって行動しなければならない。
\end{document}
答案2
当然,可以编译包含达瓦那文字符的 tex 文档。
我还没有尝试用 latex 进行编译,但是 xelatex 可以毫无问题地编译此类文档。