XeLaTeX กับฟอนต์ Garuda

ทุกคนที่ทำงานเอกสารบน LaTeX ส่วนใหญ่ก็จะต้องทำงานกับสมการ ตัวเลข เอกสารอ้างอิง ฯลฯ ตั้งแต่การมาของ XeLaTeX (ต่อไปบางครั้งจะเรียกสั้น ๆ ว่า LaTeX) ความหวังในการใช้งานเอกสารภาษาไทยบน LaTeX ก็ดูสดใสมากขึ้น ทั้งระบบตัดคำที่ไม่ต้องใช้โปรแกรมตัดคำแยกแบบ ctex หรือ swath การสร้างเอกสาร pdf ก็ทำได้แบบอัตโนมัติ รูปภาพก็ใช้รูปแบบต่าง ๆ ได้มากขึ้น จะว่าไปผมไม่เคยมีปัญหากับ XeLaTeX เลย เมื่อใช้งานกับเอกสารภาษาอังกฤษ ทั้งเอกสารการสอน ใบงานการทดลอง (lab sheet) screen presentation เหล่านี้ล้วนแล้วแต่สะดวกสบาย ตั้งแต่ใช้ LaTeX  มาสิบกว่าปี ในยุคของ pdfLaTeX ชีวิตผมมีความสุขดีกับฟอนต์ที่เป็นทางการอย่าง Garuda (ครุฑ) ครับ ไม่ว่าจะทำงานบน Windows หรือ Linux พอมายุคของ XeLaTeX คู่กับบรรณาธิกรณ์ (editor) แบบ Unicode […]

Read More

Plot2SVG MATLAB and Inkscape

หลายคงคงรู้ว่าเวลาเอารูปจาก MATLAB ไปใส่ในเอกสาร LaTeX นั้น ฟอนต์ที่อยู่ในกราฟนั้นจะไม่เหมือนกับเอกสาร ปัญหานี้จะว่าใหญ่ก็ไม่เชิง จะว่าเล็กก็ไม่เชิง ขึ้นอยู่กับมุมมองของแต่ละคน แน่นอนสำหรับผมนั้นแค่เอารูปแบบ pdf หรือ eps ไปใช้ในเอกสารแล้วภาพไม่แตก พิมพ์ออกมาสวยงามกว่าชาวบ้านเขาก็พอแล้ว แต่ปรากฏว่าปัญหานี้ใหญ่พอสมควรสำหรับคนเยอรมันที่ผมทำงานด้วย จริง ๆ มีวิธีแก้ไขหลายวิธีปัญหานี้ได้พูดกันอย่างกว้างขวางที่ What is the best way to include Matlab graphics รวมถึงวิธีแก้ไขด้วยครับ  วิธีที่ดีที่สุดให้ดูคำตอบของคุณ Shuhao Cao ที่มีรูปเยอะ ๆ ซึ่งคุณ Shuhao Cao ได้แสดงปัญหาของการใช้ matlab2tikz ซึ่งมีผู้นิยมใช้กันมาก ซึ่งปัญหาเหล่านี้นั้นผมก็เจอเหมือนกัน และไม่เคยใช้ matlab2tikz สำเร็จเลย วิธีที่คุณ Cao เสนอให้ใช้คือ plot2SVG ซึ่งโหลดได้จากเว็บของ  plot2svg_20120915.zip การติดตั้งก็เหมือนกับแพ็กเกจของ Matlab ทั่วไป การเรียกใช้คำสั่งก็อ่านได้ในคู่มือที่ติดมาด้วยครับ เมื่อได้ไฟล์ […]

Read More

ทักทายเดือนเมษายน -- เปลี่ยนทำไม

