This is default featured slide 1 title

This is default featured slide 1 title

You can completely customize the featured slides from the theme theme options page. You can also easily hide the slider from certain part of your site like: categories, tags, archives etc. More »

This is default featured slide 2 title

This is default featured slide 2 title

You can completely customize the featured slides from the theme theme options page. You can also easily hide the slider from certain part of your site like: categories, tags, archives etc. More »

This is default featured slide 3 title

This is default featured slide 3 title

You can completely customize the featured slides from the theme theme options page. You can also easily hide the slider from certain part of your site like: categories, tags, archives etc. More »

This is default featured slide 4 title

This is default featured slide 4 title

You can completely customize the featured slides from the theme theme options page. You can also easily hide the slider from certain part of your site like: categories, tags, archives etc. More »

This is default featured slide 5 title

This is default featured slide 5 title

You can completely customize the featured slides from the theme theme options page. You can also easily hide the slider from certain part of your site like: categories, tags, archives etc. More »

 

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  มาสิบกว่าปี ในยุคของ

วาดวงรีด้วย MATLAB

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

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

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

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

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

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

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

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

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

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

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

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

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