Beamer, XeTeX กับภาษาไทย

พูดกันตามตรง ตอนนี้ผมเริ่มเอนเอียงไปใช้ XeTeX เป็นตัวขับเคลื่อน LaTeX หลักแล้ว ด้วยเหตุผลหลายอย่าง ที่พอจะเห็นชัด ๆ ได้แก่

  1. รองรับไฟล์กราฟฟิคหลัก ๆ ทั้งหมด ทำให้หมดปัญหาเรื่อง eps และ pdf
  2. สามารถใช้ฟอนต์ TureType และ OpenType ได้ ทำให้ไม่มีข้อจำกัดเรื่องฟอนต์
  3. รองรับการตัดคำภาษาไทยโดยอัตโนมัติ (ใช้ ICU)

แน่นอนยังมีข้อเสียหลายข้อเหมือนกัน ไม่ว่าจะช้า (แก้ด้วยใช้เครื่องที่เร็วขึ้น)  แพ็กเกจ tikz และ pgf ยังไม่สนับสนุน XeTeX เต็มที่ และดูเหมือนจะไม่ใช่ปัญหาที่แก้ไขง่ายนัก อย่างไรก็ตามวันนี้ผมจะนำเสนอการใช้งาน Beamer แพ็กเกจสำหรับนำเสนอข้อมูลผ่านเครื่องฉายภาพ ตัวหนึ่งที่ได้รับความนิยมมาก ๆ (เริ่มมีเสียงบ่นว่า ผู้ใช้ส่วนใหญ่มักง่าย ไม่ยอมทำธีมของตัวเอง)

ในการใช้งาน Beamer  กับ XeTeX นั้นจะไม่เหมือนบะหมี่กึ่งสำเร็จรูป ต้องออกแรงเล็กน้อย ลองตัวดูอย่างไฟล์ Beamer ทั่วไปดังนี้ครับ (การทดลองใช้กันฟอนต์ที่สวยงามชื่อ Layiji มหานิยม ๑.๕ กับแม่แบบ Madrid)

\documentclass{beamer}
\usetheme{Madrid}

\usepackage{xltxtra}
\XeTeXlinebreaklocale "th"
\defaultfontfeatures{Scale=1.4}
\setmainfont[Script=Thai]{Layiji MaHaNiYom V1.5}

\title{การนำเสนอผลงานด้วย Beamer}
\author{คนไทย รักเรียน}
\institute[XUT]{มหาวิทยาลัยเทคโนโลยีซักแห่งหนึ่ง}

\begin{document}
\begin{frame}
    \maketitle
\end{frame}
\begin{frame}
    \frametitle{Beamer กับ ภาษาไทย}
    ทดสอบ ภาษาไทย ภาษาไทย
\end{frame}
\end{document}

แทนที่จะได้เอกสารที่แสดงผลภาษาไทยสวยงาม กลับได้ไฟล์เอกสารดังรูปข้างล่าง

วิธีแก้ไขทำได้ไม่ยากครับ ทำดังนี้

\documentclass[xetex,serif]{beamer}

ซึ่งจะได้ไฟล์ผลลัพธ์ที่มีภาษาไทยสวยงามดังที่ตั้งใจไว้ ดังแสดงข้างล่าง

ก็หวังอีกเช่นเคย ว่าคงจะมีประโยชน์บ้างครับ

Texmaker 2.3 และ SumatraPDF 1.4

ไม่รู้เป็นเหตุบังเอิญหรือเปล่าที่โปรแกรมเล็ก ๆ ดี ๆ สองตัวออกเวอร์ชันใหม่พร้อม ๆ กัน โปรแกรมตัวแรกคือ Texmaker 2.3