กลับมาอีกครั้งตามคำเรียกร้องของมิตรรักแฟน LaTeX หายไปหลายเดือน (ฮา) จะว่ากันตามจริง การเขียนบทความนั้นมันต้องมีแรงบันดาลใจ มีความหงุดหงิด และ อื่น ๆ ฯลฯ ในฐานะคนแก่ที่ค่อนข้างจะอนุรักษ์นิยม ซึ่งเป็นคนไม่ชอบเดินทาง ไม่ชอบเปลี่ยนแปลง ไม่ชอบพิธีการ ก็จะขอย้ำกับมิตรรัก LaTeX ว่าอย่าพยายามไปเปลี่ยนให้คนมาใช้ LaTeX ด้วยการบังคับ ควรจะให้พวกเขาเห็นคุณค่าของมัน ผมเห็นมาหลายกรณีมากครับที่ อาจารย์จบจากเมืองนอกใช้ LaTeX ในการเขียน Thesis เล่มโต พอกลับมาเมืองไทยก็เลิกใช้ LaTeX ในทุก ๆ กรณี ซึ่งเรื่องนี้ผมถือว่าเสียพลังงานอย่างมาก และไม่ได้ประโยชน์ มาเรื่องทั่วไปบ้าง ช่วงนี้มีการรณรงค์ประหยัดไฟ โดยการปิดไฟฟ้าตามช่วงเวลาต่าง ๆ ซึ่งดูดีมีประโยชน์ แต่จริง ๆ แล้วประโยชน์ที่ได้มันน้อยมาก การรณรงค์ประหยัดไฟที่ดีนั้นต้องทำพร้อม ๆ กัน ในช่วงเวลาที่มีการใช้ไฟฟ้าเยอะ ๆ เช่นช่วงก่อนมีละครหลังข่าว ปิดกันซักครึ่งชั่วโมงให้ไปเตรียมตัวกินข้าวกินปลาก่อนมานั่งล้อมวงดูละครกัน ทำทุกวัน ซึ่งถ้าทำอย่างนี้เราจะได้ประโยชน์มาก ๆ เรื่องถัดมา วกกลับมาสู่ LaTeX […]

Read More

ก้าวแรกสู่สังเวียน BibLaTeX ตอนที่ 1 Jabref

ตามที่ได้กล่าวไปแล้วว่าจะมีการพูดถึงการใช้ BibLaTeX ทั้งนี้เพื่อให้เราสามารถปรับปรุงรูปแบบการอ้างอิงเอกสารได้โดยไม่ต้องพึ่งพาไฟล์ bst (ที่อาจจะปรับปรุงแก้ไขได้ยาก) ซึ่งไม่คล่องตัวนัก ซึ่งการใช้ BibLaTeX จะทำให้มีความคล่องตัวมากกว่า และผู้ใช้สามารถเปลี่ยนแปลงแก้ไขได้อย่างสะดวกและบ่อยครั้ง ตัวอย่างเช่นรูปแบบการแสดงเอกสารอ้างอิงในวิทยานิพนธ์ของมหาวิทยาลัยไทยแห่งหนึ่งกำหนดดังในรูปข้างล่าง  ซึ่งถ้าใครใช้รูปแบบของ IEEE อยู่ก็จะรู้ว่ามันไม่เหมือนกัน  เนื้อหาในตอนนี้จะเป็นการเตรียมความพร้อมของผู้ใช้ให้พร้อมใช้ BibLaTeX ก่อน ในตอนที่ 1 นี้จะเป็นการปรับแต่ง Jabref ให้รอบรับภาษาไทยครับ เนื่องจากการใช้ Jabref เพื่อเก็บรายละเอียดของเอกสารอ้างอิงของเรานั้นเป็นเรื่องที่สะดวกที่สุดในสายตาผม วิธีการทำให้ Jabref รู้จักภาษาไทยก็สามารถทำได้ง่าย คือติดตั้งฟอนต์ภาษาไทยที่ต้องการจะใช้เข้าไปยังโฟลเดอร์ที่ติดตั้ง Java เอาไว้  สำหรับกรณีของผมก็คือที่ C:\Program Files\Java\jre6\lib\fonts  ซึ่งฟอนต์ที่ดีที่แนะนำก็คือฟอนต์ Garuda ครับ  เมื่อคัดลอกไฟล์ฟอนต์ไปวางไว้ในโฟลเดอร์ดังกล่าว ก็เป็นอันเสร็จพิธี  Jabref ของเราสามารถใช้ภาษาไทยได้อย่างราบรื่นครับ คราวต่อไปจะแนะนำวิธีการตั้งค่าของ BibLaTeX เพื่อให้ได้ผลตามรูปข้างบนครับ

Read More

