如何用 LaTeX 编写孟加拉语?

如何用 LaTeX 编写孟加拉语?
\documentclass{barticle}
\title{EkiT pRbn/dh} \author{Ajana elkhk} \date{pNNicesh {oi}bshakh, 1413}
\begin{document}
\bng
\maketitle
\section{pRthm pirec/chd}
rbiin/dRnaethr EkiT kibtar shuru inec ed{O}ya Hl.
\begin{verse}
kt Ajanaer jana{I}el tuim \\ kt gher idel ThNNa{I}. \\
duurek kirel inkT bn/dhu,\\ prek kirel bha{I}....

\end{verse}
\end{document}

答案1

虽然不太清楚你的问题是什么,但我建议使用 XeLaTeX 和polyglossia孟加拉语包。这样你只需以常规格式输入孟加拉语文本即可。

我使用了这里的 Akaash 字体:免费孟加拉字体。由于我不会说孟加拉语,我用谷歌翻译将一小段英文文本翻译过来。如果翻译得不好,我深表歉意。

% !TEX TS-program = XeLaTeX

\documentclass[10pt]{article}
\usepackage{polyglossia}
\setmainlanguage[numerals=Devanagari]{bengali}
\setotherlanguage{english}
\newfontfamily\englishfont[Scale=MatchLowercase]{Linux Biolinum O}
\newfontfamily\bengalifont[Script=Bengali]{Akaash}
\begin{document}
\tableofcontents

\section{ভূমিকা}
এটি একটি ইংরেজি লেখা ছোট অধ্যায় যে বাঙ্গালী এ \textenglish{Google Translate} দ্বারা অনুবাদ করা হয়েছে. এটা খুব স্পষ্ট নয় যদি সঠিক অনুবাদ বা না কিন্তু ক্রিয়াটি ফন্ট দেখাতে যথেষ্ট হওয়া উচিত.
\end{document}

代码输出

如示例所示,并且如评论中所述,这不会使所有数字都变成孟加拉语。有关此问题的解决方案,请参阅:

答案2

的问题在于polyglossa,它对孟加拉语(或孟加拉语)的支持非常有限。这促使我编写了一个新包latexbangla,它扩展了前者的功能并解决了大多数与孟加拉语相关的排版问题。它还完全支持常用命令和环境,自动从孟加拉语转换为英语(反之亦然),并提供补丁来修复流行孟加拉语字体中不成比例的空格错误。使用latexbangla,您只需键入通常的 LaTeX 语法,并期望一切都按预期运行。

示例代码:(摘自包装文档)

\documentclass{article}
\usepackage[banglamainfont=Kalpurush, 
            banglattfont=Siyam Rupali
           ]{latexbangla}
\begin{document}
পিথাগোরাস(Pythagoras)-এর উপপাদ্যটি হল, \textit{সমকোণী ত্রিভুজের অতিভুজের উপর অঙ্কিত  
বর্গক্ষেত্রের ক্ষেত্রফল অপর দুই বাহুর উপর অঙ্কিত বর্গক্ষেত্রের ক্ষেত্রফলের সমষ্টির সমান।}
অর্থাৎ কোন সমকোণী ত্রিভুজের অতিভুজ $c$ এবং অপর দুই বাহু $a$ এবং $b$ হলে,
\[c^2=a^2+b^2\]
লক্ষ্য করুন, এখন পর্যন্ত টেক্সট প্রদর্শনের জন্য \textbf{কালপুরুষ} ফন্ট ব্যবহৃত হয়েছে।\\
\texttt{এবার, টেলিটাইপ(Teletype) টেক্সট প্রদর্শনের জন্য \textbf{সিয়াম রূপালী} 
ফন্ট ব্যবহৃত হল।}\\
পুনরায় টেক্সট প্রদর্শনের জন্য \textbf{কালপুরুষ} ফন্ট ব্যবহৃত হচ্ছে।
\end{document}

在此处输入图片描述

