没问题。谢谢。我使用 Malayalam 包,输入拉丁文脚本,保存为 *.mm 文件,通过 mal 预处理器生成 tex 文件。使用 polyglossia 输入 Malayalam 很困难,因为我没有好的键盘。据我所知,可用的键盘非常差,而且输入的是糟糕的新脚本。解决方案:是否可以使用样式文件生成数字?我不知道如何编写一个。
答案1
babel
和软件包polyglossia
都支持马拉雅拉姆语。您需要使用 XeLaTeX 或 2020 或更高版本的 LuaLaTeX 来编译您的文档。
还有一个不错的福利,您可以像平常一样输入马拉雅拉姆语脚本,并使用文字处理器中可以使用的任何字体。您还将获得适合您语言的连字符模式。
更新答案
根据您的评论,您希望使用 Rachana 字体和 Malayalam 数字。尽管“Contents”的本地化字符串似乎默认设置正确,但至少据我所知,我演示了如何使用 进行设置\renewcommand\malayalamcontentsname
。
\tracinglostchars = 2 % Print a warning to the console if a glyph is missing.
\documentclass{article}
\usepackage[paperwidth=10cm]{geometry} % To format a MWE on TeX.SX
\usepackage[english, bidi=default, layout=sectioning.counters]{babel}
\usepackage{fontspec}
\babelprovide[import,maparabic,main]{malayalam}
\defaultfontfeatures{Scale=MatchLowercase}
\babelfont{rm}
[Scale=1.0, Ligatures={Common,Rare,TeX}]{Linux Libertine O}
\babelfont{sf}
[Ligatures={Common, Rare, TeX}]{Linux Biolinum O}
\babelfont[malayalam]{rm}
{Rachana}
\newcommand\textmalayalam[1]{\foreignlanguage{malayalam}{#1}}
\newenvironment{malayalam}%
{\begin{otherlanguage}{malayalam}}%
{\end{otherlanguage}}
\newcommand\textenglish[1]{\foreignlanguage{english}{#1}}
\newenvironment{english}%
{\begin{otherlanguage}{english}}%
{\end{otherlanguage}}
\renewcommand\malayalamcontentsname{ഉള്ളടക്കം}
\begin{document}
\tableofcontents
\section{മലയാളം}
\begin{english}
This text is Romanized.
\end{english}
\end{document}
Thia 可与 TeX Live 2020 中的 LuaLaTeX 或 TeX Live 2019 中的 XeLaTeX 配合使用(可能与luahbtex
2019 中的配合使用),但截至 2020 年 6 月,TeX Live 2020 中存在一个错误,导致此 MWE 与 XeLaTeX 不兼容。Javier Bezos 目前建议采用以下解决方法:\babelprovide[import,maparabic,main,typography/prehyphenchar=]{malayalam}
babel
作为不使用或的快速修补程序polyglossia
,您可以定义马拉雅拉姆字体并将“内容”替换为:
\usepackage{fontspec}
\newfontfamily\malayalamfont{Rachana}[Scale=MatchLowercase, Script=Malayalam]
\renewcommand\contentsname{{\malayalamfont ഉള്ളടക്കം}}
原始答案
\tracinglostchars = 2 % Print a warning to the console if a glyph is missing.
\documentclass{article}
\usepackage[paperwidth=10cm]{geometry} % To format a MWE on TeX.SX
\usepackage{babel}
\usepackage{fontspec}
\babelprovide[import,main]{malayalam}
\defaultfontfeatures{Scale=MatchLowercase}
\babelfont{rm}
{Noto Serif}
\babelfont{sf}
{Noto Sans}
\babelfont{tt}
{Noto Sans Mono}
\babelfont[malayalam]{rm}
{Noto Serif Malayalam}
\babelfont[malayalam]{sf}
{Noto Sans Malayalam}
\begin{document}
\tableofcontents
\section{മലയാളം}
\end{document}
在当前版本中babel
,\babeltags{malayalam = malayalam}
应该更简单地定义\textmalayalam
命令和malayalam
环境。
由于我不会说马拉雅拉姆语,因此对于文档中的任何错误我深表歉意。
如果您愿意,polyglossia
自 1.2 版起就支持马拉雅拉姆语。您可以使用以下命令添加与最常用polyglossia
命令的兼容性babel
:
\newcommand\textmalayalam[1]{\foreignlanguage{malayalam}{#1}}
\newenvironment{malayalam}{\begin{otherlanguage}{malayalam}}{\end{otherlanguage}}