Category Archives: TeX & LaTeX

Diagrams on a Big Diagram

ปัญหาหนึ่งในการวาดรูปแผนภาพในการแสดงข้อมูลของการตอบสนองที่ตำแหน่งต่าง ๆ นั้น เป็นเรื่องที่ยากมากสำหรับการวาดรูปด้วย LaTeX อาจจะต้องวาดหลายรูปแล้วนำไปย่อแล้ววางยังตำแหน่งต่าง ๆ ซึ่งไม่สะดวกนัก ตัวอย่างเช่น แผนภาพ Poincare   ใน http://texample.net/tikz/examples/poincare/ ได้มีการแชร์วิธีการวาดแผนภาพแบบนี้ เอาไว้ศึกษากันนะครับ  

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

เอาด่วน ๆ เร็ว ๆ จดไว้กันลืม โดยปกติ caption ของรูปจะอยู่ข้างล่าง และของตารางจะอยู่ข้างบน แต่จะด้วยเหตุผลอะไรไม่ทราบเวลาแพ็กเกจ caption แล้ว ค่าตั้งต้นมันจะให้ caption อยู่ข้างล่าง วิธีแก้ทำดังนี้ครับ [crayon-5b2d5a9723953368741457/] ก็เป็นอันว่าจบ

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

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

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

เนื่องจากไม่ค่อยมีเวลาเขียน โพสนี้เป็นการรวบรวมข้อมูลเล็ก ๆ น้อย ๆ สำหรับจดไว้กันลืมครับ 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 ซึ่งมีผู้นิยมใช้กันมาก