และ SumatraPDF 1.4 สำหรับตัวแรกผมเริ่มใช้เป็นบรรณาธิกรณ์หลักในการสร้างเอกสารขนาดเล็ก ๆ แล้ว ด้วยความที่มันเป็น Unicode และมีตัวแสดงผล pdf แบบฝังตัว ทำให้การใช้งานค่อนข้างสะดวกรวดเร็ว ความสามารถใหม่ ๆ ที่เพิ่มเข้ามาในเวอร์ชันนี้คือ (เอาเฉพาะที่สำคัญนะครับ)

  1. สามารถซ่อนกลุ่มคำสั่ง (folding) ที่อยู่ภายใต้คำสั่ง\part, \chapter, \section,.., \begin{foo} \end{foo} ซึ่งทำได้สวยงามทีเดียว โดยเฉพาะการเลือกใช้สี
  2. ข้อมูลของเอกสารอ้างอิงใน bibtex ไฟล์ตอนนี้จะแสดงให้เห็นเมื่อมีการเรียกใช้คำสั่ง \cite
  3. สามารถย้ายแท็บได้

ส่วน SumatraPDF 1.4 นั้นก็มีการปรับปรุงให้เร็วเหมือน 1.2 แล้ว ที่เหลือก็ไม่มีอะไร

XeTeX กับภาษาไทย

บทความนี้เป็นของคุณจักรีเช่นเดิมครับ น่าสนใจทีเดียว  ดังนี้เลยครับ

ในการใช้ MikTeX 2.9(XeLaTeX) + ฟอนต์ TH SarabunPSK บนเครื่องที่ admin ไม่อนุญาตให้ติดตั้งฟอนต์เพิ่มในระบบ

เลยหาวิธีใหม่
1. ดาวน์โหลดฟอนต์ TH SarabunPSK(หรือฟอนต์อื่น ๆ) ที่ต้องการใช้งานแล้วสำเนาไฟล์ ttf ไปไว้ที่โฟลด์เดอร์ที่ต้องการ
2. ใช้คำสั่ง

\setmainfont[Path=E:/myFonts/THsarabun/]{THSarabun.ttf}

โดยที่ “E:/myFonts/THsarabun/” เป็นโฟลด์เดอร์ที่จัดเก็บฟอนต์

หรือถ้าเก็บฟอนต์ไว้ที่เดียวกับไฟล์ต้นฉบับ

\setmainfont{THSarabun.ttf}

ด้วยเทคนิคนี้ทำให้ เราสามารถจะฝากฟอนต์ไว้ที่ flash drive หรือที่ dropbox (ตามลิงค์จะเป็น Referral ของผม) แล้วนำไปใช้ที่เครื่องไหน ๆ ก็ได้ครับ

ทดสอบ MikTeX 2.9 + ฟอนต์ TH SarabunPSK

เป็นเรื่องฝากจากคุณ จักรี ครับ คุณจักรีแนะนำการใช้งาน MikTeX 2.9+XeTeX กับฟอนต์มาตรฐาน ซึ่งฟอนต์เหล่านี้นอกจากสวยแล้ว ยังสามารถใช้ได้ฟรีโดยไม่มีข้อผูกมัด โดยสามารถดาว์นโหลดได้จาก ฟอนต์.คอม และผมเข้าใจว่าในอนาคตฟอนต์เหล่านี้จะกลายเป็นมาตรฐานแทนฟอนต์ Angsana New ที่มีให้ใช้เฉพาะ Windows เท่านั้นครับ (ในทางกฏหมาย)

นอกจากฟอนต์จะฟรีแล้ว ฟอนต์เหล่านี้ยังเข้ากับมาตรฐานใหม่ ๆ แล้ว การใช้งานกัน XeTeX เท่าที่เห็นคือ

  1. การเว้นบรรทัดถูกต้องทันที
  2. การตัดคำดีขึ้นอย่างเห็นได้ชัด
  3. ตัวหนา ตัวเอียง สามารถใช้ร่วมกับคำสั่งของ LaTeX ได้ทันที

วิธีการใช้งานตามที่คุณจักรีแนะนำมา ก็สามารถใช้ร่วมกับบรรณาธิกรณ์อย่าง TeXMaker ได้ทันทีครับ ดังนี้

