Category Archives: TeX & LaTeX

เอกสารคำสอนภาษาไทย

ในการเขียนเอกสารภาษาไทยเล่มโต ๆ กลุ่มอาจารย์หลาย ๆ คนจะนิยมใช้ XeLaTeX ร่วมกับฟอนต์ TH Sarabun New จากที่รู้ ๆ กันอยู่คือฟอนต์บน windows ไม่เท่ากับบน LaTeX ต้องทำการขยายด้วยตัวคูณ 1.29 หรือ 1.3 และการเว้นบรรทัดก็ใช้ 1.2 ขึ้นไป การใช้วิธีนี้มีข้อจำกัดอยู่พอสมควร เรื่องฟอนต์ของ Math mode ซึ่งไม่ได้ขยายตามตัวอักษร กล่าวคือตัวคูณที่กล่าวมานั้นเหมาะกับฟอนต์ 12 pt ของ LaTeX ไม่ได้เหมาะกับขนาดอื่น ถ้าเราขยายไปมากกว่านั้นก็จะทำให้ฟอนต์ของ Math mode ไม่ได้ขยับตาม วิธีการแก้ปัญหานี้ก็คือใช้คำสั่ง [crayon-5a2e1c9a5c9d9748952133/]

ความลับสวรรค์

เนื่องจากไม่ค่อยมีเวลาเขียน โพสนี้เป็นการรวบรวมข้อมูลเล็ก ๆ น้อย ๆ สำหรับจดไว้กันลืมครับ lmodern ต้องลงเอง มันไม่ลงให้อัตโนมัติ สำหรับ MiKTeX นั้น XeLaTeX ต้องใช้ -enable-write18 แทนที่จะเป็น --shell-escape สำหรับหนังสือภาษาไทย ที่มีตัวภาษาอังกฤษ และสมการคณิตศาสตร์ปน ให้ใช้ตัวเลือก no-math \usepackage[no-math]{fontspec}เข้าไปเจอความลับสวรรค์จาก page Thai Students Love LaTeX เพื่อสั่งให้ LaTeX ไม่ใช้ฟอนต์ไทยกับสมการคณิตศาสตร์ ใน beamer ในสมการคณิตศาสตร์ ที่มี $\hat{f}$ เวลาแสดงผลจะเพี้ยน ป้อนกันได้ด้วย \usefonttheme{professionalfonts} แค่นี้ก่อนนะครับ

การแก้ปัญหาฟอนต์ Helvetica ในเอกสารที่สร้างจาก LaTeX แล้วมีปัญหากับ IEEE PDF eXpress

ถ้าใครเขียนบทความวิจัยเพื่อไปตีพิมพ์ในประชุมวิชาการระดับนานาชาติ สิ่งหนึ่งที่ควรจะดูก็คือเรื่องบทความวิจัยของเรามันจะไปอยู่ในฐานข้อมูลหรือไม่ หนึ่งในฐานข้อมูลยอดนิยมก็คือ IEEE Explore นั่นเอง เงินที่เสียเพิ่มขึ้นก็แลกเอาว่าจะให้บทความเราหายไปหรือคงอยู่ ผมได้รับการตอบรับให้ตีพิมพ์ในประชุมวิชาการระดับนานาชาติ ซึ่งต้องจ่ายเงินแล้ว upload บทความตัวสุดท้ายของเราขึ้นไปให้คณะผู้จัดงานได้รวบรวมไปตีพิมพ์ ปกติผมสร้างเอกสารจาก XeLaTeX ได้ตัว pdf มา ก็ upload ได้ไม่มีปัญหา แต่ก็มีเรื่องจนได้ เนื่องจากรูปกราฟของบทความผมที่สร้างขึ้นจากโปรแกรมคำนวณยอดนิยม ดังมีค่าเริ่มต้นของฟอนต์ต่าง ๆ เป็น Helvetica ซึ่งแน่นอนไม่มีบน windows ก็ประเมินไม่ผ่านตามระเบียบ แก้ยังไงน่ะเหรอครับ ก็ง่าย ๆ กลับเข้าไปแก้ที่รูปภาพที่มีอยู่รวม ๆ ประมาณ 20 รูป แต่ละรูปก็แก้ประมาณ 4-5 จุด ทำไปหนึ่งรูป

The Power of TikZ

ได้รู้จัก TikZ มานาน แต่ใช้น้อยมาก ทั้ง ๆ ที่ pgf และ TikZ เป็นระบบกราฟฟิคที่เกิดมาคู่กับ Beamer (tool ในการสร้าง presentation ที่นิยมมาก ๆ ในวงการศึกษา) เหตุผลก็ง่าย ๆ ครับ ตัวภาษาที่เป็นคู่มือเล่มหนายังกับ textbook อ่านจบไปร้อยหน้า ก็ยังทำอะไรมากไม่ได้ วิธีการเลี่ยงไปใช้ pgfplot ช่วยในบางกรณีก็ทำมาแล้ว ยากพอกันแต่คู่มือบางกว่า ปัญหาก็เกิดอีกเพราะมันช้ามาก ผมยกตัวอย่าง ถ้าผมต้องการวาดภาพแบบนี้ลงในหนังสือผม (คลิ๊กที่รูปเพื่อดูขนาดจริง) จะทำอย่างไรครับ เมื่อก่อนผมใช้ m4 circuit macro ส่วนกราฟก็ใช้ MATLAB

