Beamer, XeTeX และภาษาไทย

พูดกันตามตรง ตอนนี้ผมเริ่มเอนเอียงไปใช้ XeTeX เป็นตัวขับเคลื่อน LaTeX หลักแล้ว ด้วยเหตุผลหลายอย่าง ที่พอจะเห็นชัด ๆ ได้แก่

  1. รองรับไฟล์กราฟฟิคหลัก ๆ ทั้งหมด ทำให้หมดปัญหาเรื่อง eps และ pdf
  2. สามารถใช้ฟอนต์ TureType และ OpenType ได้ ทำให้ไม่มีข้อจำกัดเรื่องฟอนต์
  3. รองรับการตัดคำภาษาไทยโดยอัตโนมัติ (ใช้ ICU)

แน่นอนยังมีข้อเสียหลายข้อเหมือนกัน ไม่ว่าจะช้า (แก้ด้วยใช้เครื่องที่เร็วขึ้น)  แพ็กเกจ tikz และ pgf ยังไม่สนับสนุน XeTeX เต็มที่ และดูเหมือนจะไม่ใช่ปัญหาที่แก้ไขง่ายนัก อย่างไรก็ตามวันนี้ผมจะนำเสนอการใช้งาน Beamer แพ็กเกจสำหรับนำเสนอข้อมูลผ่านเครื่องฉายภาพ ตัวหนึ่งที่ได้รับความนิยมมาก ๆ (เริ่มมีเสียงบ่นว่า ผู้ใช้ส่วนใหญ่มักง่าย ไม่ยอมทำธีมของตัวเอง)

ในการใช้งาน Beamer  กับ XeTeX นั้นจะไม่เหมือนบะหมี่กึ่งสำเร็จรูป ต้องออกแรงเล็กน้อย ลองตัวดูอย่างไฟล์ Beamer ทั่วไปดังนี้ครับ (การทดลองใช้กันฟอนต์ที่สวยงามชื่อ Layiji มหานิยม ๑.๕ กับแม่แบบ Madrid)

แทนที่จะได้เอกสารที่แสดงผลภาษาไทยสวยงาม กลับได้ไฟล์เอกสารดังรูปข้างล่าง

วิธีแก้ไขทำได้ไม่ยากครับ ทำดังนี้

ซึ่งจะได้ไฟล์ผลลัพธ์ที่มีภาษาไทยสวยงามดังที่ตั้งใจไว้ ดังแสดงข้างล่าง

ก็หวังอีกเช่นเคย ว่าคงจะมีประโยชน์บ้างครับ

12 Responses to Beamer, XeTeX และภาษาไทย

  1. chakkree says:

    เพิ่มแพกเกจ polyglossia แล้ววันที่จะเป็นภาษาไทยครับ
    บรรทัดที่ 3 ใช้ฟอนต์เราต้องการ

    \usepackage{polyglossia}
    \setdefaultlanguage{thai}
    \newfontfamily{\thaifont}[Script=Thai]{TH SarabunPSK:script=thai}

  2. chakkree says:

    ขอลองแทรกคำสั่งอีกทีครับ ทำไมกลายเป็นบรรทัดเดียวกัน

    \usepackage{polyglossia}

    \setdefaultlanguage{thai}

    \newfontfamily{\thaifont}[Script=Thai]{TH SarabunPSK:script=thai}

  3. tsvhh says:

    ขอบคุณนะครับ

  4. vit says:

    ขอสอบถามเกี่ยวกับการใช้แพกเกจ Beamer ว่า หากต้องการทำสไลน์เป็น 2 สไลน์ต่อ 1 หน้า A4 และ 4 สไลน์ต่อ 1 หน้า A4
    เพราะลองใช้
    \usepackage{pdfpages}
    \pgfpagesuselayout{2 on 1}[a4paper,landscape,border shrink=5mm]
    หรือแม้แต่
    \usepackage{pdfpages}
    \pgfpagesuselayout{2 on 1}[a4paper,landscape,border shrink=5mm]

    ผลลัพธ์ก็ไม่เป็นไปอย่างที่คิด จะแก้ไขได้อย่างไรครับ ขอคำแนะนำ

    • tsvhh says:

      อยากให้เป็นแบบไหนครับ

      กรณี 2 หน้าต่อ 1 a4 ลองตัด landscape ออก แล้วใช้ border shrink=10mm ดูครับ ผมได้ผลลัพธ์ออกมาสวยดีครับ

      ส่วน 4 หน้าต่อ 1 a4 ใช้ landscape แล้ว border shrink = 10mm ดูครับ

      แต่ถ้าต้องการพิมพ์ ก็ไม่ต้องแก้อะไรครับ ส่วนใหญ่เครื่องพิมพ์สมัยใหม่ สามารถตั้งค่าให้พิมพ์ 2-16 แผ่นในหนึ่งหน้าได้อยู่แล้ว

      คงตอบให้ได้แค่นี้ครับ ถ้าต้องการรายละเอียด ลองส่งผลลัพธ์ที่ได้กับผลลัพธ์ที่อยากได้มาให้ดูครับ จะลองหาทางแก้ไขให้ครับ

  5. vit says:

    ก่อนอื่นผมต้องขอบคุณมากๆ ในความกรุณา ครับ เพราะยังมีความรู้น้อย หยิบโน่นหยิบนี่มาลองทำ แต่ก็ไม่เป็นไปอย่างที่คิด ก็เลยต้องมาขอความช่วยเหลือ ผลลัพธ์ที่ต้องการคืออยากให้ได้สไลน์ 4 สไลน์ใน 1 หน้า A4 และ 2 สไลน์ ใน 1 หน้า A4 เหมือนการสั่ง print สไลน์ powerpoint แต่ผ่านโปรแกรม fineprint ครับ (ผมจะส่งผลลัพธ์ที่อยากได้อย่างไรดีครับ) ขอรบกวนอีกนิดครับ

  6. ิbeer says:

    ถ้าต้องการใส่รูปต้องทำไงค่ะ รบกวนหน่อยค่ะ

Leave a Reply

Your email address will not be published. Required fields are marked *