Macro floats สำหรับ WinEDT

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

Read More →
underscore !

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

Read More →
XeLaTeX กับฟอนต์ Garuda

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

Read More →
วาดวงรีด้วย MATLAB

จากความตอนที่แล้ว การสร้างวงกลมด้วย MATLAB ขั้นต่อไปคงเป็นการสร้างวงรี จริง ๆ แล้วเราเรียนเรื่องวงรีจากเรขาคณิตวิเคราะห์ในบทที่ว่าด้วยภาคตัดกรวยที่มี วงกลม วงรี พาราโบลา ไฮเปอร์โบลา ยากสุด ๆ กลับไปดูในแบบเรียนเอาเอง นะครับ หรือที่ Conic Section Gallery การวาดวงรีด้วย MATLAB สำหรับผมแล้วผมจะไม่ใช้เรขาคณิตวิเคราะห์ เพราะผมเป็นวิศวกรที่ไม่เขียนแบบด้วยไม้บรรทัดและวงเวียนอีกแล้ว ผมจะวาดแบบง่ายโดยให้ค่าบนแกน และค่าบนแกน ซึ่งคราวนี้ค่า และ จะมีขนาดไม่เท่ากัน รหัสต้นของ MATLAB ที่ดูดีขึ้นก็จะเป็น

  ทีนี้ถ้าเราต้องการหมุนวงรีจะทำอย่างไรครับ ถ้าจะบวกองศาที่หมุนไปดื้อ ๆ นั้นจะไม่เป็นผล เพราะหมุนแกนตอนแกนตั้งมันก็หมุนด้วย ด้วยความสัตย์จริงผมต้องไปค้นหนังสือ พีชคณิตเชิงเส้น เรื่อง orthogonal basis มาอ่าน ได้ความว่าเราสามารถใช้ orthogonal basis มาหมุนวงรีได้ ดังนี้ โดยที่ คือค่าบนแกนนอนและแกนตั้งตามลำดับ ก็จับมาคูณ กันดื้อ ๆ เลยครับ […]

Read More →
การสร้างวงกลมด้วย MATLAB

เห็นมีคำค้นการสร้างวงกลมด้วย MATLAB ไม่ทราบว่าคนค้นได้คำตอบหรือยัง ก็ถือโอกาสเขียนวิธีการไว้ตรงนี้เลย เผื่อว่าคนที่ค้นจะกลับมาอีกแล้วจะได้คำตอบ ว่ากันตามตรงการสร้างวงกลมด้วย MATLAB ถือเป็นปัญหาเส้นผมบังภูเขานะครับสมการวงกลมนั้นมีลักษณะดังนี้ โดยที่ คือรัศมีของวงกลม ถ้าผู้ต้องการวาดวงกลมด้วย MATLAB เอาเส้นผมออกก็จะพบว่าจริง ๆ แล้วเราสามารถเขียนสมการข้างต้นได้ดังนี้ โดยให้ค่าบนแกน คือ และค่าบนแกน  คือ   แค่นี้เราก็สามารถนำมาสร้างคำสั่งของ MATLAB ได้แล้วง่าย ๆ ดังนี้

ถ้าอยากทำเป็นฟังก์ชันก็แค่เขียนให้รับค่ารัศมีเท่านั้นก็พอ แค่นี้ก็คงประยุกต์ต่อไปได้ว่าจะทำวงรีต่อไปทำอย่างไร แต่พอเป็นวงรีแล้วคุณจะหมุนวงรีได้หรือเปล่าอันนั้นเป็นขั้นสูงต่อไป

Read More →
ทักทาย เดือนธันวาคม 2556

สวัสดีมิตรรักผู้อ่านทั้งหลาย ในภาคการศึกษาหน้าผมจะมีเวลามากขึ้น ผมสัญญาว่าจะมีการเขียนบทความให้มากขึ้นครับ วันนี้ก็ขอแนะนำ YouTube ของอาจารย์ ดร. มีโชค ชูดวง ซึ่งอธิบายการใช้งาน LaTeX รวมไปถึง ThaiLaTeX ไว้อย่างละเอียดและใช้งานได้จริง โดยผมจะทำลิงค์ไว้ดังนี้ LaTeX ตอนที่ 1 การใช้งาน LaTeX เบื้องต้นด้วย TexWorks LaTeX ตอนที่ 2 LaTeX กับภาษาไทย การเรียนรู้จาก อาจารย์ มีโชค ชูดวง นั้นได้พิสูจน์แล้วจากลูกศิษย์ผมคนหนึ่ง ซึ่งปัจจุบันสามารถใช้งาน LaTeX ได้อย่างคล่องแคล่วทีเดียว  

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 →
การสร้างกรอบรอบกระดาษ ด้วย XeLaTeX

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

  รูปผลการรันอัพรูปไม่ได้ครับแต่โหลดตัวอย่างได้ที่ ตัวอย่าง ให้ทดสอบดูแล้วจะเห็นกระดาษที่มีกรอบทุกหน้าครับ อ้างอิง http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2007-12/msg00104.html

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

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

Read More →
ทักทายเดือนธันวาคม - มกราคม สวัสดีปีใหม่

เดือนนี้ไม่มีอะไรมากนอกจากจะทักทายผู้อ่าน (ถ้ายังมี) ด้วยการสวัสดีปีใหม่ และด้วยภาพดอกไม้ไฟข้างล่าง  ภาพนี้ไม่ได้สร้างด้วยโปรแกรมวาดรูปใด ๆ แต่เป็นการสร้างโดยใช้ Tikz ชุดคำสั่งในการวาดรูปของ LaTeX  แน่นอนสร้างโดยบรรดาพ่อมดในโลกของ LaTeX นั่นเอง หลังปีใหม่มีเรื่องน่าตกใจในชีวิต LaTeX ของผม ไม่มากก็น้อย ดังนี้ อาจจะได้เวลาเลิกใช้ WinEdt (ถ้าเวอร์ชัน 7.00 ไม่ออกในเร็ววัน) แล้วหันไปใช้ Texmaker แทน ทั้ง ๆ ที่ผมจ่ายเงินซื้อมา เหตุผลหลัก ๆ คือ งานหลักหลาย ๆ งานจำเป็นต้องใช้ภาษาไทย ซึ่ง Texmaker รองรับ และผมก็เริ่มคุ้นเคยกับคีย์ลัดต่าง ๆ ของ Texmaker มากขึ้น ตลอดจนฟังก์ชัน Auto-complete ก็ดูจะสร้างความรำคาญให้ผมน้อยลง ที่สำคัญเจ้าของโปรแกรมนั้นมีมนุษยสัมพันธ์ดีกว่าของ WinEdt มาก ผมตัดสินใจเปลี่ยนจาก MiKTeX 2.9 ไปใช้ TexLive  2011 […]

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 →