将枚举项更改为高棉 Unicode 字母表

将枚举项更改为高棉 Unicode 字母表

这是我的代码,将默认枚举项更改为roman number

\documentclass{article}
\def\theenumi{\roman{enumi}}
\def\theenumii{\roman{enumii}}
\begin{document}
    \begin{enumerate}
        \item one
        \begin{enumerate}
            \item one
            \item two
        \end{enumerate}
        \item two
        \begin{enumerate}
            \item one
            \item two
        \end{enumerate}
    \end{enumerate}
\end{document}

\enumii我的目的是将第二级改为khmer unicode alphabet。有什么办法吗?或者有什么方法可以将 映射latin alphabetkhmer alphabet,即

a->ក

b->ខ

c->គ

例如?

以下是链接下载 Khmer fonts

答案1

\alph使用拉丁字母的命令只是一个简单的列表:

\def\@alph#1{%
  \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or
   k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
    y\or z\else\@ctrerr\fi}

因此,一旦您设置了高棉字体并了解字母表,添加类似的命令就应该很简单。

在此处输入图片描述

我在 Windows 系统上使用了 xetex 和现有字体(DaunPenh),该字体涵盖了该 Unicode 范围,并创建了一个\khmercount命令(我希望,如果我做对了)涵盖了字母表中的前几个位置。

如果您使用的是 pdflatex,则需要将^^^^Unicode 符号更改为字体包所需的任何语法。我没有继续进行前几个操作,因为我不知道您需要的计数顺序是否与 Unicode 顺序匹配。抱歉,我根本看不懂这个脚本。

\documentclass{article}
\def\theenumi{\roman{enumi}}
\def\theenumii{\khmercount{enumii}}
\usepackage{fontspec}
\setmainfont{DaunPenh}

\makeatletter
\def\khmercount#1{\expandafter\@khmercount\csname c@#1\endcsname}

% extend as needed!
\def\@khmercount#1{%
  \ifcase#1\or
   ^^^^1780\or
   ^^^^1781\or
   ^^^^1782\or
   ^^^^1783\or
   ^^^^1784\or
   ^^^^1785\or
   ^^^^1786\else
   \@ctrerr\fi}

\makeatother
\begin{document}

    \begin{enumerate}
        \item one
        \begin{enumerate}
            \item one
            \item two
        \end{enumerate}
        \item two
        \begin{enumerate}
            \item one
            \item two
        \end{enumerate}
    \end{enumerate}
\end{document}

相关内容