% ------ Test MikTeX 2.9 + ฟอนต์  TH SarabunPSK
\documentclass[11pt,a4paper]{article}
\usepackage{xltxtra} 

\XeTeXlinebreaklocale "th"
\XeTeXlinebreakskip = 0pt plus 1pt   %

\setmainfont{TH SarabunPSK}
\title{ครม.สั่งหน่วยงานราชการ ใช้ 13 ฟอนต์ไทย  }
\author{ใครก็ไม่รู้}

\begin{document}
\maketitle
\section{ครม.เห็นชอบให้ทุกส่วนราชการโละฟอนต์ต่างชาติ บังคับใช้ 13 ฟอนต์ไทยในงานราชการ
 ระบุป้องกันละเมิดลิขสิทธิ์}
นายวัชระ กรรณิการ์ รองโฆษกประจำสำนักนายกรัฐมนตรี เปิดเผยว่า ที่ประชุม ครม.เห็นชอบให้หน่วย
งานภาครัฐทุกหน่วยดำเนินการติดตั้งฟอนต์สารบรรณและฟอนต์ อื่น ๆ ทั้งหมด จำนวน 13 ฟอนต์ ของ
สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (สอซช.) หรือ SIPA และกรมทรัพย์สินทางปัญญา
เพิ่มเข้าไปในระบบปฏิบัติการ Thai OS (Thai Operating System) และใช้ฟอนต์ดังกล่าวแทน
ฟอนต์เดิม ตามที่กระทรวงเทคโนโลยีสารสนเทศและการสื่อสารเสนอ โดยให้ติดตั้งและใช้งานให้แล้วเสร็จ
ก่อนวันที่ 5 ธันวาคม 2553

ทั้งนี้ สืบเนื่องจาก ปัจจุบันส่วนราชการจำนวนมากมีการใช้ฟอนต์ที่หลากหลาย ไม่มีมาตรฐานในเอกสาร
ทางราชการ อีกทั้งยังมีหน่วยงานราชการหลายแห่งใช้มาตรฐานฟอนต์ของบริษัทเอกชนที่ผูกขาด ลิขสิทธิ์
เช่น Angsana อาจมีปัญหาเรื่องการฟ้องร้องละเมิดลิขสิทธิ์ได้ด้วยเหตุดังกล่าว จึงได้มีการพัฒนาและมี
การประกวดแข่งขันฟอนต์ ซึ่งเป็นการส่งเสริมให้เกิดการใช้ Open Source Software ที่เป็นซอฟต์แวร์
เสรีให้ส่วนราชการไทยประกาศมาตรฐานเอกสารดิจิตัลและรูปแบบ ของฟอนต์ที่ไม่ขึ้นกับระบบปฏิบัติการ
และลิขสิทธิ์ของบริษัทใด ๆ เพื่อความภาคภูมิใจในความเป็นชาติและเอกลักษณ์ของความเป็นชาติไทย
ซึ่งในขณะนี้มีฟอนต์ที่ส่วนราชการไทยสามารถเป็นเจ้าของและพร้อม
แจกจ่ายให้ กับผู้ประสงค์จะใช้งานรวม 13 ฟอนต์ ดังนี้
\end{document}

ลองใช้ดูกันนะครับ ได้ไม่ได้อย่างไรแจ้งมาด้วย

VirtualBox and Windows 7