ปัญหาของ XeLaTeX กับ MiKTeX

ในช่วงที่ผ่านมา ไม่ได้ยุ่งเกี่ยวอะไรกับ pdfLaTeX มานานมากแล้ว งานส่วนใหญ่หันไปใช้ XeLaTeX หมดแล้ว เพราะความสามารถที่มากกว่า ใช้ฟอนต์ของ OS นั้น ๆ ได้ ใช้งานกับภาษาไทยได้ดี  ช่วงนี้ถ้าใคร Update MiKTeX แล้วหล่ะก็ ก็จะมีปัญหากับแพ็กเกจสองตัวคือ expl3 กับ xpackages  ซึ่งถูกแทนที่ด้วย l3kernel กับ l3packages แต่ตอนนี้ MiKTeX ยังไม่ได้แก้ไข ผู้ใช้จะต้องลงเองนะครับ โดยใช้ตัวจัดการแพ็กเกจของ MiKTeX ครับ ปัญหาก็จะหมดไป  

Read More

แพ็กเกจ pgfpages with XeTeX

วันก่อนอาจารย์ท่านหนึ่งได้ส่งคำถามเรื่องการสร้างเอกสารจาก beamer 4 หน้าลงใน 1 หน้า A4 โดยใช้แพ็กเกจ pgfpages บน XeTeX ซึ่งต้องบอกก่อนว่าแพ็กเกจ นี้สามารถใช้งานกับ LaTeX และ pdfLaTeX ได้เป็นอย่างดี  ส่วนตัวไม่เคยลองกับ XeTeX เลย  พึ่งได้มาลองก็ตอนที่ได้ไฟล์มาจากอาจารย์ท่านที่ส่งคำถามมาเนี่ยแหละครับ (XeTeX เป็นความหวังของชุมชนที่จะสามารถใช้ฟอนต์ภาษาไทยกับ LaTeX ได้อย่างอิสระ) เมื่อได้ลองแล้วก็หาทางแก้ไข ไม่ว่าจะทางเว็บ stack exchange และที่อื่น ๆ ก็ไม่สามารถแก้ปัญหาได้ แต่ได้รู้ปัญหาคือแพ็กเกจ pgf  ที่แพ็กเกจ pgfpages ใช้นั้น ไม่สนับสนุน XeTeX  วิธีแก้ไขมีทางเดียวครับคือเข้าไปแก้ไข page layout ให้เหมาะสมกับ XeTeX  ในการแก้ไข page layout ของเพ็กเกจ pgf นั้นสิ่งที่ต้องทำคือทำใจยอมรับความทรมานที่จะต้องเข้าไปผจญกับคู่มือของ pgf (เยอะ แล้วอ่านแล้วไม่สื่อความหมาย)  ในที่สุดผมก็แก้ไขได้ครับ โดยใช้รหัสต้นดังนี้ […]

Read More

วาดแผนภาพ (diagram) ง่าย(ที่ไหน) ด้วย TikZ ตอนที่ 1

