texlive[44140] Master: thaienum (1may17)

commits+karl at tug.org commits+karl at tug.org
Mon May 1 23:54:34 CEST 2017


Revision: 44140
          http://tug.org/svn/texlive?view=revision&revision=44140
Author:   karl
Date:     2017-05-01 23:54:33 +0200 (Mon, 01 May 2017)
Log Message:
-----------
thaienum (1may17)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-langother.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/thaienum/
    trunk/Master/texmf-dist/doc/latex/thaienum/README.md
    trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf
    trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex
    trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.tex
    trunk/Master/texmf-dist/tex/latex/thaienum/
    trunk/Master/texmf-dist/tex/latex/thaienum/thaienum.sty
    trunk/Master/tlpkg/tlpsrc/thaienum.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/thaienum/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thaienum/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/thaienum/README.md	2017-05-01 21:54:33 UTC (rev 44140)
@@ -0,0 +1,22 @@
+# LaTeX Thai Enumeration Package
+
+This `thaienum` LaTeX package provides the command to use Thai numerals
+(๑ ๒ ๓ ๔ ...) or Thai characters (ก ข ค ง ...) as labels in enumerate
+environment.
+
+## Usage
+
+Once the package is loaded with `\usepackage{thaienum}`, you can use labels
+such as `\thainum*` or `\thaimultialph*` in conjunction with the package
+`enumitem`. See the documentation for concrete examples.
+
+## Package maintenance
+
+The author and maintainer of this package is Abhabongse Janthong. Anything
+regardling this package such as bug report or suggestions should be reported
+via GitHub at https://github.com/abhabongse/latex-thaienum/issues.
+
+## License
+
+This package, which includes all files in this repository, is released under
+the [LaTeX project public license (LPPL), version 1.3c](https://www.latex-project.org/lppl/lppl-1-3c/).


Property changes on: trunk/Master/texmf-dist/doc/latex/thaienum/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf	2017-05-01 21:52:48 UTC (rev 44139)
+++ trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf	2017-05-01 21:54:33 UTC (rev 44140)

Property changes on: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex	2017-05-01 21:54:33 UTC (rev 44140)
@@ -0,0 +1,384 @@
+%% thaienum.tex
+%% Copyright 2017 Abhabongse Janthong
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Abhabongse Janthong.
+% This work consists of all files in the repository, including
+% thaienum.sty and thaienum[.pre].tex.
+%
+% This file provides the basic howto usages of the package 'thaienum'.
+%
+\documentclass[11pt]{ltxguide}
+
+%%------------------------------------------------------------------
+%%  Load utility package
+%%------------------------------------------------------------------
+\usepackage{etoolbox}
+
+%%------------------------------------------------------------------
+%%  Set up Thai language and default font selection
+%%------------------------------------------------------------------
+\usepackage[T1]{fontenc}
+\usepackage{libertine}
+\usepackage[varqu,varl]{inconsolata}
+\usepackage[thai,thaiindentfirst]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage[sans,sflaksaman,rmnorasi]{fonts-tlwg}
+
+\renewcommand{\baselinestretch}{1.5}
+\renewrobustcmd{\englishrmdefault}{LinuxLibertineT-TLF}
+\renewrobustcmd{\englishsfdefault}{LinuxBiolinumT-TLF}
+\renewrobustcmd{\englishttdefault}{zi4}
+
+\renewrobustcmd{\thaittdefault}{zi4}
+\renewrobustcmd{\ttfamily}{%
+    \fontencoding{\latinencoding}%
+    \fontfamily{\ttdefault}%
+    \selectfont}
+
+%%------------------------------------------------------------------
+%% Load package to be documented
+%%------------------------------------------------------------------
+\usepackage{enumitem}
+\usepackage{thaienum}
+\setlist[enumerate,1]{%
+    topsep=1pc,partopsep=0pc,parsep=0pc,itemsep=1pc,listparindent=2pc,%
+    itemindent=0pc}
+
+%%------------------------------------------------------------------
+%%  Set default titlesec
+%%  There is a bug when loading 'titlesec' so here is the quick hack. https://tex.stackexchange.com/questions/299969/titlesec-loss-of-section-numbering-with-the-new-update-2016-03-15
+%%------------------------------------------------------------------
+\usepackage[sf,bf]{titlesec}
+\makeatletter
+\patchcmd{\ttlh at hang}{\parindent\z@}{\parindent\z@\leavevmode}{}{}
+\patchcmd{\ttlh at hang}{\noindent}{}{}{}
+\makeatother
+\usepackage{multicol}
+
+%%------------------------------------------------------------------
+%%  Setup color choices
+%%------------------------------------------------------------------
+\usepackage[dvipsnames,svgnames,table,fixpdftex,hyperref]{xcolor}
+\definecolor{DarkGray}{gray}{0.25}
+\definecolor{Gray}{gray}{0.5}
+\definecolor{LightGray}{gray}{0.65}
+\definecolor{VeryLightGray}{gray}{0.9}
+\definecolor{GrayBG}{gray}{0.9}
+\definecolor{LightGrayBG}{gray}{0.935}
+\definecolor{VeryLightGrayBG}{gray}{0.97}
+
+% Color settings for mdframed
+\definecolor{ShadeColor}{gray}{0.935}
+\definecolor{BorderColor}{gray}{0.785}
+
+%%------------------------------------------------------------------
+%%  Code listings package and settings
+%%------------------------------------------------------------------
+\RequirePackage{listings}
+\lstset{%
+    % Basic Settings
+    basicstyle=\small\ttfamily,%
+    captionpos=b,%
+    % Margins and Background
+    xleftmargin=0pc,%
+    xrightmargin=0pc,%
+    rulesep=2pc,%
+    frame=trbl,%
+    framesep=0.5pc,%
+    framextopmargin=0pc,%
+    framexbottommargin=0pc,%
+    framexleftmargin=0.125pc,%
+    framexrightmargin=0pc,%
+    backgroundcolor=\color{ShadeColor},%
+    rulecolor=\color{BorderColor},%
+    % Spacing and Horizontal Flow
+    showspaces=false,%
+    showstringspaces=false,%
+    showtabs=false,%
+    tabsize=2,%
+    breaklines=true,%
+    columns=fullflexible,%
+    keepspaces=true,%
+    % Vertical Flow
+    aboveskip=\bigskipamount,%
+    belowskip=\bigskipamount,%
+    lineskip=0.0001pt,
+    % Line Numbers
+    stepnumber=1,%
+    numbers=left,%
+    numbersep=1.25pc,%
+    numberstyle=\ttfamily\color{Gray},%
+    % Special Keyword Format
+    stringstyle=\color{red},%
+    commentstyle=\color{ForestGreen!90},%
+    keywordstyle=\color{MidnightBlue!80},%
+    keywordstyle={[2]\color{teal!80}},%
+    extendedchars=true}
+
+\lstdefinelanguage{LaTeX}{%
+    language=[LaTeX]{TeX},%
+    sensitive=true}
+
+%%------------------------------------------------------------------
+%%  Setup constant lengths for parts of document.
+%%------------------------------------------------------------------
+\addtolength{\topmargin}{-3pc}
+\addtolength{\textwidth}{6pc}
+\addtolength{\oddsidemargin}{-2pc}
+\addtolength{\textheight}{7pc}
+\setlength{\parindent}{2pc}
+\setlength{\parskip}{0pc}
+
+%%------------------------------------------------------------------
+%%  Document information
+%%------------------------------------------------------------------
+\title{แพ็กเกจ \textlatin{\texttt{thaienum}}}
+\author{อาภาพงศ์ จันทร์ทอง}
+
+\date{เวอร์ชัน 0.2\\30 เมษายน 2017}
+
+\begin{document}
+\maketitle
+
+\section{กล่าวนำ}
+
+โดยปกติแล้ว หากผู้ใช้งาน \textlatin{\textrm\LaTeX} ต้องการที่จะเขียนลำดับรายการโดยที่สามารถกำหนดชนิดของหัวรายการในรูปแบบต่าง ๆ มักจะเรียกใช้งานแพ็กเกจ \texttt{enumitem} เพราะเป็นแพ็กเกจที่มีความยืดหยุ่นสูง เช่น สามารถกำหนดให้ตั้งหัวรายการด้วยเลขโรมันได้ เช่น
+
+\smallskip
+\renewcommand{\baselinestretch}{0.1}
+\begin{lstlisting}[language=LaTeX,escapechar={â},basicstyle=\ttfamily,lineskip={0.05pc}]
+\begin{enumerate}[label={\Roman*.}]
+    \item  â{\textthai{\small รายการที่หนึ่ง}}â
+    \item  â{\textthai{\small รายการที่สอง}}â
+    \item  â{\textthai{\small รายการที่สาม}}â
+    \item  â{\textthai{\small รายการที่สี่}}â
+\end{enumerate}
+\end{lstlisting}
+\renewcommand{\baselinestretch}{1.5}
+
+\begin{enumerate}[topsep=0pc,itemsep=0pc,label={\latintext\rmfamily\Roman*.}]
+    \item รายการที่หนึ่ง
+    \item รายการที่สอง
+    \item รายการที่สาม
+    \item รายการที่สี่
+\end{enumerate}
+
+\medskip
+แต่ก็มีผู้ใช้งาน \textlatin{\textrm\LaTeX} กลุ่มหนึ่ง โดยเฉพาะผู้ใช้งานภาษาไทยมักประสบปัญหาที่ไม่สามารถตั้งหัวรายการเป็นเลขไทย (เช่น ๑ ๒ ๓ ๔ \ldots) หรืออักษรภาษาไทย (ก ข ค ง \ldots) ได้โดยอัตโนมัติ ก่อให้เกิดความไม่สะดวกในการใช้งาน \textlatin{\textrm\LaTeX} กับภาษาไทยเป็นอย่างยิ่ง
+
+แพ็กเกจ \textlatin{\texttt{thaienum}} สำหรับ \textlatin{\textrm\LaTeX} จึงถูกสร้างขึ้นมาเพื่อตอบโจทย์ดังกล่าว โดยใช้ควบคู่กับแพ็กเกจหลักอย่าง \texttt{enumitem} นั่นเอง
+
+
+\section{วิธีใช้งานเบื้องต้น}
+
+\subsection{ก่อนเริ่มใช้งาน}
+
+ก่อนที่ผู้ใช้งานจะนำเข้าแพ็กเกจ \texttt{thaienum} นีเพื่อใช้งาน ผู้นั้นจำเป็นต้องเรียกนำเข้าแพ็กเกจทั้งสิ้น 2 แพ็กเกจก่อนดังต่อไปนี้
+\begin{enumerate}[topsep=0.25pc,itemsep=0pc,label={\thainum*.}]
+    \item  แพ็กเกจ \texttt{babel} และต้องนำเข้าการใช้งานภาษาไทยด้วย
+    \item  แพ็กเกจ \texttt{enumitem}
+\end{enumerate}
+
+\begin{lstlisting}[language=LaTeX]
+\usepackage[thai]{babel}
+\usepackage{enumitem}
+\usepackage{thaienum}
+\end{lstlisting}
+
+\subsection{การเลือกใช้งาน}
+
+เมื่อผู้ใช้งานต้องการจะเขียนรายการใหม่ สามารถสร้าง \texttt{environment} ประะภท \texttt{enumerate} โดยกำหนดค่า \texttt{parameter} ชื่อ \texttt{label} ให้มีหัวรายการตามที่ต้องการได้ โดยสามารถกำหนดค่าต่อไปนี้
+
+\begin{enumerate}[topsep=0.25pc,itemsep=0pc,label={\thainum*.}]
+    \item  \texttt{thainum} สำหรับการนับโดยใช้เลขไทย ๑ ๒ ๓ ๔ ๕ \ldots
+    \item  \label{it:loalph} \texttt{thaialph} สำหรับการนับโดยใช้พยัญชนะไทย ก ข ค ง จ \ldots
+    \item  \label{it:hialph} \texttt{thaiAlph} สำหรับการนับโดยใช้พยัญชนะไทย ก ข ฃ ค ฅ \ldots\, โดยไม่ข้าม ฃ ฅ และ ฆ
+\end{enumerate}
+
+\medskip
+อย่างไรก็ดี สำหรับหัวรายการประเภทที่ \ref{it:loalph} และ \ref{it:hialph} นั้น มีจำนวนพยัญชนะจำกัด จึงไม่สามารถใช้ในกรณีที่รายการมีความยาวเกิน 41 และ 44 รายการได้ตามลำดับ แพ็กเกจนี้จึงมีอนุญาตให้กำหนดค่าได้อีกสองประเภทเพิ่มเติม ได้แก่
+
+\begin{enumerate}[topsep=0.25pc,itemsep=0pc,start=4,label={\thainum*.}]
+    \item  \texttt{thaimultialph} ซึ่งคล้ายกับ \texttt{thaialph} แต่ว่าถัดจาก ฮ.นกฮูก นั้นรายการถัดไปจะนับใหม่เป็น กก กข กค กง กจ \ldots\, ไปเรื่อย ๆ
+    \item  \texttt{thaimultiAlph} ซึ่งคล้ายกับ \texttt{thaiAlph} แต่ว่าถัดจาก ฮ.นกฮูก นั้นรายการถัดไปจะนับใหม่เป็น กก กข กฃ กค กฅ \ldots\, ไปเรื่อย ๆ
+\end{enumerate}
+
+\newpage
+\subsubsection{ตัวอย่างการใช้งานกับเลขไทย}
+
+เราสามารถใช้เลขไทยกับรายการได้ดังนี้
+
+\smallskip
+\renewcommand{\baselinestretch}{0.1}
+\begin{lstlisting}[language=LaTeX,escapechar={â},basicstyle=\ttfamily,lineskip={0.05pc}]
+\begin{enumerate}[label={\thainum*.}]
+    \item  â{\textthai{\small รายการที่หนึ่ง}}â
+    \item  â{\textthai{\small รายการที่สอง}}â
+    \item  â{\textthai{\small รายการที่สาม}}â
+    \item  â{\textthai{\small รายการที่สี่}}â
+\end{enumerate}
+\end{lstlisting}
+\renewcommand{\baselinestretch}{1.5}
+
+\begin{enumerate}[topsep=0pc,itemsep=0pc,label={\thainum*.}]
+    \item  รายการที่หนึ่ง
+    \item  รายการที่สอง
+    \item  รายการที่สาม
+    \item  รายการที่สี่
+\end{enumerate}
+
+\subsubsection{ตัวอย่างการใช้งานกับอักษรไทย}
+
+เราสามารถใช้อักษรไทยกับรายการได้ดังนี้
+
+\smallskip
+\renewcommand{\baselinestretch}{0.1}
+\begin{lstlisting}[language=LaTeX,escapechar={â},basicstyle=\ttfamily,lineskip={0.05pc}]
+\begin{enumerate}[label={\thaialph*.}]
+    \item  â{\textthai{\small รายการที่หนึ่ง}}â
+    \item  â{\textthai{\small รายการที่สอง}}â
+    \item  â{\textthai{\small รายการที่สาม}}â
+    \item  â{\textthai{\small รายการที่สี่}}â
+\end{enumerate}
+\end{lstlisting}
+\renewcommand{\baselinestretch}{1.5}
+
+\begin{enumerate}[topsep=0pc,itemsep=0pc,label={\thaialph*.}]
+    \item  รายการที่หนึ่ง
+    \item  รายการที่สอง
+    \item  รายการที่สาม
+    \item  รายการที่สี่
+\end{enumerate}
+
+\newpage
+\subsubsection{ตัวอย่างการใช้งานกับอักษรไทยในรายการที่ยาว}
+
+หากเราตั้งค่าให้ \lstinline[language=LaTeX]!label={\thaialph.}! กับรายการที่ยาวเกิน 41 รายการ เราจะพบปัญหาดังนี้ (โปรดดู \texttt{source code} เพื่อความชัดเจนที่มากขึ้น)
+\begin{center}
+    \color{red}\texttt{thaienum.tex:315: LaTeX Error: Counter too large. [ {\textbackslash}item ]}
+\end{center}
+
+\begin{multicols}{4}
+    \scriptsize
+    \begin{enumerate}[listparindent=0pc,topsep=0pc,itemsep=0pc,label={\thaialph*.}]
+        \item  รายการที่หนึ่ง
+        \item  รายการที่สอง
+        \item  รายการที่สาม
+        \item  รายการที่สี่
+        \item  รายการที่ห้า
+        \item  รายการที่หก
+        \item  รายการที่เจ็ด
+        \item  รายการที่แปด
+        \item  รายการที่เก้า
+        \item  รายการที่สิบ
+        \item  รายการที่สิบเอ็ด
+        \item  รายการที่สิบสอง
+        \item  รายการที่สิบสาม
+        \item  รายการที่สิบสี่
+        \item  รายการที่สิบห้า
+        \item  รายการที่สิบหก
+        \item  รายการที่สิบเจ็ด
+        \item  รายการที่สิบแปด
+        \item  รายการที่สิบเก้า
+        \item  รายการที่ยี่สิบ
+        \item  รายการที่ยี่สิบเอ็ด
+        \item  รายการที่ยี่สิบสอง
+        \item  รายการที่ยี่สิบสาม
+        \item  รายการที่ยี่สิบสี่
+        \item  รายการที่ยี่สิบห้า
+        \item  รายการที่ยี่สิบหก
+        \item  รายการที่ยี่สิบเจ็ด
+        \item  รายการที่ยี่สิบแปด
+        \item  รายการที่ยี่สิบเก้า
+        \item  รายการที่สามสิบ
+        \item  รายการที่สามสิบเอ็ด
+        \item  รายการที่สามสิบสอง
+        \item  รายการที่สามสิบสาม
+        \item  รายการที่สามสิบสี่
+        \item  รายการที่สามสิบห้า
+        \item  รายการที่สามสิบหก
+        \item  รายการที่สามสิบเจ็ด
+        \item  รายการที่สามสิบแปด
+        \item  รายการที่สามสิบเก้า
+        \item  รายการที่สี่สิบ
+        \item  รายการที่สี่สิบเอ็ด
+        \item[.]  รายการที่สี่สิบสอง
+        % To replicate error, replace the line above with the line below.
+        % \item  รายการที่สี่สิบสอง
+    \end{enumerate}
+\end{multicols}
+
+\medskip
+แต่หากเราตั้งค่าให้ \lstinline[language=LaTeX]!label={\thaimultialph.}! กับรายการที่ยาวเกิน 41 รายการ เราจะได้ผลลัพธ์ดังนี้
+
+\begin{multicols}{4}
+    \scriptsize
+    \begin{enumerate}[listparindent=0pc,topsep=0pc,itemsep=0pc,label={\thaimultialph*.}]
+        \item  รายการที่หนึ่ง
+        \item  รายการที่สอง
+        \item  รายการที่สาม
+        \item  รายการที่สี่
+        \item  รายการที่ห้า
+        \item  รายการที่หก
+        \item  รายการที่เจ็ด
+        \item  รายการที่แปด
+        \item  รายการที่เก้า
+        \item  รายการที่สิบ
+        \item  รายการที่สิบเอ็ด
+        \item  รายการที่สิบสอง
+        \item  รายการที่สิบสาม
+        \item  รายการที่สิบสี่
+        \item  รายการที่สิบห้า
+        \item  รายการที่สิบหก
+        \item  รายการที่สิบเจ็ด
+        \item  รายการที่สิบแปด
+        \item  รายการที่สิบเก้า
+        \item  รายการที่ยี่สิบ
+        \item  รายการที่ยี่สิบเอ็ด
+        \item  รายการที่ยี่สิบสอง
+        \item  รายการที่ยี่สิบสาม
+        \item  รายการที่ยี่สิบสี่
+        \item  รายการที่ยี่สิบห้า
+        \item  รายการที่ยี่สิบหก
+        \item  รายการที่ยี่สิบเจ็ด
+        \item  รายการที่ยี่สิบแปด
+        \item  รายการที่ยี่สิบเก้า
+        \item  รายการที่สามสิบ
+        \item  รายการที่สามสิบเอ็ด
+        \item  รายการที่สามสิบสอง
+        \item  รายการที่สามสิบสาม
+        \item  รายการที่สามสิบสี่
+        \item  รายการที่สามสิบห้า
+        \item  รายการที่สามสิบหก
+        \item  รายการที่สามสิบเจ็ด
+        \item  รายการที่สามสิบแปด
+        \item  รายการที่สามสิบเก้า
+        \item  รายการที่สี่สิบ
+        \item  รายการที่สี่สิบเอ็ด
+        \item  รายการที่สี่สิบสอง
+        \item  รายการที่สี่สิบสาม
+        \item  รายการที่สี่สิบสี่
+        \item  รายการที่สี่สิบห้า
+        \item  รายการที่สี่สิบหก
+        \item  รายการที่สี่สิบเจ็ด
+        \item  รายการที่สี่สิบแปด
+        \item  รายการที่สี่สิบเก้า
+        \item  รายการที่ห้าสิบ
+    \end{enumerate}
+\end{multicols}
+
+\section{ขอขอบคุณ}
+
+ขอขอบคุณแพ็กเกจ \texttt{moreenum} สำหรับความคิดริเริ่มและแนวทางที่จะสร้างแพ็กเกจนี้ขึ้นมา และขอขอบคุณแพ็กเกจ \texttt{babel-thai} สำหรับการสนับสนุนภาษาไทยใน \textlatin{\textrm\LaTeX} เรื่อยมา
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.tex	2017-05-01 21:54:33 UTC (rev 44140)
@@ -0,0 +1,384 @@
+%% thaienum.tex
+%% Copyright 2017 Abhabongse Janthong
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Abhabongse Janthong.
+% This work consists of all files in the repository, including
+% thaienum.sty and thaienum[.pre].tex.
+%
+% This file provides the basic howto usages of the package 'thaienum'.
+%
+\documentclass[11pt]{ltxguide}
+
+%%------------------------------------------------------------------
+%%  Load utility package
+%%------------------------------------------------------------------
+\usepackage{etoolbox}
+
+%%------------------------------------------------------------------
+%%  Set up Thai language and default font selection
+%%------------------------------------------------------------------
+\usepackage[T1]{fontenc}
+\usepackage{libertine}
+\usepackage[varqu,varl]{inconsolata}
+\usepackage[thai,thaiindentfirst]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage[sans,sflaksaman,rmnorasi]{fonts-tlwg}
+
+\renewcommand{\baselinestretch}{1.5}
+\renewrobustcmd{\englishrmdefault}{LinuxLibertineT-TLF}
+\renewrobustcmd{\englishsfdefault}{LinuxBiolinumT-TLF}
+\renewrobustcmd{\englishttdefault}{zi4}
+
+\renewrobustcmd{\thaittdefault}{zi4}
+\renewrobustcmd{\ttfamily}{%
+    \fontencoding{\latinencoding}%
+    \fontfamily{\ttdefault}%
+    \selectfont}
+
+%%------------------------------------------------------------------
+%% Load package to be documented
+%%------------------------------------------------------------------
+\usepackage{enumitem}
+\usepackage{thaienum}
+\setlist[enumerate,1]{%
+    topsep=1pc,partopsep=0pc,parsep=0pc,itemsep=1pc,listparindent=2pc,%
+    itemindent=0pc}
+
+%%------------------------------------------------------------------
+%%  Set default titlesec
+%%  There is a bug when loading 'titlesec' so here is the quick hack. https://tex.stackexchange.com/questions/299969/titlesec-loss-of-section-numbering-with-the-new-update-2016-03-15
+%%------------------------------------------------------------------
+\usepackage[sf,bf]{titlesec}
+\makeatletter
+\patchcmd{\ttlh at hang}{\parindent\z@}{\parindent\z@\leavevmode}{}{}
+\patchcmd{\ttlh at hang}{\noindent}{}{}{}
+\makeatother
+\usepackage{multicol}
+
+%%------------------------------------------------------------------
+%%  Setup color choices
+%%------------------------------------------------------------------
+\usepackage[dvipsnames,svgnames,table,fixpdftex,hyperref]{xcolor}
+\definecolor{DarkGray}{gray}{0.25}
+\definecolor{Gray}{gray}{0.5}
+\definecolor{LightGray}{gray}{0.65}
+\definecolor{VeryLightGray}{gray}{0.9}
+\definecolor{GrayBG}{gray}{0.9}
+\definecolor{LightGrayBG}{gray}{0.935}
+\definecolor{VeryLightGrayBG}{gray}{0.97}
+
+% Color settings for mdframed
+\definecolor{ShadeColor}{gray}{0.935}
+\definecolor{BorderColor}{gray}{0.785}
+
+%%------------------------------------------------------------------
+%%  Code listings package and settings
+%%------------------------------------------------------------------
+\RequirePackage{listings}
+\lstset{%
+    % Basic Settings
+    basicstyle=\small\ttfamily,%
+    captionpos=b,%
+    % Margins and Background
+    xleftmargin=0pc,%
+    xrightmargin=0pc,%
+    rulesep=2pc,%
+    frame=trbl,%
+    framesep=0.5pc,%
+    framextopmargin=0pc,%
+    framexbottommargin=0pc,%
+    framexleftmargin=0.125pc,%
+    framexrightmargin=0pc,%
+    backgroundcolor=\color{ShadeColor},%
+    rulecolor=\color{BorderColor},%
+    % Spacing and Horizontal Flow
+    showspaces=false,%
+    showstringspaces=false,%
+    showtabs=false,%
+    tabsize=2,%
+    breaklines=true,%
+    columns=fullflexible,%
+    keepspaces=true,%
+    % Vertical Flow
+    aboveskip=\bigskipamount,%
+    belowskip=\bigskipamount,%
+    lineskip=0.0001pt,
+    % Line Numbers
+    stepnumber=1,%
+    numbers=left,%
+    numbersep=1.25pc,%
+    numberstyle=\ttfamily\color{Gray},%
+    % Special Keyword Format
+    stringstyle=\color{red},%
+    commentstyle=\color{ForestGreen!90},%
+    keywordstyle=\color{MidnightBlue!80},%
+    keywordstyle={[2]\color{teal!80}},%
+    extendedchars=true}
+
+\lstdefinelanguage{LaTeX}{%
+    language=[LaTeX]{TeX},%
+    sensitive=true}
+
+%%------------------------------------------------------------------
+%%  Setup constant lengths for parts of document.
+%%------------------------------------------------------------------
+\addtolength{\topmargin}{-3pc}
+\addtolength{\textwidth}{6pc}
+\addtolength{\oddsidemargin}{-2pc}
+\addtolength{\textheight}{7pc}
+\setlength{\parindent}{2pc}
+\setlength{\parskip}{0pc}
+
+%%------------------------------------------------------------------
+%%  Document information
+%%------------------------------------------------------------------
+\title{แพ็ก{\wbr}เก{\wbr}จ \textlatin{\texttt{thaienum}}}
+\author{อาภา{\wbr}พงศ์ จันทร์{\wbr}ทอง}
+
+\date{เวอร์ชัน 0.2\\30 เมษายน 2017}
+
+\begin{document}
+\maketitle
+
+\section{กล่าว{\wbr}นำ}
+
+โดย{\wbr}ปกติ{\wbr}แล้ว หาก{\wbr}ผู้{\wbr}ใช้งาน \textlatin{\textrm\LaTeX} ต้องการ{\wbr}ที่{\wbr}จะ{\wbr}เขียน{\wbr}ลำดับ{\wbr}รายการ{\wbr}โดย{\wbr}ที่{\wbr}สามารถ{\wbr}กำหนด{\wbr}ชนิด{\wbr}ของ{\wbr}หัว{\wbr}รายการ{\wbr}ใน{\wbr}รูปแบบ{\wbr}ต่าง ๆ มัก{\wbr}จะ{\wbr}เรียก{\wbr}ใช้งาน{\wbr}แพ็ก{\wbr}เก{\wbr}จ \texttt{enumitem} เพราะ{\wbr}เป็น{\wbr}แพ็ก{\wbr}เก{\wbr}จ{\wbr}ที่{\wbr}มี{\wbr}ความ{\wbr}ยืดหยุ่น{\wbr}สูง เช่น สามารถ{\wbr}กำหนด{\wbr}ให้{\wbr}ตั้ง{\wbr}หัว{\wbr}รายการ{\wbr}ด้วย{\wbr}เลข{\wbr}โรมัน{\wbr}ได้ เช่น{\wbr}
+
+\smallskip
+\renewcommand{\baselinestretch}{0.1}
+\begin{lstlisting}[language=LaTeX,escapechar={â},basicstyle=\ttfamily,lineskip={0.05pc}]
+\begin{enumerate}[label={\Roman*.}]
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}หนึ่ง}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สอง}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สาม}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สี่}}â
+\end{enumerate}
+\end{lstlisting}
+\renewcommand{\baselinestretch}{1.5}
+
+\begin{enumerate}[topsep=0pc,itemsep=0pc,label={\latintext\rmfamily\Roman*.}]
+    \item รายการ{\wbr}ที่{\wbr}หนึ่ง{\wbr}
+    \item รายการ{\wbr}ที่{\wbr}สอง{\wbr}
+    \item รายการ{\wbr}ที่{\wbr}สาม{\wbr}
+    \item รายการ{\wbr}ที่{\wbr}สี่{\wbr}
+\end{enumerate}
+
+\medskip
+แต่{\wbr}ก็{\wbr}มี{\wbr}ผู้{\wbr}ใช้งาน \textlatin{\textrm\LaTeX} กลุ่ม{\wbr}หนึ่ง โดย{\wbr}เฉพาะ{\wbr}ผู้{\wbr}ใช้งาน{\wbr}ภาษา{\wbr}ไทย{\wbr}มัก{\wbr}ประสบ{\wbr}ปัญหา{\wbr}ที่{\wbr}ไม่{\wbr}สามารถ{\wbr}ตั้ง{\wbr}หัว{\wbr}รายการ{\wbr}เป็น{\wbr}เลข{\wbr}ไทย (เช่น ๑ ๒ ๓ ๔ \ldots) หรือ{\wbr}อักษร{\wbr}ภาษา{\wbr}ไทย (ก ข ค ง \ldots) ได้{\wbr}โดย{\wbr}อัตโนมัติ ก่อ{\wbr}ให้{\wbr}เกิด{\wbr}ความ{\wbr}ไม่{\wbr}สะดวก{\wbr}ใน{\wbr}การ{\wbr}ใช้งาน \textlatin{\textrm\LaTeX} กับ{\wbr}ภาษา{\wbr}ไทย{\wbr}เป็น{\wbr}อย่าง{\wbr}ยิ่ง{\wbr}
+
+แพ็ก{\wbr}เก{\wbr}จ \textlatin{\texttt{thaienum}} สำหรับ \textlatin{\textrm\LaTeX} จึง{\wbr}ถูก{\wbr}สร้าง{\wbr}ขึ้น{\wbr}มา{\wbr}เพื่อ{\wbr}ตอบ{\wbr}โจทย์{\wbr}ดัง{\wbr}กล่าว โดย{\wbr}ใช้{\wbr}ควบคู่{\wbr}กับ{\wbr}แพ็ก{\wbr}เก{\wbr}จ{\wbr}หลัก{\wbr}อย่าง \texttt{enumitem} นั่นเอง{\wbr}
+
+
+\section{วิธี{\wbr}ใช้งาน{\wbr}เบื้องต้น}
+
+\subsection{ก่อน{\wbr}เริ่ม{\wbr}ใช้งาน}
+
+ก่อน{\wbr}ที่{\wbr}ผู้{\wbr}ใช้งาน{\wbr}จะ{\wbr}นำ{\wbr}เข้า{\wbr}แพ็ก{\wbr}เก{\wbr}จ \texttt{thaienum} นีเพื่อ{\wbr}ใช้งาน ผู้{\wbr}นั้น{\wbr}จำเป็น{\wbr}ต้อง{\wbr}เรียก{\wbr}นำ{\wbr}เข้า{\wbr}แพ็ก{\wbr}เก{\wbr}จ{\wbr}ทั้งสิ้น 2 แพ็ก{\wbr}เก{\wbr}จ{\wbr}ก่อน{\wbr}ดัง{\wbr}ต่อ{\wbr}ไป{\wbr}นี้{\wbr}
+\begin{enumerate}[topsep=0.25pc,itemsep=0pc,label={\thainum*.}]
+    \item  แพ็ก{\wbr}เก{\wbr}จ \texttt{babel} และ{\wbr}ต้อง{\wbr}นำ{\wbr}เข้า{\wbr}การ{\wbr}ใช้งาน{\wbr}ภาษา{\wbr}ไทย{\wbr}ด้วย{\wbr}
+    \item  แพ็ก{\wbr}เก{\wbr}จ \texttt{enumitem}
+\end{enumerate}
+
+\begin{lstlisting}[language=LaTeX]
+\usepackage[thai]{babel}
+\usepackage{enumitem}
+\usepackage{thaienum}
+\end{lstlisting}
+
+\subsection{การ{\wbr}เลือก{\wbr}ใช้งาน}
+
+เมื่อ{\wbr}ผู้{\wbr}ใช้งาน{\wbr}ต้องการ{\wbr}จะ{\wbr}เขียน{\wbr}รายการ{\wbr}ใหม่ สามารถ{\wbr}สร้าง \texttt{environment} ประะภท \texttt{enumerate} โดย{\wbr}กำหนด{\wbr}ค่า \texttt{parameter} ชื่อ \texttt{label} ให้{\wbr}มี{\wbr}หัว{\wbr}รายการ{\wbr}ตาม{\wbr}ที่{\wbr}ต้องการ{\wbr}ได้ โดย{\wbr}สามารถ{\wbr}กำหนด{\wbr}ค่า{\wbr}ต่อ{\wbr}ไป{\wbr}นี้{\wbr}
+
+\begin{enumerate}[topsep=0.25pc,itemsep=0pc,label={\thainum*.}]
+    \item  \texttt{thainum} สำหรับ{\wbr}การ{\wbr}นับ{\wbr}โดย{\wbr}ใช้{\wbr}เลข{\wbr}ไทย ๑ ๒ ๓ ๔ ๕ \ldots
+    \item  \label{it:loalph} \texttt{thaialph} สำหรับ{\wbr}การ{\wbr}นับ{\wbr}โดย{\wbr}ใช้{\wbr}พยัญชนะ{\wbr}ไทย ก ข ค ง จ \ldots
+    \item  \label{it:hialph} \texttt{thaiAlph} สำหรับ{\wbr}การ{\wbr}นับ{\wbr}โดย{\wbr}ใช้{\wbr}พยัญชนะ{\wbr}ไทย ก ข ฃ ค ฅ \ldots\, โดย{\wbr}ไม่{\wbr}ข้าม ฃ ฅ และ ฆ{\wbr}
+\end{enumerate}
+
+\medskip
+อย่างไร{\wbr}ก็{\wbr}ดี สำหรับ{\wbr}หัว{\wbr}รายการ{\wbr}ประเภท{\wbr}ที่ \ref{it:loalph} และ \ref{it:hialph} นั้น มี{\wbr}จำนวน{\wbr}พยัญชนะ{\wbr}จำกัด จึง{\wbr}ไม่{\wbr}สามารถ{\wbr}ใช้{\wbr}ใน{\wbr}กรณี{\wbr}ที่{\wbr}รายการ{\wbr}มี{\wbr}ความ{\wbr}ยาว{\wbr}เกิน 41 และ 44 รายการ{\wbr}ได้{\wbr}ตาม{\wbr}ลำดับ แพ็ก{\wbr}เก{\wbr}จ{\wbr}นี้{\wbr}จึง{\wbr}มี{\wbr}อนุญาต{\wbr}ให้{\wbr}กำหนด{\wbr}ค่า{\wbr}ได้{\wbr}อีก{\wbr}สอง{\wbr}ประเภท{\wbr}เพิ่มเติม ได้แก่{\wbr}
+
+\begin{enumerate}[topsep=0.25pc,itemsep=0pc,start=4,label={\thainum*.}]
+    \item  \texttt{thaimultialph} ซึ่ง{\wbr}คล้าย{\wbr}กับ \texttt{thaialph} แต่ว่า{\wbr}ถัด{\wbr}จาก ฮ.{\wbr}นก{\wbr}ฮูก นั้น{\wbr}รายการ{\wbr}ถัด{\wbr}ไป{\wbr}จะ{\wbr}นับ{\wbr}ใหม่{\wbr}เป็น กก กข กค กง กจ \ldots\, ไป{\wbr}เรื่อย ๆ
+    \item  \texttt{thaimultiAlph} ซึ่ง{\wbr}คล้าย{\wbr}กับ \texttt{thaiAlph} แต่ว่า{\wbr}ถัด{\wbr}จาก ฮ.{\wbr}นก{\wbr}ฮูก นั้น{\wbr}รายการ{\wbr}ถัด{\wbr}ไป{\wbr}จะ{\wbr}นับ{\wbr}ใหม่{\wbr}เป็น กก กข กฃ กค กฅ \ldots\, ไป{\wbr}เรื่อย ๆ
+\end{enumerate}
+
+\newpage
+\subsubsection{ตัวอย่าง{\wbr}การ{\wbr}ใช้งาน{\wbr}กับ{\wbr}เลข{\wbr}ไทย}
+
+เรา{\wbr}สามารถ{\wbr}ใช้{\wbr}เลข{\wbr}ไทย{\wbr}กับ{\wbr}รายการ{\wbr}ได้{\wbr}ดังนี้{\wbr}
+
+\smallskip
+\renewcommand{\baselinestretch}{0.1}
+\begin{lstlisting}[language=LaTeX,escapechar={â},basicstyle=\ttfamily,lineskip={0.05pc}]
+\begin{enumerate}[label={\thainum*.}]
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}หนึ่ง}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สอง}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สาม}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สี่}}â
+\end{enumerate}
+\end{lstlisting}
+\renewcommand{\baselinestretch}{1.5}
+
+\begin{enumerate}[topsep=0pc,itemsep=0pc,label={\thainum*.}]
+    \item  รายการ{\wbr}ที่{\wbr}หนึ่ง{\wbr}
+    \item  รายการ{\wbr}ที่{\wbr}สอง{\wbr}
+    \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}
+    \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}
+\end{enumerate}
+
+\subsubsection{ตัวอย่าง{\wbr}การ{\wbr}ใช้งาน{\wbr}กับ{\wbr}อักษร{\wbr}ไทย}
+
+เรา{\wbr}สามารถ{\wbr}ใช้{\wbr}อักษร{\wbr}ไทย{\wbr}กับ{\wbr}รายการ{\wbr}ได้{\wbr}ดังนี้{\wbr}
+
+\smallskip
+\renewcommand{\baselinestretch}{0.1}
+\begin{lstlisting}[language=LaTeX,escapechar={â},basicstyle=\ttfamily,lineskip={0.05pc}]
+\begin{enumerate}[label={\thaialph*.}]
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}หนึ่ง}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สอง}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สาม}}â
+    \item  â{\textthai{\small รายการ{\wbr}ที่{\wbr}สี่}}â
+\end{enumerate}
+\end{lstlisting}
+\renewcommand{\baselinestretch}{1.5}
+
+\begin{enumerate}[topsep=0pc,itemsep=0pc,label={\thaialph*.}]
+    \item  รายการ{\wbr}ที่{\wbr}หนึ่ง{\wbr}
+    \item  รายการ{\wbr}ที่{\wbr}สอง{\wbr}
+    \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}
+    \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}
+\end{enumerate}
+
+\newpage
+\subsubsection{ตัวอย่าง{\wbr}การ{\wbr}ใช้งาน{\wbr}กับ{\wbr}อักษร{\wbr}ไทย{\wbr}ใน{\wbr}รายการ{\wbr}ที่{\wbr}ยาว}
+
+หาก{\wbr}เรา{\wbr}ตั้ง{\wbr}ค่า{\wbr}ให้ \lstinline[language=LaTeX]!label={\thaialph.}! กับ{\wbr}รายการ{\wbr}ที่{\wbr}ยาว{\wbr}เกิน 41 รายการ เรา{\wbr}จะ{\wbr}พบ{\wbr}ปัญหา{\wbr}ดังนี้ (โปรด{\wbr}ดู \texttt{source code} เพื่อ{\wbr}ความ{\wbr}ชัดเจน{\wbr}ที่{\wbr}มาก{\wbr}ขึ้น)
+\begin{center}
+    \color{red}\texttt{thaienum.tex:315: LaTeX Error: Counter too large. [ {\textbackslash}item ]}
+\end{center}
+
+\begin{multicols}{4}
+    \scriptsize
+    \begin{enumerate}[listparindent=0pc,topsep=0pc,itemsep=0pc,label={\thaialph*.}]
+        \item  รายการ{\wbr}ที่{\wbr}หนึ่ง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item[.]  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}สอง{\wbr}
+        % To replicate error, replace the line above with the line below.
+        % \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}สอง{\wbr}
+    \end{enumerate}
+\end{multicols}
+
+\medskip
+แต่{\wbr}หาก{\wbr}เรา{\wbr}ตั้ง{\wbr}ค่า{\wbr}ให้ \lstinline[language=LaTeX]!label={\thaimultialph.}! กับ{\wbr}รายการ{\wbr}ที่{\wbr}ยาว{\wbr}เกิน 41 รายการ เรา{\wbr}จะ{\wbr}ได้{\wbr}ผลลัพธ์{\wbr}ดังนี้{\wbr}
+
+\begin{multicols}{4}
+    \scriptsize
+    \begin{enumerate}[listparindent=0pc,topsep=0pc,itemsep=0pc,label={\thaimultialph*.}]
+        \item  รายการ{\wbr}ที่{\wbr}หนึ่ง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ยี่{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สาม{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}เอ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}สอง{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}สาม{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}สี่{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}ห้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}หก{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}เจ็ด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}แปด{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}สี่{\wbr}สิบ{\wbr}เก้า{\wbr}
+        \item  รายการ{\wbr}ที่{\wbr}ห้า{\wbr}สิบ{\wbr}
+    \end{enumerate}
+\end{multicols}
+
+\section{ขอ{\wbr}ขอบคุณ}
+
+ขอ{\wbr}ขอบคุณ{\wbr}แพ็ก{\wbr}เก{\wbr}จ \texttt{moreenum} สำหรับ{\wbr}ความคิด{\wbr}ริเริ่ม{\wbr}และ{\wbr}แนวทาง{\wbr}ที่{\wbr}จะ{\wbr}สร้าง{\wbr}แพ็ก{\wbr}เก{\wbr}จ{\wbr}นี้{\wbr}ขึ้น{\wbr}มา และ{\wbr}ขอ{\wbr}ขอบคุณ{\wbr}แพ็ก{\wbr}เก{\wbr}จ \texttt{babel-thai} สำหรับ{\wbr}การ{\wbr}สนับสนุน{\wbr}ภาษา{\wbr}ไทย{\wbr}ใน \textlatin{\textrm\LaTeX} เรื่อย{\wbr}มา{\wbr}
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/thaienum/thaienum.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/thaienum/thaienum.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/thaienum/thaienum.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/thaienum/thaienum.sty	2017-05-01 21:54:33 UTC (rev 44140)
@@ -0,0 +1,71 @@
+%% thaienum.sty
+%% Copyright 2017 Abhabongse Janthong
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Abhabongse Janthong.
+% This work consists of all files in the repository, including
+% thaienum.sty and thaienum.tex.
+%
+% This package provides Thai enumeration labels to the 'enumitem' package.
+% It was heavily inspired by the package 'moreenum'.
+%
+\ProvidesPackage{thaienum}[2017/04/30 v0.2]
+\RequirePackage{alphalph}     % For doubling characters
+
+%%------------------------------------------------------------------
+%%  Expectes 'enumitem' and 'babel-thai' to be loaded.
+%%------------------------------------------------------------------
+\@ifpackageloaded{enumitem}{}{%
+\RequirePackage{enumitem}%
+\PackageWarning{thaienum}{Package 'enumitem' not loaded before 'thaienum' %
+(please load 'enumitem' package before 'thaienum')}%
+}
+\@ifpackageloaded{babel}{}{%
+\PackageError{thaienum}{Package 'babel' not loaded before 'thaienum' %
+(please load 'babel' package before 'thaienum')}%
+{Please load 'babel' package before 'thaienum'}%
+}
+\@ifpackagewith{babel}{thai}{}{%
+\PackageWarning{thaienum}{Package 'babel' not loaded with option 'thai' %
+(please load 'babel' package with option 'thai')}%
+}
+
+%%------------------------------------------------------------------
+%%  Reuses the counter defined by 'babel-thai' package.
+%%      How convenient is that!
+%%  However, note that \thaialph and \thaiAlph will run
+%%      out of counters once it reaches 41 and 44, respectively.
+%%------------------------------------------------------------------
+\AddEnumerateCounter{\thaialph}{\@thaialph}{\thaiNoNen}
+\AddEnumerateCounter{\thaiAlph}{\@thaiAlph}{\thaiNoNen}
+\AddEnumerateCounter{\thainum}{\@thainum}{\thainine}
+\AddEnumerateCounter{\thaibracenum}{\@thaibracenum}{\thainine}
+
+%%-----------------------------------------------------------------
+%%  \thaimultialph and \thaimultiAlph are the multi-character
+%%      version of \thaialph and \thaiAlph, respectively.
+%%  Once the counter reaches \thaiHoNokhuk, it continues with
+%%      \thaiKoKai\thaiKoKai, \thaiKoKai\thaiKhoKhai,
+%%      \thaiKoKai\thaiKhoKhwai, etc.
+%%-----------------------------------------------------------------
+\newalphalph{\@thaimultialph}[alph]{\@thaialph}{41}
+\newcommand*{\thaimultialph}[1]{%
+\expandafter\@thaimultialph\csname c@#1\endcsname%
+}
+\AddEnumerateCounter{\thaimultialph}{\@thaimultialph}{\thaiNoNen}
+
+\newalphalph{\@thaimultiAlph}[alph]{\@thaiAlph}{41}
+\newcommand*{\thaimultiAlph}[1]{%
+\expandafter\@thaimultiAlph\csname c@#1\endcsname%
+}
+\AddEnumerateCounter{\thaimultiAlph}{\@thaimultiAlph}{\thaiNoNen}
+
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/latex/thaienum/thaienum.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2017-05-01 21:52:48 UTC (rev 44139)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2017-05-01 21:54:33 UTC (rev 44140)
@@ -593,7 +593,7 @@
     texliveonfly texloganalyser texlogos texmate texments
     texosquery texpower texproposal texshade texvc
     textcase textfit textglos textgreek textmerg textopo textpath textpos
-    tfrupee thalie theoremref thesis-ekf thesis-titlepage-fhac
+    tfrupee thaienum thalie theoremref thesis-ekf thesis-titlepage-fhac
     thinsp thmbox thmtools threadcol threeddice threeparttable threeparttablex
     thumb thumbpdf thumbs thumby thuthesis
     ticket ticollege

Modified: trunk/Master/tlpkg/tlpsrc/collection-langother.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-langother.tlpsrc	2017-05-01 21:52:48 UTC (rev 44139)
+++ trunk/Master/tlpkg/tlpsrc/collection-langother.tlpsrc	2017-05-01 21:54:33 UTC (rev 44140)
@@ -33,4 +33,5 @@
 depend lshort-vietnamese
 depend ntheorem-vn
 depend padauk
+depend thaienum
 depend vntex

Added: trunk/Master/tlpkg/tlpsrc/thaienum.tlpsrc
===================================================================


More information about the tex-live-commits mailing list