diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/thaienum/README.md | 22 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/thaienum/thaienum.pdf | bin | 0 -> 178133 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex | 384 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/thaienum/thaienum.tex | 384 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/thaienum/thaienum.sty | 71 |
5 files changed, 861 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/thaienum/README.md b/Master/texmf-dist/doc/latex/thaienum/README.md new file mode 100644 index 00000000000..29957c7258c --- /dev/null +++ b/Master/texmf-dist/doc/latex/thaienum/README.md @@ -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/). diff --git a/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf b/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf Binary files differnew file mode 100644 index 00000000000..3fff0f15d7f --- /dev/null +++ b/Master/texmf-dist/doc/latex/thaienum/thaienum.pdf diff --git a/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex b/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex new file mode 100644 index 00000000000..0445f765981 --- /dev/null +++ b/Master/texmf-dist/doc/latex/thaienum/thaienum.pre.tex @@ -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@hang}{\parindent\z@}{\parindent\z@\leavevmode}{}{} +\patchcmd{\ttlh@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} diff --git a/Master/texmf-dist/doc/latex/thaienum/thaienum.tex b/Master/texmf-dist/doc/latex/thaienum/thaienum.tex new file mode 100644 index 00000000000..3fcf7fbe8c9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/thaienum/thaienum.tex @@ -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@hang}{\parindent\z@}{\parindent\z@\leavevmode}{}{} +\patchcmd{\ttlh@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} diff --git a/Master/texmf-dist/tex/latex/thaienum/thaienum.sty b/Master/texmf-dist/tex/latex/thaienum/thaienum.sty new file mode 100644 index 00000000000..e6bf05887fb --- /dev/null +++ b/Master/texmf-dist/tex/latex/thaienum/thaienum.sty @@ -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 |