\documentclass[a4paper, 12pt]{article}
\usepackage{fontspec}
\newfontfamily{\defaultfont}{CMU Serif}
\newfontfamily{\thaifont}[Scale=MatchLowercase]{TH Sarabun Chula}
\usepackage{polyglossia}
\setdefaultlanguage{thai}
\setotherlanguages{english}
\usepackage[Latin, Thai]{ucharclasses}
\setDefaultTransitions{\defaultfont}{}
\setTransitionTo{Thai}{\thaifont}
\XeTeXlinebreaklocale "th"
\XeTeXlinebreakskip = 0pt plus 1pt
\linespread{1.25}
\usepackage{amsmath, amsthm, amssymb}
\begin{document}
\begin{enumerate}
\item A
\begin{enumerate}
\item a
\item b
\end{enumerate}
\item B
\begin{enumerate}
\item c
\item d
\end{enumerate}
\end{enumerate}
\end{document}
gives
I want to change (a), (b), … to ก., ข., … (Thai language). I have tried using enumitem
package but it clashed with polyglossia
package and cause many problems. Using polyglossia
to change the enumerate might be the way to go but I can't figure it out.
Best Answer
Let's look at the definition of default enumerate counters in
source2e
And now one can create a custom counter for enumerate, in your case for Thai alphabet
And whenever you want to use the counter, add this command before your
enumerate
environment.Alternatively, you can redefine styling of each enumerate levels by changing
\labelenumi
,\labelenumii
,\labelenumiii
,\labelenumiv
, etc.For example, setting this will make all first level list have
1)
,2)
, ... numbering and all second level enumerate list will have Thai alphabet numbering in parentheses.