ถ้าใครเคยใช้ beamer, TikZ มาบ้าง แล้วเริ่มต้นด้วยการอ่านคู่มือโดยมีเป้าหมายเพื่อที่จำทำงานง่าย ๆ บางอย่างให้เสร็จในเวลาอันรวดเร็ว นั่นหมายความว่าคุณชอบทรมานตัวเอง คู่มือของ beamer และ TikZ นั้นหนา รายละเอียดเยอะ แล้วก็ "ต้องอ่านตั้งแต่ต้น" ใครไม่เคยใช้ beamer และ TikZ และไม่อยากแตะ แต่เคยสัมผัสคู่มือของอุปกรณ์จากเยอรมันเช่น Siemens, dSpace (อาจจะรวม SAP เข้าไปด้วย) ก็น่าจะรู้ดีว่า คู่มือเหล่านี้จะมี Quick Start ที่อ่านจบแล้วไปต่อไปไม่ได้ ตัวอย่างถัดไปไม่สามารถขยายต่อจากตัวอย่างใน Quick Start ได้ บางครั้งทำตามตัวอย่างในบทถัด ๆ ไปทุกอย่าง แต่ได้ error มั่วไปหมด วิธีก็คือตั้งอ่านคู่มือย้อนกลับไปเรื่อย ๆ จนกว่าจะหาสาเหตุเจอ (ซึ่งไม่ง่ายเหมือนคู่มือจากประเทศอื่น) เรื่องนี้คงไม่ใช้เรื่องแปลก เพราะคำว่า user กับ power user ของเยอรมันนั้นไม่มีความแตกต่าง (ซึ่งต่างจากหลาย ๆ […]

Read More

Presentation Beamer and Video

เมื่อวานนั่นฉลาดน้อยอยู่ครึ่งคืนครับ เพราะว่าต้องการตัดต่อวิดีโอเพื่อเอาไปแสดงบน Beamer ผ่านแพ็กเกจ movie15 ซึ่งบอกว่าสนับสนุนไฟล์แบบ mwv  ของไมโครซอฟท์ด้วย ผมถ่ายวิดีโอด้วยกล้องที่บ้านเป็นไฟล์ avi ซึ่งสามารถนำมาตัดต่อแต่งเติมบน windows live movie maker ที่ติดมากับ windows 7 ได้ ซึ่งตัวโปรแกรมนั้นใช้ง่ายมาก ใช้เวลาไม่ทันชาเย็นก็สามารถทำงานตามที่ต้องการได้ (แบบง่าย ๆ) แต่จะด้วยเหตุและผลอะไรก็แล้วแต่ท่านไมโครซอฟท์นั้นให้บันทึกไฟล์ที่ตกแต่งแล้วได้รูปแบบเดียวคือ mwv พอเอาไปลองใช้งานกับ movie15 จริง ๆ แล้วใช้ไม่ได้ ทีนี้พอเอาไฟล์ avi กลับใช้งานได้ ค่อนคืนก็ไม่ได้ทำอะไร นั่งหาโปรแกรมฟรีแวร์ที่ใช้ในการแปลง mwv ไปเป็น avi  ก็ได้โปรแกรมหนึ่งไปใช้นะครับ ส่วนที่ให้ใช้ฟรีใช้งานได้ดีระดับหนึ่งทีเดียว แต่ว่าไฟล์ avi ที่ได้ใหญ่มาก ใหญ่เกินใจจะรับไหว เพราะไม่สามารถแชร์ไฟล์เข้า dropbox ได้แบบทันใจ  แต่ด้วยความง่วงก็เลยนอนไปก่อน ตื่นเช้ามาหัวสดใจ ก็เลยเข้าใจว่า ไม่ต้องใช้ avi ก็ได้ เพราะมีไฟล์อีกหลายประเภทที่ movie15 มันรองรับ สุดท้ายก็มาลงที่ไฟล์แบบ […]

Read More

Beamer Theme: Boonto1

ใน PracTeX Journal ฉบับ 2010-2 ได้ลงบทความเกี่ยวกับการทำ Presentation สำหรับงานวิทยาศาสตร์ โดยใช้วิธีสร้าง preamble และจัดการส่วนต่าง ๆ ให้เหมือนกับ Beamer โดยส่วนตัว เห็นว่ายุ่งยากไปหน่อยถ้า และถ้าเราต้องการใช้ความสามารถของ Beamer เราก็ไม่สามารถใช้ได้ ผมเลยลองดัดแปลงแม่แบบดังกล่าวให้เป็นธีมสำหรับ Beamer   รูปข้างต้นเป็นผลลัพธ์ที่ได้ ถ้าอยากดูไฟล์ pdf ก็คลิ๊กที่รูปได้โดยตรงครับ  รูปโลโก้น่าเกลียด ๆ นั้นไม่ใช่ของผม แต่เป็นโลโก้ของ Beamer เขา สำหรับผู้ที่อยากจะนำไปใช้งานสามารถดาว์นโหลดไฟลสองไฟล์ดังนี้ครับ test.tex เป็นแม่แบบสำหรับนำไปใช้งาน  มีคำสั่ง \mybox{}{} ให้ใช้ beamerthemeBOONTO1.sty เป็นไฟล์ธีมหลัก วิธีการใช้ธีมนี้ ก็ทำได้ง่าย ๆ โดยการนำไฟล์ beamerthemeBOONTO1.sty ไปไว้ที่เดียวกับ test.tex ก็เป็นอันเสร็จพิธี  ถ้าจะเปลี่ยนโลโก้ก็ให้แก้ไขคำสั่งข้างล่างให้เป็นของตัวเองครับ

ก็แค่นั้นแหละครับ ลองเอาไปใช้กันดู ชอบ ไม่ชอบ ก็ติชมกันมานะครับ […]

Read More

ความคืบหน้า Xe(La)TeX Thai Thesis Template

ตามที่เคยแจ้งไปว่าขณะที่กำลังทำแม่แบบภาษาไทยสำหรับวิทยานิพนธ์ระดับปริญญาตรี โดยใช้ LaTeX (XeLaTeX) ความคืบหน้าขณะนี้คือ ฟอนต์ Angsana New ฟอนต์บังคับสำหรับวิทยานิพนธ์ (ฟอนต์ที่ดูดีฟอนต์แรก และชื่อจำง่าย ถ้าเป็น Thesis ภาษาอังกฤษจะใช้ฟอนต์ที่ทางการกว่า ซึ่งจะไปตรงกับ Browallia New มากกว่า น่าเสียดายจริง ๆ) นั้นมีปัญหากับ แพ็กเกจที่สำคัญสองตัว คือ polyglossia  และ xltxtra ซึ่งทำให้การแสดงผลสระอู สระอิ ผิดจากที่ควรเป็น ในขณะที่ฟอนต์อื่นไม่เป็น ข่าวดีเล็กน้อยคือแก้ปัญหานี้ได้แล้ว ด้วยการไม่ใช้แพ็กเกจทั้งสอง และกับไปใช้แพ็กเกจ fontspec แทน และการกำหนดฟอนต์หลักต้องใช้คำสั่ง

น่าเศร้ามากที่การแก้ปัญหานี้ใช้เวลาถึงสองวัน ไฟล์ที่เกี่ยวข้องคือไฟล์ gloss-thai.ldf ซึ่งก็คือ thai.ldf เดิม ของ thailatex แพ็กเกจนั่นเอง ไว้จะทำให้เรียบร้อยต่อไปครับ คลาสไฟล์ยังไม่ให้ดาวน์โหลดนะครับ เพราะยังเต็มไปด้วยบัก ขอเวลาซักพักนึงก่อน

Read More

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

พูดกันตามตรง ตอนนี้ผมเริ่มเอนเอียงไปใช้ XeTeX เป็นตัวขับเคลื่อน LaTeX หลักแล้ว ด้วยเหตุผลหลายอย่าง ที่พอจะเห็นชัด ๆ ได้แก่ รองรับไฟล์กราฟฟิคหลัก ๆ ทั้งหมด ทำให้หมดปัญหาเรื่อง eps และ pdf สามารถใช้ฟอนต์ TureType และ OpenType ได้ ทำให้ไม่มีข้อจำกัดเรื่องฟอนต์ รองรับการตัดคำภาษาไทยโดยอัตโนมัติ (ใช้ ICU) แน่นอนยังมีข้อเสียหลายข้อเหมือนกัน ไม่ว่าจะช้า (แก้ด้วยใช้เครื่องที่เร็วขึ้น)  แพ็กเกจ tikz และ pgf ยังไม่สนับสนุน XeTeX เต็มที่ และดูเหมือนจะไม่ใช่ปัญหาที่แก้ไขง่ายนัก อย่างไรก็ตามวันนี้ผมจะนำเสนอการใช้งาน Beamer แพ็กเกจสำหรับนำเสนอข้อมูลผ่านเครื่องฉายภาพ ตัวหนึ่งที่ได้รับความนิยมมาก ๆ (เริ่มมีเสียงบ่นว่า ผู้ใช้ส่วนใหญ่มักง่าย ไม่ยอมทำธีมของตัวเอง) ในการใช้งาน Beamer  กับ XeTeX นั้นจะไม่เหมือนบะหมี่กึ่งสำเร็จรูป ต้องออกแรงเล็กน้อย ลองตัวดูอย่างไฟล์ Beamer ทั่วไปดังนี้ครับ (การทดลองใช้กันฟอนต์ที่สวยงามชื่อ Layiji […]

Read More