ตั้งแต่เปลี่ยนมาใช้ Windows 7  64 bit ก็ต้องจำใช้ Linux ผ่าน cygwin ซึ่งไม่ค่อยดีนัก ครั้งจะรอ colinux 64 bit ก็ไม่ทันใจ และคาดว่าอีกนานคงจะเสร็จ จริง ๆแล้วมีคนแนะนำให้ใช้ VirtualBox นานแล้ว ติดตรงที่รู้สึกไม่ดีกับโปรแกรมนี้สมัยแรก ๆ คราวนี้ได้เวลาทดสอบ ด้วยเหตุผลว่าเครื่องเร็วขึ้น มีหน่วยความจำมหาศาล 4 GB และหลาย ๆ อย่างพร้อมสำหรับ Windows 7 Professional แล้ว  ครั้งนี้ก็เลยใช้ใจที่ตั้งมั่นทดลองซักหน่อย  ขั้นตอนที่ยุ่งยากที่สุดเห็นจะเป็นการโหลดไฟล์ Ubuntu 10.10 ขนาดใหญ่ยักษ์ 600 กว่าเมกกะไบต์นั่นเอง ดังนั้นใครเน็ตช้าก็ควรจะโหลดเก็บไว้แล้วแจกจ่ายเพื่อน ๆ ด้วย

การติดตั้ง VirtualBox ก็ไม่มีอะไรนอกจากตอบคำถามในการติดตั้ง ทางที่ดีก็ควรจะอ่านด้วย และที่สำคัญควรเลือกไดรฟ์ให้ถูกต้อง ไม่งั้นเอะอะก็ C แล้วจะมาเสียใจภายหลัง

เมื่อติดตั้งเสร็จเรียบร้อยแล้ว ก็ให้ตั้งค่า Guest OS ให้ถูกต้อง ในที่นี้คือ Ubuntu 32 bit (ผมลง 64 bit ไม่ได้) จากนั้นก็ให้ตั้งค่า Storage ให้เพิ่มตัว iso ไฟล์ของ Ubuntu ที่โหลดมา ซึ่งตรงไปตรงมา ดังรูปข้างล่าง

