thaipdf

Introduction

ถ้าได้ลองพิมพ์ภาษาไทยใน R Markdown แล้ว knit เป็น pdf_document จะพบว่าเกิด error ขึ้น

Error: LaTeX failed to compile something.tex.

การสร้าง PDF จาก R Markdown นั้น จะผ่านกระบวนการที่แปลงเอกสารหลายขั้นตอน ซึ่ง ภาษาไทย จะมีปัญหาที่ขั้นตอน

LaTeX -> PDF

วิธีแก้นั้น จะต้องมีการตั้งค่าต่างๆ ใน LaTeX preamble และ YAML header ของ R Markdown เพื่อให้รองรับกับการใช้งานภาษาไทยได้ โดย R package นี้จึงถูกสร้างขึ้นเพื่อช่วยใน workflow จุดนี้

(ขอบคุณคำแนะนำจาก: คําแนะนําการตั้งค่า LATEX สําหรับใช้ภาษาไทย)

Installation

การ install เหล่านี้ทำเพียงครั้งเดียวเท่านั้น

# install.packages("remotes")
remotes::install_github("Lightbridge-KS/thaipdf")
install.packages("tinytex")

# For using R Markdown
tinytex::install_tinytex() 

# Install LaTeX PKG required by `thaipdf`
tinytex::tlmgr_install(c(
  "fontspec", "ucharclasses", "polyglossia"
))

โดย LaTeX package ที่จำเป็นสำหรับ type setting ภาษาไทยคือ “fontspec”, “ucharclasses” และ “polyglossia”

Basic Usage

Stand-alone R Markdown Template

วิธีใช้ที่ง่ายที่สุด คือสร้าง R Markdown ที่รองรับภาษาไทยจาก template ที่ package นี้มีให้

ถ้าท่านใช้ RStudio ให้ไปที่ File -> New File -> R Markdown... -> From Template

New R Markdown Template

New R Markdown Template

เลือก template Thai PDF R Markdown หรือ Thai PDF Bookdown จากเมนู

กดปุ่ม OK จะเปิดไฟล์ R Markdown template ที่รองรับกับภาษาไทย

thaipdf R Markdown in RStudio

thaipdf R Markdown in RStudio

จากนั้นกดปุ่ม Knit (cmd/ctr + shift + K) ได้เลย จะได้เอกสารเป็น PDF ภาษาไทยที่มี เนื้อหา โค้ด และ กราฟ อยู่รวมกัน