使用 Malayalam 包时更改内容名称

使用 Malayalam 包时更改内容名称

没问题。谢谢。我使用 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}

Rachana 字体示例

Thia 可与 TeX Live 2020 中的 LuaLaTeX 或 TeX Live 2019 中的 XeLaTeX 配合使用(可能与luahbtex2019 中的配合使用),但截至 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}

Noto 字体示例

在当前版本中babel\babeltags{malayalam = malayalam}应该更简单地定义\textmalayalam命令和malayalam环境。

由于我不会说马拉雅拉姆语,因此对于文档中的任何错误我深表歉意。

如果您愿意,polyglossia自 1.2 版起就支持马拉雅拉姆语。您可以使用以下命令添加与最常用polyglossia命令的兼容性babel

\newcommand\textmalayalam[1]{\foreignlanguage{malayalam}{#1}}
\newenvironment{malayalam}{\begin{otherlanguage}{malayalam}}{\end{otherlanguage}}

相关内容