จากนั้นก็กด start พักเดียว (ถ้าเครื่องเร็ว) ก็จะเข้าสู่กระบวนการติดตั้ง Ubuntu (ไม่รู้ด้วยสาเหตุอะไร การติดตั้งครั้งแรกสำหรับผมไม่สำเร็จ ก็ shutdown ไปแล้วติดตั้งใหม่ ซึ่งครั้งที่สองมักจะไม่มีปัญหาอะไร เริ่มแรกควรจะติดตั้งแบบภาษาอังกฤษ คีย์บอร์ดภาษาไทย และอื่น ๆ สามารถติดตั้งภายหลังได้ไม่ยาก  เมื่อติดตั้งเสร็จแล้ว ทุกอย่างจะอัตโนมัติหมด ไม่ว่าการต่อ internet ซึ่งดีมาก ๆ

Continue reading

LaTeX in Your Emails

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

สำหรับผู้ใช้ Thunderbird เป็นตัวอ่านอีเมล มีข่าวดีมาก ๆ คือ โปรแกรมตัวนี้มี Add-on ที่ชื่อ LaTeX It! ซึ่งสามารถทำงานได้เป็นอย่างดี ดังตัวอย่างในรูปข้างล่าง

จะเห็นว่าอีเมลที่ได้รับจากบน Yahoo จะมีสมการคณิตศาสตร์ (ในรูปไวยกรณ์คณิตศาสตร์ไม่ถูกต้อง) ที่สวยงานตามแบบฉบับของ LaTeX สำหรับวิธีการติดตั้งนั้นจำเป็นจะต้องมีโปรแกรมที่ต้องลงเพิ่มนอกจาก LaTeX Engine อย่าง MiKTeX หรือ TeXLive คือ

  • GhostScript
  • ImageMagick ซึ่งต้องเป็นเวอร์ชัน 32 บิต เท่านั้น (เราสามารถลงเวอร์ชัน 32 บิต แยกกันกับเวอร์ชัน 64 บิต ในกรณีที่ใช้ Windows 7 64 bit ได้ โดยที่ตัว 64 บิต ให้เป็นตัวเรียกใช้โดยปริยาย ส่วนโฟลเดอร์ที่ลง 32 บิต ก็ให้ตัว LaTeX It! ชี้ไปหา)

ในการติดตั้ง LaTeX It! นั้นให้เข้าไปที่เมนู Tools-> Add-ons ของ Thunderbird แล้วใช้คำค้นว่า LaTeX  แล้วก็เลือกติดตั้ง LaTeX It! จากนั้นก็ restart ตัวนกสายฟ้าใหม่เป็นอันได้ LaTeX It! มาใช้ ถ้ากด Write ก็จะมีไอคอนของ LaTeX It! ขึ้นมาให้เห็นแล้ว แต่ยังใช้งานไม่ได้ต้องตั้งค่าก่อน โดยการเข้าไปที่  Tools->Add-ons เหมือนเดิม แล้วเรียกแก้ Options ของ LaTeX It! ดังในรูป

สำหรับโฟลเดอร์ของ LaTeX และ dvips ก็อยู่ในโฟลเดอร์ที่ติดตั้ง MiKTeX ต่อด้วย \miktex\bin\latex.exe และ \miktex\bin\dvips.exe  ตามลำดับนะครับ ส่วน convert ก็จะอยู่ในโฟลเดอร์ที่ติดตั้ง Imagemagick นั่นแหละครับ หาได้ไม่ยาก  แค่นี้ก็สามารถใช้งานคำสั่งส่วนใหญ่ของ LaTeX ได้แล้ว ส่วนใครต้องการใช้ amsmath ก็ไปเพิ่มแพ็กเกจนี้เอาเองใน LaTeX template to use

เมื่อผ่านขั้นตอนนี้ไป เวลาต้องการเขียนสมการคณิตศาสตร์ก็ใส่คำสั่งของ LaTeX ไปได้เลย เสร็จแล้วก็กดไอคอนของ LaTeX It! มันก็จะแนบไฟล์รูปของสมการ (เป็น png) ให้อัตโนมัติ  พร้อมส่งครับ ข่าวร้ายคือต้องเฉพาะเมล์ที่อ่านผ่าน Thunderbird ได้เท่านั้นนะครับ Yahoo ต้องเสียเงินเพิ่ม, Gmail ได้, Hotmail ก็ได้ครับ

เปรียบมวย unicode edtiors for LaTeX

ในปัจจุบันบนวินโดวส์มีบรรณาธิกรณ์ (editor) อยู่สองตัวที่รองรับ unicode และสามารถทำ forward/inverse search ได้ ตัวหนึ่งคือ TeXWorks ส่วนอีกตัวคือ TeXMakerX ในบทความนี้จะเปรียบเทียบเฉพาะความสามารถในด้านที่กล่าวถึงเท่านั้น รูปร่างหน้าตาและความสามารถอื่น ๆ นั้น TeXWorks ยังคงเปรียบเทียบกับ TeXMakerX ไม่ได้  นั่นเป็นเพราะ TeXMakerX นั้นมีฐานมาจาก TeXMaker ซึ่งเป็นข้อได้เปรียบ

คราวนี้ TeXMakerX ได้ออกเวอร์ชัน 2.0  ซึ่งบรรจุความสามารถ forward/inverse search ทำให้ไม่จำเป็นต้องไปหา pdf viewer แบบ Sumatra PDF และเนื่องจากตัวมันรองรับ unicode ทำให้สามารถใช้งานกับภาษาไทยได้ดี โดยเฉพาะอย่างยิ่งกับ XeLaTeX ทำให้การแก้ไขงานที่เป็นภาษาไทยไม่ยุ่งยากอีกต่อไป  หน้าตาของ pdf viewer ที่ติดมากับ TeXMakerX นั้นเป็นแบบรูปข้างล่าง ก็มีฟังก์ชันในการดูไฟล์เอกสารครบถ้วน เพียงพอที่จะใช้ตรวจสอบเอกสาร

หลังจากที่เราได้เอกสาร pdf แล้ว เราสามารถจะเรียกดูเอกสารต้นฉบับได้โดยการเอาเมาส์ไปจิ้มตำแหน่งที่เราต้องการ แล้วคลิ๊กขวาเพื่อเลือกตัวเลือก Jump to Source ตัวบรรณาธิกรณ์ก็จะขึ้นมาตรงบรรทัดนั้นให้และแถมด้วยการเน้นข้อความในส่วนนั้นด้วยสีเหลือง  ส่วนการจะเรียกดูสิ่งที่ปรากฏใน pdf ไฟล์ จากบรรณาธิกรณ์ ก็ไปที่ตำแหน่งนั้น จะกด F7 หรือคลิ๊กที่ไอคอน Adobe ก็ได้

ตอนจะลองนะครับ สำหรับ TeXMakerX จำเป็นจะต้องตั้งค่าคำสั่งให้ถูกต้องด้วย สำหรับการใช้ XeLaTeX ก็ต้องไปแก้ อย่างในกรณีนี้ผมไม่ใช้ LaTeX แล้วผมก็แก้ให้เป็น XeLaTeX ดังนี้ครับ

xelatex  -synctex=1 -interaction=nonstopmode %.tex

ซึ่งหลังจากแก้ไขแล้ว ตัวโปรแกรมก็จะเรียกใช้ XeLaTeX แทน

สำหรับ TeXworks นั้นมีตัวเลือกสำหรับ XeLaTeX ให้อยู่แล้ว เรียกใช้ได้เลย ทุกอย่างแทบจะเหมือนกันกับ TeXMakerX ทั้งหมด เพียงแต่ในการทำ Forward/Inverse search นั้นจะต้องใช้เมาส์ซึ่งไม่สะดวกนัก อีกข้อเสียหนึ่งก็คือตัวโปรแกรมจะเลือกเปิดตัว pdf viewer เฉพาะในที่ ๆ กำหนดไว้เท่านั้น ผู้ใช้ต้องเลื่อนเอาเอง บางครั้งมันไม่สะดวกนัก

สรุป TeXworks นั้นยังตาม TeXMakerX อยู่มากโข ในแง่ของคุณลักษณะการใช้งาน ถ้าไม่เกี่ยงเรื่องรก TeXMakerX เป็นบรรณาธิกรณ์สำหรับ XeLaTeX ภาษาไทยที่ดีตัวหนึ่งครับ

Microsoft Academic Search

เรื่องนี้ไม่เกี่ยวกับ LaTeX เท่าไหร่ แต่เกี่ยวกับนักวิจัย การเป็นนักวิจัยนั้น สิ่งที่เลี่ยงไม่ได้ก็คือเรื่องของการตีพิมพ์ผลงานวิจัย เว็บ Microsoft Academic search คงจะเป็นอาวุธหนึ่งของ Microsoft สำหรับผูกตัวบริษัทติดกับนักวิจัยทั้งหลายแหล่ ผมเข้าไปพบโดยบังเอิญด้วยการค้นชื่อตัวเองด้วย Bing แล้วมันก็โยงผมมาที่เว็บแห่งนี้

ตัวเว็บยังเป็นเบต้าอยู่ ซึ่งแน่นอนยังมีที่ผิดเยอะ และตัวข้อมูลก็ยังน้อยเมื่อเทียบกับฐานข้อมูลมาตรฐานอย่าง Scopus ซึ่งใหญ่กว่า ทันสมัยและเป็นที่ยอมรับมากกว่า แต่ของใหม่มาทีหลังย่อมต้องมีจุดขาย จุดขายที่สำคัญของ Microsoft Academic Search นั้นก็คือกราฟฟิคที่แสดงการเชื่อมโยงของผู้ร่วมวิจัย รวมไปถึงเส้นทางการเชื่อมต่อจากคนหนึ่งไปสู่อีกคนหนึ่ง ตัวอย่างเช่น

รูปข้างบนเป็นของเล่นของนักวิจัยที่ทำงานเกี่ยวกับคณิตศาสตร์บ้าง ไม่มากก็น้อยชอบเล่นกัน นั่นคือการหาความสัมพันธ์กับ Paul Erdös ซึ่งความสัมพันธ์นี้คือตัวเลขของความไกลกับ Erdös ในเชิงของผู้วิจัยร่วม ตัวเลขไม่ได้สำคัญนัก (เพราะใครแก่กว่าก็ได้เปรียบ) แต่ที่สำคัญคือการพิสูจน์ว่าตัวเลขนั้นเป็นจริง ลองมาดูการเชื่อมโยงของผมกับ Erdös ดูครับ ว่าไกลขนาดไหน

ซึ่งก็คือหกทอดพอดี แต่จริง ๆ แล้วมันผิด เพราะ Christian Schmidt นั้นเป็นคนละคนกัน (ในเยอรมันมีคนชื่อนี้นามสกุลนี้ น่าจะเกินร้อย) และอาจารย์ผมนั้นน่าจะเชื่อมโยงกับคนที่ใกล้ชิด Erdös ได้มากกว่านี้ เพียงแต่ฐานข้อมูลของ Microsoft นั้นยังไม่สมบูรณ์พอ แต่แค่นี้ก็เห็นแนวทางว่ามันสามารถใช้ประโยชน์อะไรได้บ้าง

นอกจากการเชื่อมโยงแล้ว เว็บนี้ยังให้ข้อมูลต่าง ๆ มากมาย เช่นจำนวนการอ้างอิงของบทความที่ตีพิมพ์ของเรา จำนวนบทความที่ตีพิมพ์ของแต่ละมหาวิทยาลัย ซึ่งให้รายละเอียดที่ดูง่าย และทำงานค่อนข้างเร็ว ซึ่งเรื่องแบบนี้ยิ่งทำเร็วยิ่งได้เปรียบ

รูปบ้างบนคือการแสดงจำนวนการตีพิมและการอ้างอิงผลงานในแต่ละปีของมหาวิทยาลัยในไทยแห่งหนึ่ง ที่นับเฉพาะจำนวนข้อมูลที่บรรจุในฐานข้อมูล

ใครเป็นนักวิจัยก็ลองไปใช้ดูนะครับ

MATLAB; you may see different results on different platforms.

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

เรื่องนี้ต้องชม MATLAB ในเรื่องการบริการพอสมควร ผมส่งคำถามไปก็มีการตอบกลับมาไม่เกินสองวัน มีวิศวกรคอยทดสอบปัญหาให้ตลอดเวลา  เรื่องมีอยู่ว่าผมทำงานที่บ้านตอนกลางคืน ในขณะที่ทำงานที่ทำงานตอนกลางวัน อยู่มาวันหนึ่งก็แบกเครื่องโน้ตบุ๊คไปทำงานด้วย นัยว่าสองเครื่องย่อมทำงานการปรับแต่งพารามิเตอร์ได้ดีกว่าเครื่องเดียว ผลปรากฎว่าสองเครื่องให้ผลไม่เหมือนกันครับ

สมมุติฐานแรกเลย เครื่องโน้ตบุ๊คผมเป็น AMD  รัน windows 7 pro (64 bits) และใช้ MATLAB 2010b ในขณะที่เครื่องที่ทำงานเป็น Intel และรัน windows xp sp3 (32 bits)  และใช้ MATLAB 2010a  เลข 32 กับ 64 บิตนั้นหลอนก่อนเพื่อน  ค้นไปค้นมาก็เลยลง MATLAB 2010b เวอร์ชัน 32 bits ในโน้ตบุ๊คเพิ่มเข้าไป ปรากฏว่าคราวนี้ได้ผลต่างกันสามแบบเลยครับ

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

อย่างไรก็ตามวิศวกรก็ได้บอกเฉลยวิธีแก้มาให้คือ ให้ MATLAB ใช้  reference BLAS  ซึ่งทำได้ดังนี้

  1. เข้าไปตั้งตัวแปรของระบบที่  System Properties ดังรูป
  2. ที่ Environment variables ให้เพิ่มตัวแปรใน System Variables โดยที่ตัวแปรที่เพิ่มชื่อ BLAS_VERSION และมีค่าเป็น refblas.dll ซึ่งถ้าเกิดตัวแปรนี้มีอยู่แล้ว ก็แค่แก้ค่าดังกล่าวใส่ลงไป

แน่นอนสิ่งที่ได้คือมั่นใจว่าทุกเครื่องจะให้ผลเหมือนกัน แต่หลาย ๆ ฟังก์ชันจะทำงานช้าลง เท่าที่ลองตอนนี้ผลที่ได้เหมือนกันแล้ว ส่วนเรื่องช้านั้นไม่รู้สึกอะไรมากครับ

ใครมีปัญหานี้ก็ไปลองแก้ไขดูได้ครับ

Matlab with LaTeX interpreter

เคยต้องการพล็อตกราฟของสมการคณิตศาสตร์ด้วย Matlab ไหมครับ สิ่งหนึ่งที่น่าปวดหัวคือการผนวกสมการลงไปในกราฟด้วย เช่นอาจจะต้องการพล็อตกราฟ $$e^{2\log x}$$ แล้วต้องการเขียนสมการกำกับที่กราฟ แบบสิ้นคิดทำได้ดังนี้
จะเห็นได้ว่ารูปข้างบนไม่ต้องทำอะไรมาก ใช้คำสั่ง

 text(2,2,'exp(2log(x))')

เป็นอันเสร็จพิธี

แต่การทำอะไรให้มันเต็มความสามารถนั้น ถึงแม้จะไม่ได้คะแนนเพิ่ม แต่ทำให้เอกสารอ่านง่ายดูดี เป็นเรื่องที่ควรกระทำ ดังนั้นใช้ความรูป LaTeX เพิ่มเข้าไปดังนี้

text(2,2,'$e^{2\log(x)}$','interpreter','latex','fontsize',18)

ซึ่งจะได้ผลของสมการที่สวยงามดังรูป
ซึ่งวิธีการนี้ใช้ได้หมดนะครับ ไม่ว่าจะเป็นคำสั่ง xlabel, ylabel, และ title แต่ช้าก่อนมันใช้กับคำสั่ง legend ไม่ได้ และนี่เป็นที่มาของบทความนี้ ในกรณีที่เราต้องการใช้คำสั่ง LaTeX กับ legend โดยสั่งจาก Matlab โดยตรก ไม่ต้องไปใช้เมาส์คลิ๊กขวาแล้วเลือก เราจะทำอย่างไร สมมติว่าผมพล็อตกราฟ $$x^3$$ และ $$x^2$$ บนแกนเดียวกัน แล้วใช้คำสั่ง

legend('x^3','x^2');

ผมก็จะได้กราฟตามรูป

ซึ่งก็จะได้ $$x^3$$ และ $$x^2$$ ที่ดูดีพอสมควร (กรณีนี้คำสั่ง LaTeX บางคำสั่ง รวมไปถึงอักษรกรีกบางตัวจะใช้ไม่ได้) แต่ถ้าต้องการให้ $$x^3$$ และ $$x^2$$ สวยงามขึ้น เราไม่สามารถใช้วิธีการตามข้างบนได้ จะต้องทำดังนี้

s =  legend('$x^3$','$x^2$');
set(s,'interpreter','latex');

ซึ่งก็จะได้กราฟสวย ๆ ตามต้องการครับ ดังแสดงในรูปข้างล่าง

หวังว่าจะมีประโยชน์ไม่มากก็น้อยนะครับ อนึ่งรูปที่โพสลงไปเป็น png คุณภาพอาจจะไม่ดีนัก แต่ของจริงดูดี รับรอง