LaTeX Class สำหรับวิทยานิพนธ์ของจุฬาฯ

อาจารย์ ดร. ฑิตยา หวานวารี จากภาควิชา Mathematics and Computer Science ได้ทำ LaTeX Class สำหรับวิทยานิพนธ์สำหรับนักศึกษาของจุฬาฯ ปิดเทอมนี้จะมาชำแหละ  

Macro floats สำหรับ WinEDT

โพสนี้เป็นของแฟน WinEDT ซึ่งใครไม่ได้ใช้อยู่ก็ข้ามไปนะครับ ต้องบอกก่อนว่าบรรณาธิกรณ์ (editor) ตัวนี้ ผมใช้มายาวนานมาก และซื้อมากใช้สองรอบ รอบแรกคือเวอร์ชัน 4 (อัปเกรดฟรีตลอดชีพ) พอเป็นเวอร์ชัน 6 เจ้าของโปรแกรมบอกต้องลงทุนเพิ่ม อยากได้ต้องซื้อใหม่ ก็ทำการซื้อไป แล้วก็ใช้มาตลอด ข้อจำกัดของ WinEDT นั้นก็มีเยอะ เช่นไม่มีระบบ autocomplete ซึ่งจะว่าไปแล้วผู้ใช้ที่ชำนาญ ก็ไม่มีใครใช้ นอกจากนั้น WinEDT ยังใช้วิธีการปรับเปลี่ยนส่วนติดต่อกับผู้ใช้ที่ยากลำบากมาก แต่เจ้าของโปรแกรมอ้างว่าถ้าใช้ LaTeX ได้ระดับนี้ การแก้ไขส่วนติดต่อผู้ใช้ด้วย text mode ก็ไม่น่าจะมีปัญหา ถ้ามีปัญหาก็เลิกใช้ไปเถอะ (จะเห็นว่าสังคมนี้โหดมากแต่ไหนแต่ไร) คุณ Karl Koeller ที่น่าจะเป็นหนึ่งเดียวบน

underscore !

เป็นเรื่องที่ user เก่า(และแก่ด้วย) อย่างผมถึงกับต้องตีอกชกหัวตัวเอง ตกม้าตายเอาง่าย ๆ เรื่องมีอยู่ว่า ผมเข้าใจเอาเองมาตลอดว่าใน LaTeX เขียน underscore '_' ได้เฉพาะใน math mode และจะหมายถึงการใส่ตัวห้อย (subscript) ปัญหาของผมที่เจอบ่อย ๆ ก็คือเวลาที่ผมต้องการจะเขียนชื่อไฟล์ที่มีตัว underscore นี้ ผมมักใช้ท่าพิเศษ เช่นใช้คำสั่ง \verb หรือ \url ซึ่งสามารถใช้งานได้ปกติ แต่ไม่ใช่ท่ามาตรฐาน ออกจะเป็นขบวนท่านอกด่านไปซักหน่อย วันนี้ต้องเขียนเอกสารอธิบายไฟล์ โดยต้องอ้างชื่อไฟล์หลายไฟล์ และบางชื่อไฟล์ต้องไปอยู่ในหลายสถานที่ ๆ ไม่ค่อยจะได้อยู่ เช่น ใน \caption เป็นต้น และนั่นคือที่มาของปัญหาเพราะขบวนท่า

XeLaTeX กับฟอนต์ Garuda

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

Plot2SVG MATLAB and Inkscape

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

การสร้างกรอบรอบกระดาษ ด้วย XeLaTeX

ช่วงนี้เริ่มจะเปิดภาคการศึกษา ปกติจะทำเอกสารการบ้านสำหรับนักศึกษา ซึ่งทุกครั้งจะใช้โปรแกรมสำนักงานสำหรับจัดทำเอกสารสร้างงานการบ้าน แต่ตอนนี้เห็นว่ามาลองใช้งาน XeLaTeX เลยอยากจะลองสร้างด้วย XeLaTeX แต่จริง ๆ แล้วก็เคยอยากทำมานานแล้วแต่ไม่สำเร็จ เพิ่งสำเร็จเลยนำมาลองให้เพื่อน ๆ ลองทดสอบกันครับ การตบแต่งกรอบกระดาษก็จะใช้คำสั่ง \AddToShipoutPicture{} เพื่อกำหนดส่วนที่จะแสดงทุกหน้า และภายในใช้คำสั่ง \framebox สร้างกรอบสี่เหลี่ยมใหญ่ แล้ววางชิ้นส่วนอื่น ๆ ด้วยคำสั่ง \put ไม่ว่าจะเป็นเส้นที่ใช้คำสั่ง \line หรือ \rule ก็ได้ การกำหนดขอบกระดาษ กำหนดให้สอดคล้องกับโครงกรอบที่เราวาดด้วยแพ็กเก็จ geometry ใช้แพ็กเก็จ lastpage เพื่อให้แสดงค่าเลขหน้าสุดท้าย ใช้คำสั่ง \fontsize{14pt}{16pt}\selectfont ในการกำหนดขนาดของฟอนต์ครับ [crayon-5a2e1c9a63ecf389821284/]   รูปผลการรันอัพรูปไม่ได้ครับแต่โหลดตัวอย่างได้ที่

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

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