23 กรกฎาคม 2557

Template สำหรับ XeLaTeX ปรับปรุง 2557

บันทึกเก็บไว้ใช้งาน ตอนนี้ตั้ง ภาคผนวกให้เป็น ก ข ค แต่ยังไม่สวย แล้วก็ ไม่ต้องตั้งค่า fontspec สำหรับตัวเอียงแล้ว


\documentclass[a4paper]{book}
\usepackage{xltxtra}
\usepackage{polyglossia}
\usepackage[top=25mm, bottom=20mm, left=25mm, right=25mm]{geometry}
\usepackage[titletoc,toc,title]{appendix}

\XeTeXlinebreaklocale "th"
\XeTeXlinebreakskip = 0pt plus 1pt
\setmainfont{TH Sarabun New}

\defaultfontfeatures{Scale=1.23}

\renewcommand{\baselinestretch}{1.2}

\setdefaultlanguage{thai}

\newfontfamily{\thaifont}[Script=thai]{TH Sarabun New}

\begin{document}


\frontmatter

\pagenumbering{thaialph}
\tableofcontents

\mainmatter

\chapter{บทแรก}
\section{บทนำ}

\noindent

ป้า กะ ปู่ กู้อีจู้ ตัวปกติ\\
{\itshape ป้า กะ ปู่ กู้อีจู้ ตัวเอียง} \\
{\bfseries ป้า กะ ปู่ กู้อีจู้ ตัวหนา } \\
{\bfseries\itshape ป้า กะ ปู่ กู้อีจู้ ตัวหนาเอียง} \\

ทดสอบใช้คำสั่ง \LaTeXe{}\\

ป้า กะ ปู่ กู้อีจู้ ไฟฟ้า ปัญญา ตัวปกติ\\
\textbf{ป้า กะ ปู่ กู้อีจู้ ไฟฟ้า ปัญญา ตัวหนา}\\
\textit{ป้า กะ ปู่ กู้อีจู้ ไฟฟ้า ปัญญา ตัวเอียง}\\
\textsl{ป้า กะ ปู่ กู้อีจู้ ไฟฟ้า ปัญญา ตัวเอน}\\
\textbf{\textit{ป้า กะ ปู่ กู้อีจู้ ตัวหนาเอียง}}\\
%%\texttt{ป้า กะ ปู่ กู้อีจู้ ไฟฟ้า ปัญญา ตัวพิมพ์}

\chapter{บทสอง}

\section{บทนำ}
xxxx xxxxx xxxxx
\chapter{บทสาม}
\section{บทนำ}
xxxx xxxxx xxxxx

%% \backmatter %% ใช้ไม่ได้ หายหมด


%% ยังไม่ดีมาก แต่ก็ได้ ก ข ค

\begin{appendices}
\renewcommand*{\thechapter}{\thaiAlph{chapter}}
\chapter{ทดสอบภาคผนวก} %% ---------------------
\chapter{ทดสอบภาคผนวกอีกที} %% ---------------------
\end{appendices}

\end{document}


6 ความคิดเห็น:

  1. ขอบคุณมากครับ มีอะไรใหม่ๆ ดีช่วยแนะนำด้วยนะคร้บ

    ตอบลบ
  2. ยินดีครับผม จริง ๆ แล้วบล็อกนี้ผมใช้บันทึกกันลืมครับ แล้วก็เวลาหา Template ใช้ก็จะมาก๊อบปี้จากบล็อกครับ

    ตอบลบ
  3. มี error ขึ้นตามข้อความด้านล่าง จะต้องแก้ไขอย่างไรครับ

    ประทีป

    15
    ! LaTeX error: "kernel/key-choice-unknown"
    !
    ! Key 'fontspec/Script' accepts only a fixed set of choices.
    !
    ! See the LaTeX3 documentation for further information.
    !
    ! For immediate help type H .
    !...............................................

    l.15 ...ly{\thaifont}[Script=thai]{TH Sarabun New}

    ตอบลบ
  4. ติดตั้ง TH Sarabun New ลงไปในระบบปฏิบัติการหรือยังครับ?
    ถ้าใช้ Windows ต้องติดตั้งฟอนต์ เพิ่มก่อนครับไม่ใช่ฟอนต์ที่มากับ Windows

    หรือ ลองเปลี่ยนสองจุด จาก TH Sarabun New เป็น Angsana New

    ตอบลบ
  5. ทราบปัญหาแล้วครับ fontspec ปรับให่มให้ภาษาไทยต้องเป็น Thai ที่ขึ้นต้นด้วยตัวใหญ่
    \newfontfamily{\thaifont}[Script=Thai]{TH Sarabun New}

    ตอบลบ
  6. ถ้ากรณีไปใช้กับ LaTeX ที่รันบนเวปเช่น Overleaf (หรือ ShareLaTeX เก่า) มันก็ยังติดปัญหาเรื่อง fontไทย อยู่ดีครับ

    ดังนั้น ควรต้อง upload ตัวfontมันขึ้นไปด้วย แล้วตั้งค่าใหม่อีกทีนึงครับ

    สมมุติว่า upload ไปยัง folder ที่ชื่อว่า ./fonts/ ซึ่งมีไฟล์ .ttf ของ THSarabunNew โดยมีไฟล์ดังนี้
    1. THSarabunNew-Regular.ttf
    2. THSarabunNew-Bold.ttf
    3. THSarabunNew-Italic.ttf
    4. THSarabunNew-BoldItalic.ttf

    ในไฟล์ .tex ที่เราใช้อยู่ ก็ควรแก้ script ไปด้วยครับ

    สมมุติว่า scriptเดิม มันระบุเป็น ...

    \newfontfamily{\thaifont}[Scale=MatchUppercase,Mapping=tex-text]{TH Sarabun New}

    ก็แก้มาเป็น ...

    \newfontfamily{\thaifont}[
    Path = ./fonts/,
    Extension = .ttf,
    UprightFont = *-Regular,
    BoldFont = *-Bold,
    ItalicFont = *-Italic,
    BoldItalicFont = *-BoldItalic,
    Scale=MatchUppercase,
    Mapping=tex-text
    ]{THSarabunNew}

    ประมาณนี้ครับ

    ตอบลบ