ใช้งานภาษาไทยบน XeLaTeX ฉบับรีบร้อน

Mar 5, 2016

เนื่องจากผมได้สืบค้นการพิมพ์ไทย ปรากฎว่าหลายๆ แหล่งข้อมูลยังใช้งานยากอยู่ จึงนำมาประยุกต์ เพื่อให้สามารถพิมพ์ได้โดยเร็ว โดยที่ไม่ต้องกระทบส่วนอื่นๆ ของไฟล์ .tex ครับ

อ่านก่อน: วิธีการนี้เหมาะสำหรับต้องการพิมพ์ภาษาไทยเป็นภาษารอง จากภาษาอังกฤษ

ตัวอย่างไฟล์ .tex

\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\XeTeXlinebreaklocale “th_TH” % สำหรับตัดคำภาษาไทย

\newenvironment{thai}{
    \renewcommand{\baselinestretch}{1.2} 
    \fontspec{TH Sarabun New}[Scale=1.23]
}
{\par}

\begin{document}
\noindent

\begin{thai}
  ป้ากะปู่ กู้อีจู้ มันคืออะไรที่วรรคยุคเยอะแยะเต็มไปหมดเลย ป้ากะปู่ กู้อีจู้ มันคืออะไรที่วรรคยุคเยอะแยะเต็มไปหมดเลย ป้ากะปู่ กู้อีจู้ มันคืออะไรที่วรรคยุคเยอะแยะเต็มไปหมดเลย ป้ากะปู่ กู้อีจู้ มันคืออะไรที่วรรคยุคเยอะแยะเต็มไปหมดเลย\\
\end{thai}

\noindent The quick brown fox jumps over the lazy dog\\
\textbf{The quick brown fox jumps over the lazy dog}\\
\textit{The quick brown fox jumps over the lazy dog}\\
\textsl{The quick brown fox jumps over the lazy dog}\\
\textbf{\textit{The quick brown fox jumps over the lazy dog}}\\
\texttt{The quick brown fox jumps over the lazy dog}\\

\end{document}

คำเตือน: ในตัวอย่างไฟล์ .tex ข้างบนถูกทดสอบบน XeLatex จาก MikTek บน Windows ถ้าทำงานบนระบบอื่นๆ อาจจะมีปัญหาได้

เมื่อแปลงโดยใช้ XeLaTeX จะได้ผลลัพธ์แบบนี้

result of xelatex in PDF

วิธีตั้งค่าให้สามารถพิมพ์ภาษาไทยได้

เราจะใช้ฟอนต์ TH Sarabun New สำหรับเป็นตัวอย่าง และต้องติดตั้งฟอนต์ไว้ในเครื่องแล้ว

  1. แทรก packages ที่จำเป็น รวมถึงการตั้งค่าการตัดคำภาษาไทย

    \usepackage{fontspec}
    \usepackage{xunicode}
    \usepackage{xltxtra}
    \XeTeXlinebreaklocale “th_TH” % สำหรับตัดคำภาษาไทย
  2. กำหนดสภาพแวดล้อมใหม่(\newenvironment) สำหรับพิมพ์ภาษาไทยดังนี้

    \newenvironment{thai}{
        \renewcommand{\baselinestretch}{1.2}    % กำหนดขนาดบรรทัด เป็น 1.2
        \fontspec{TH Sarabun New}[Scale=1.23]   % ขยายตัวอกษร เป็น 1.23 เท่า
    }
    {\par}

การใช้งาน

\begin{thai}
ใส่ข้อความภาษาไทยในนี้
\end{thai}

Useful Resources