12 พฤศจิกายน 2554

ทดสอบ Bibtex กับ XeLaTeX

  • สร้างไฟล์ test.tex
\documentclass[12pt,a4paper]{article}
\usepackage{xltxtra}
\usepackage{polyglossia}
\usepackage[top=25mm, bottom=20mm, left=25mm, right=20mm]{geometry}
\XeTeXlinebreaklocale "th"
\XeTeXlinebreakskip = 0pt plus 1pt
\defaultfontfeatures{Scale=1.23}
\title{ชื่อบทความ}
%% ใช้ร่วมกับ polyglossia เพื่อให้ได้วันที่ภาษาไทย
\setdefaultlanguage{thai}
\newfontfamily{\thaifont}[Script=Thai]{TH SarabunPSK:script=thai}
\begin{document}
\fontspec[
ItalicFont={TH SarabunPSK Italic},
BoldFont={TH SarabunPSK Bold},
BoldItalicFont={TH SarabunPSK Bold Italic},
]{TH SarabunPSK}
\maketitle
\section*{ลองดูสิ}
ศึกษา \TeX\ อย่างละเอียด ให้ดู \cite{DK86} ถ้าต้องการเขียนสมการคณิตศาสตร์ให้ดู \cite{DK89}. แต่ถ้าเป็นของอาจารย์จักรี ลองอ้างอิงกับเล่มนี้ \cite{จักรีRC54} ดูนะครับ
\bibliographystyle{plain}
\bibliography{testBibXeTex}
\end{document}

  • สร้างไฟล์ testBibXeTex.bib
@book{DK86,
author = "D.E. Knuth",
title = "The {\TeX}book",
publisher = "Addison Wesley",
year = 1986
}
@article{DK89,
author = "D.E. Knuth",
title = "Typesetting Concrete Mathematics",
journal = "TUGboat",
volume = 10,
number = 1,
pages = "31--36",
month = apr,
year = 1989
}
@book{จักรีRC54,
author = "จักรี ติยะวงศ์สุวรรณ",
title = "การออกแบบโครงสร้างคอนกรีตเสริมเหล็ก",
publisher = "มปพ",
year = 2554
}

ไฟล์ทั้งสองสร้างด้วย TexWorks แล้วไฟล์ test.tex ให้รันด้วยคำสั่ง xeletex+makeindex+bibtex จัดการรันสักสองรอบ เพื่อให้ได้เลขที่ถูกต้อง ผลลัพธ์ ดังแสดงในรูป

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

  1. ขออนุญาตถามหน่อยครับ ปกติเวลาพิมพ์เอกสาร reference ของไทยจะต้องมาก่อนภาษาอังกฤษ อันนี้ผมลองของผมเองมันเรียงตามลำดับว่าอันไหน cite ก่อน/หลัง มีวิธีไหมครับว่าทำยังไงจะให้เรียงจากภาษาไทยก่อนแล้วภาษาอังกฤษมาหลัง

    ตอบลบ