ใส่กรอบให้หน้ากระดาษด้วย fancybox

เป็นของฝากจากคุณสุขุมครับ ผมรับมาเขียนขยายความให้อีกที

การใส่กรอบให้หน้ากระดาษนั้นมีประโยชน์ในหลาย ๆ กรณีครับ นอกจากจะใช้ตกแต่งหน้ากระดาษแล้วยังใช้ในการตรวจดูระยะของหน้ากระดาษได้อีกด้วย ในการใส่กรอบให้หน้ากระดาษนั้นสามารถทำได้หลายวิธี ตามวิธีที่คุณสุขุมแนะนำมาน่าจะเป็นวิธีที่ง่ายที่สุด โดยการใช้แพ็กเกจ facybox ซึ่งแพ็กเกจนี้ใช้ความสามารถในการสร้างกรอบของ LaTeX ทั้งหมด ไม่ว่าจะเป็น fbox, shadowbox, ovalbox และ Ovalbox

Continue reading

ใส่ Layer ให้ pdf

ถ้าใครเคยผ่านหูผ่านตาแพ็กเกจ AcroTeX จะเห็นว่าแพ็กเกจนี้สามารถใส่ลูกเล่นให้การทำ presentation ได้อย่างมากมาย แต่ข้อเสียหลัก ๆ ก็คือต้องมี Acobat ตัวที่เสียเงิน สำหรับสร้างความสามารถเหล่านี้ ถึงแม้ว่าผลลัพธ์จะนำมาเป็นกับตัวอ่านเอกสาร pdf ฟรีตัวไหนก็ได้

ถ้าใครเคยผ่านหูผ่านตาแพ็กเกจ AcroTeX จะเห็นว่าแพ็กเกจนี้สามารถใส่ลูกเล่นให้การทำ presentation ได้อย่างมากมาย แต่ข้อเสียหลัก ๆ ก็คือต้องมี Acobat ตัวที่เสียเงิน สำหรับสร้างความสามารถเหล่านี้ ถึงแม้ว่าผลลัพธ์จะนำมาเป็นกับตัวอ่านเอกสาร pdf ฟรีตัวไหนก็ได้

เนื้อหาในโพสนี้แค่เป็นการจดบันทึกเกี่ยวกับแพ็กเกจที่มีความสามารถในการสร้างเลเยอร์ให้เอกสาร pdf ซึ่งจะมีประโยชน์มาก ๆ ในการทำ presentation สำหรับแพ็จเกจที่มีความสามารถคล้าย ๆ กันมีดังนี้คือ

  1. cooltooltips
  2. pdfcomment
  3. fancytooltips
  4. ocgtool

สองตัวแรกทำงานได้เฉพาะกับเอกสารที่เป็นข้อความ ส่วนตัวที่สามจำเป็นต้องมีไฟล์ภายนอกมาเกี่ยวข้องด้วย ตัวที่ 4 นั้นอ้างว่าดีมาก แต่จำเป็นต้องลง AcroTeX แต่ไม่จำเป็นต้องใช้ Acrobat Reader Professional ที่เสียเงิน ไว้ว่าง ๆ จะลองหัดเล่นดูแล้วจะรายงานผลให้ทราบนะครับ

Export Simulink Diagram to use in LaTeX Document

ภาพจาก Simulink ของ Matlab เป็นหนึ่งในภาพที่การจับภาพจากหน้าจอไปลงเอกสารได้รับความนิยมมาก ๆ ส่วนใหญ่ก็จะได้กรอบของหน้าต่างติดมาด้วย พอมาใช้ในเอกสารจริง การย่อขยายรูปภาพก็จะทำให้ได้รูปที่ดูไม่ดีนัก จริง ๆ แล้วถ้าดูเอกสารของ Simulink บริษัท Mathworks นั้นจะไม่พบว่ามีการจับภาพจากหน้าจอมาใส่แต่อย่างใด ในบทความนี้จะนำเสนอวิธีการดึงรูปจาก Simulink ในรูปแบบเวกเตอร์มาใส่เอกสารบน LaTeX ให้ได้รูปที่ดี และสามารถใช้ได้ทั้ง LaTeX และ pdfLaTeX

Continue reading

Chapter หรือ Section ที่มี สัญลักษณ์คณิตศาสตร์

Chapter หรือ Section ที่มี สัญลักษณ์คณิตศาสตร์ ในกรณีที่ใช้ Hyperref จะมีคำเตือนจาก LaTeX นะครับ มีคำเตือนมาก ๆ ก็ไม่ดี วิธีแก้ก็คือให้ครอบสมการด้วย \texorpdfstring{$สัญญลักษณ์คณิตศาสตร์$}{} คำเตือนก็จะหายไปครับ