更新:polyglossia新的和存在数字破损问题LaTeXbangla

修复该尖锐问题的方法这里。这个问题主要是因为polyglossia 漏洞。后来修复了。但LaTeXbangla没有更新。

答案3

自 2020 年起,LuaLaTeX(使用 HarfBuzz 渲染器)能够显示孟加拉语。该babel软件包也支持它。以下模板(基于已接受的答案)在 TeX Live 2020 中的 LuaLaTeX 上运行。

\documentclass{article}
\tracinglostchars=2
\usepackage[bidi=basic,layout=sectioning]{babel}
\usepackage{fontspec}

\babelprovide[import,main]{bengali}
\babelprovide[onchar=fonts ids]{english}
\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX, Renderer=HarfBuzz}

%% These fonts are abailable at: https://www.google.com/get/noto/
\babelfont{rm}
          [Ligatures=Common,Scale=1.0,Language=Default]{Noto Serif}
\babelfont{sf}
          [Language=Default]{Noto Sans}
\babelfont{tt}
          [Language=Default]{Noto Sans Mono}
\babelfont[bengali]{rm}
          [Language=Default]{Noto Serif Bengali}
\babelfont[bengali]{sf}
          [Language=Default]{Noto Sans Bengali}
\babelfont[bengali]{tt}
          [Language=Default]{Noto Sans Bengali UI}

\babeltags{english=english}
\babeltags{bengali=bengali}

\begin{document}
\section{ভূমিকা}
এটি একটি ইংরেজি লেখা ছোট অধ্যায় যে বাঙ্গালী এ Google Translate দ্বারা অনুবাদ করা হয়েছে. এটা খুব স্পষ্ট নয় যদি সঠিক অনুবাদ বা না কিন্তু ক্রিয়াটি ফন্ট দেখাতে যথেষ্ট হওয়া উচিত.
\end{document}

Noto 字体样本

此示例会在您切换到拉丁文字时自动从孟加拉语字体切换到英语字体,因此“Google Translate”会以 Noto Serif 而不是 Noto Serif Bengali 显示。如果您删除该选项,您仍然可以使用、等onchar=fonts ids在它们之间切换。\textenglish\begin{english}

maparabic您可以通过添加选项将页码、章节、方程式等的编号更改为孟加拉语\babelprovide,还可以重新定义其他计数器,如alphAlph

您也可以使用您选择的字体。Language=Default字体功能并非绝对必要。我将它们包括在内是为了抑制一些无害的警告消息。

答案4

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{fontspec}
%\setmainfont[]{kalpurush.ttf} % u can use only one font 
\setmainfont[
BoldFont=kalpurush.ttf,
ItalicFont=kalpurush.ttf,
BoldItalicFont=kalpurush.ttf
]{kalpurush.ttf}

\title{বাংলা আমার মায়ের ভাষা}
\author{বিপুল }
\date{শনিবার ২১শে ভাদ্র ১৪২৭ বঙ্গাব্দ}

\begin{document}
\maketitle
কিভাবে সহজে ঝামেলামুক্তভাবে বাংলা লিখবেন? 
\begin{enumerate}
\item প্রথমে https://www.overleaf.com  তে যান, একাউন্ট খুলুন, এবং প্রজেক্ট তৈরি করুন। 
\item আপনার  পছন্দের বাংলা ফন্ট ডাউনলোড করুন, আমি কালপুরুষ ব্যবহার করেছি। 
\item ফন্টটি ওভারলিফে আপলোড করুন 
\item usepackage{fontpec} এবং setmainfront(kalpurush.ttf) সেট করা হয়েছে। 
\item এখন পছন্দ মতো বাংলা লিখুন।
\item আপনি  চাইলে বোল্ড, ইটালিক বা অন্য স্টাইলের জন্য ভিন্ন ভিন্ন ফন্ট ব্যবহার করতে পারেন। 
\item শুভকামনা রইলো। 
\end{enumerate}

相关内容