21 April 2012

Ubuntu + XeTeX + THSarabunNew

เนื่องจากช่วงนี้จะต้องเตรียมเอกสารบางอย่างเป็นภาษาไทย และอยากใช้ LaTeX สำหรับทำเอกสาร ไม่อยากใช้โปรแกรม word processor ไม่ว่าตระกูลไหน รุ่นไหนก็ตาม วันนี้เลยลองใช้ XeTeX บน Ubuntu 11.10 เนื่องจาก XeTeX อนุญาตให้เราเอาฟอนท์ที่ติดตั้งไว้กับระบบปฏิบัติการมาใช้งานได้เลย ไม่จำเป็นต้องเตรียมอะไรให้ยุ่งยาก แถม XeTeX ยังเรียกใช้ ICU สำหรับตัดคำภาษาไทยให้อยู่แล้วด้วย

สิ่งที่ต้องเตรียม

  1. ฟอนต์สารบรรณ ดาวน์โหลดได้จาก http://www.f0nt.com/release/th-sarabun-new/ 
  2. Ubuntu ผมใช้รุ่น 11.10 อยู่ แต่อีกไม่กี่วันคงเปลี่ยนไปใช้ 12.04 ซึ่งก็คงใช้ได้เหมือนกัน
  3. TeXLive ที่มี XeTeX ผมติดตั้งด้วยคำสั่ง
    $ sudo apt-get install texlive-latex-recommended texlive-xetex


ขั้นตอน

  1. ติดตั้งฟอนต์สารบรรณ ให้ Ubuntu รู้จักก่อน โดย copy ไฟล์ ttf ที่ได้มา ไปไว้ที่ /usr/share/fonts/truetype จะสร้าง subfolder ในนั้นก็ได้ เสร็จแล้วก็สั่ง update ข้อมูลฟอนต์
    $ fc-cache -fv
  2. เตรียมไฟล์เอกสารตามตัวอย่าง
    \documentclass[12pt]{article}
    \usepackage{fontspec}
    \usepackage{xunicode}
    \usepackage{xltxtra}

    \XeTeXlinebreaklocale “th”
    \XeTeXlinebreakskip = 0pt plus 1pt
    \defaultfontfeatures{Scale=1.4}

    \setmainfont{TH Sarabun New}

    \begin{document}

    \section{ทดสอบหัวข้อ}
    ทดสอบภาษาไทยทดสอบภาษาไทยทดสอบภาษาไทย ทดสอบภาษาไทยทดสอบภาษาไทยทดสอบภาษาไทย ทดสอบภาษาไทยทดสอบภาษาไทยทดสอบภาษาไทย ทดสอบภาษาไทยทดสอบภาษาไทยทดสอบภาษาไทย ทดสอบภาษาไทยทดสอบภาษาไทยทดสอบภาษาไทย \textbf{ทดสอบภาษาไทย}ทดสอบภาษาไทย\textit{ทดสอบภาษาไทย} Test ฟุ้งฟุ้งฟุ้งฟุ้ง ฟุ้งฟุ้งฟุ้งฟุ้ง ฟุ้งฟุ้งฟุ้งฟุ้ง ฟุ้งฟุ้งฟุ้งฟุ้ง ฟุ้งฟุ้งฟุ้งฟุ้ง ฟุ้งฟุ้งฟุ้งฟุ้ง
    \end{document}
  3. สร้าง PDF จากไฟล์ LaTeX ที่เตรียม ก็จะได้ผลตามรูป


อ้างอิง

ทดสอบ MikTeX 2.9 + ฟอนต์ TH SarabunPSK

7 comments:

Kobkrit said...

โอ้ อาจารย์ชลวิทอัพ Blog

Unknown said...

จะพยายามเขียนให้บ่อยขึ้น

Nuke said...

ผมลองแล้วตัวเล็กมากเลยครับเลยใช้

\documentclass[fontsize=14pt]{scrartcl}

แทน

# บน Ubuntu 12.04 ใช้ได้ดีครับ

Unknown said...

จริงๆ กำหนด scale ก็ได้นะ

\defaultfontfeatures{Scale=1.4}

ดูเหมือนผมจะพิมพ์ตก โทษทีๆ เดี๋ยวแก้ใหม่

Nuke said...

ขอบคุณครับ

scale=1.4 บน article ธรรมดา ผมว่าดูดีกว่า \documentclass[fontsize=14pt]{scrartcl} ครับ

Unknown said...

โอเคครับ เพิ่งสังเกตว่าเขียนชื่อได้หลายแบบเนอะ :D

Peerajak Research 2 said...

ขอบคุณครับ ผมได้เขียนวิธีติดตั้งอีกอันนึง บนลินุกซ์ Latex ที่

http://peerajakwitoonchart.blogspot.com/2016/09/latex-linux-ubuntu-1404.html