ประโยชน์อันหนึ่ง Schur’s complements

ถ้าเรามีเงื่อนไขว่า

q^TA^{-1}q \leq 1

โดยที่ q^Tq =1 ถ้าเราอยากหาว่า q^TAq \leq ? จะทำอย่างไร มันกลับเศษเป็นส่วนแบบตัวเลขทั่วไปไม่ได้เพราะนี่มันเมตริกซ์  แต่เรารู้ว่า

-1 + q^TA^{-1}q \leq 0

และจาก Schur’s complements เราจะได้ว่า

\begin{bmatrix}-1 & q^T \\ q & -A\end{bmatrix} \leq 0

-A\leq 0, \qquad -A + qq^T \leq 0

คูณทางซ้ายด้วย q^T และคูณทางขวาด้วย q ของสมการล่างสุด จะได้

-q^TAq + 1 \leq 0

q^TAq \geq 1

งดงามดีแท้

Hold all

ทุกคนที่เคยใช้ Matlab คงจะไม่มีใครไม่เคยใช้ฟังก์ชัน hold on หรือ hold off  ที่ blog ของ Loren มีการนำเสนอตัวเลือกของฟังก์ชัน hold นั่นคือ hold all และเหมือนทุกครั้ง ผมก็พึ่งรู้ว่ามีงี้ด้วย

ยกตัวอย่างปัญหาที่มักเกิดขึ้นเสมอ ๆ แล้วกันครับ เวลาเราพล็อตกราฟเพื่อเปรียบเทียบ เอาตามตัวอย่างของ Loren แต่นำเสนอให้เข้ากับสถานการณ์จริงมากขึ้นคือ สมมติว่า  เราสร้างฟังก์ชัน sin แล้วพล็อตดังนี้

t = 0:0.005:1;
f = sin(2*pi*10*t);
plot(t,f)

ซึ่งเราก็จะได้กราฟดังรูปsin

Continue reading

Monospace font for programming

ปกติจะใช้ courier new ซึ่งหน้าตาจะเป็นแบบนี้

courier new

ซึ่งจะเห็นว่ามีปัญหาหลายจุด ที่เห็นชัด ๆ และกวนใจเสมอ ๆ คือ ตัว l กับเลข 1 และตัว O กับเลข 0 ส่วนเรื่องความคมชัดบองตัวหนังสือก็พอใช้ได้ไม่มีปัญหาอะไร  จริง ๆ แล้วหลาย ๆ คนคงจะรู้มานานแล้วว่า Microsoft ได้ออกแบบฟอนต์ใหม่เอาใจโปรแกรมเมอร์ซึ่งชื่อว่า Consolas ซึ่งกลายเป็นขวัญใจโปรแกรมเมอร์ในเวลาอันรวดเร็ว ดูได้จาก Top 10 Programming Fonts ตอนวิสต้าออกมาใหม่ ๆ  ก็ลองพยายามหาโหลดมาใช้กับ XP ดู ปรากฎว่าไม่ได้แจกฟรี มันมาพร้อมกับโปรแกรมเวอร์ชันหลัง ๆ ของ Microsoft เท่านั้น พึ่งมารู้เมื่อวานว่ามันฟรีแล้วสำหรับผู้ใช้วินโดวส์แท้ หน้าตามันเป็นดังนี้ครับ

consolas

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

ใครต้องการใช้ก็เข้า google หรือ bing ไปโหลดได้เลย

วิธีการทำให้ content ของ pdf แสดงภาษาไทย

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

\input{lthpuenc.def}
\input{lthenc2.def}
\usepackage[thai1]{inputenc}

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

pdfcontent

ตัวเลือกสำหรับ Xming สำหรับ coLinux

พอดีมีปัญหากับ keyboard ใน X application แก้อย่างไรก็ไม่หาย วิธีแก้ทำได้ง่าย ๆ คือตั้งค่าในไฟล์ .conf ของ coLinux โดยเพิ่มตัวเลือกต่าง ๆ เข้าไป ดังนี้

exec0="C:\Program Files\Xming\Xming.exe",":0 -dpi 96 -ac -clipboard -notrayicon -c -multiwindow -reset -terminate -unixkill -logfile Xming.log -xkblayout en -xkbvariant nodeadkeys"

ที่สำคัญ ๆ ก็คือ -xkblayout en กับ  -xkbvariant nodeadkeys