วาดแผนภาพ (diagram) ง่าย(ที่ไหน) ด้วย TikZ ตอนที่ 1

ถ้าใครเคยใช้ beamer, TikZ มาบ้าง แล้วเริ่มต้นด้วยการอ่านคู่มือโดยมีเป้าหมายเพื่อที่จำทำงานง่าย ๆ บางอย่างให้เสร็จในเวลาอันรวดเร็ว นั่นหมายความว่าคุณชอบทรมานตัวเอง คู่มือของ beamer และ TikZ นั้นหนา รายละเอียดเยอะ แล้วก็ “ต้องอ่านตั้งแต่ต้น” ใครไม่เคยใช้ beamer และ TikZ และไม่อยากแตะ แต่เคยสัมผัสคู่มือของอุปกรณ์จากเยอรมันเช่น Siemens, dSpace (อาจจะรวม SAP เข้าไปด้วย) ก็น่าจะรู้ดีว่า คู่มือเหล่านี้จะมี Quick Start ที่อ่านจบแล้วไปต่อไปไม่ได้ ตัวอย่างถัดไปไม่สามารถขยายต่อจากตัวอย่างใน Quick Start ได้ บางครั้งทำตามตัวอย่างในบทถัด ๆ ไปทุกอย่าง แต่ได้ error มั่วไปหมด วิธีก็คือตั้งอ่านคู่มือย้อนกลับไปเรื่อย ๆ จนกว่าจะหาสาเหตุเจอ (ซึ่งไม่ง่ายเหมือนคู่มือจากประเทศอื่น)

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

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

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

จะเห็นได้ว่าโหนดแต่ละอันนั้นเป็นรูปสี่เหลี่ยมผืนผ้าขอบโค้ง  ถ้าต้องการวาดแผนภาพแบบนี้ จะต้องมีการเรียกแฟ้มคำสั่ง (library) ก่อน ในกรณีนี้ที่จำเป็นมีสามตัวคือ

Continue reading

Advertisements

Presentation Beamer and Video

เมื่อวานนั่นฉลาดน้อยอยู่ครึ่งคืนครับ เพราะว่าต้องการตัดต่อวิดีโอเพื่อเอาไปแสดงบน Beamer ผ่านแพ็กเกจ movie15 ซึ่งบอกว่าสนับสนุนไฟล์แบบ mwv  ของไมโครซอฟท์ด้วย ผมถ่ายวิดีโอด้วยกล้องที่บ้านเป็นไฟล์ avi ซึ่งสามารถนำมาตัดต่อแต่งเติมบน windows live movie maker ที่ติดมากับ windows 7 ได้ ซึ่งตัวโปรแกรมนั้นใช้ง่ายมาก ใช้เวลาไม่ทันชาเย็นก็สามารถทำงานตามที่ต้องการได้ (แบบง่าย ๆ) แต่จะด้วยเหตุและผลอะไรก็แล้วแต่ท่านไมโครซอฟท์นั้นให้บันทึกไฟล์ที่ตกแต่งแล้วได้รูปแบบเดียวคือ mwv พอเอาไปลองใช้งานกับ movie15 จริง ๆ แล้วใช้ไม่ได้ ทีนี้พอเอาไฟล์ avi กลับใช้งานได้ ค่อนคืนก็ไม่ได้ทำอะไร นั่งหาโปรแกรมฟรีแวร์ที่ใช้ในการแปลง mwv ไปเป็น avi  ก็ได้โปรแกรมหนึ่งไปใช้นะครับ ส่วนที่ให้ใช้ฟรีใช้งานได้ดีระดับหนึ่งทีเดียว แต่ว่าไฟล์ avi ที่ได้ใหญ่มาก ใหญ่เกินใจจะรับไหว เพราะไม่สามารถแชร์ไฟล์เข้า dropbox ได้แบบทันใจ  แต่ด้วยความง่วงก็เลยนอนไปก่อน

ตื่นเช้ามาหัวสดใจ ก็เลยเข้าใจว่า ไม่ต้องใช้ avi ก็ได้ เพราะมีไฟล์อีกหลายประเภทที่ movie15 มันรองรับ สุดท้ายก็มาลงที่ไฟล์แบบ swf ซึ่งเป็น flash นั่นเอง การแปลงก็ไปโหลดโปรแกรมฟรีจาก freestudio ครับ  มีโปรแกรมเล็ก ๆ ฟรี ๆ ให้เป็นชุด ๆ ที่ผมเลือกใช้ก็ Free Video to Flash Converter 4.7.23 ตอนแรกก็ใช้วิธีโง่ ๆ คือแปลงจาก avi ไปเป็น swf ซึ่งทำให้ต้องทำสามขั้นตอนคือ ตัดต่อ แล้วแปลงเป็น avi จากนั้นก็แปลงเป็น swf อีกที ตอนหลังถึงรูปว่าแปลงจาก mwv ไปเป็น swf ได้โดยตรงเลย คุณภาพของวิดีโอที่ได้ก็ตามขนาดนะครับ เราไม่ได้ต้องการจะเอาไปทำอะไร แค่เอาไปใส่ใน Beamer

สุดท้ายนี้ก็ขอแสดงตัวอย่างรหัสเพื่อแทรกไฟล์วิดีโอลงใน Beamer เผื่อคนที่สนใจครับ

\begin{frame}

\centering
\includemovie[inline=false,poster,%
     text={\xfigpdf{0.5}{adip_lpv}},%
     autoplay,mouse=true]{8cm}{6cm}{filename.swf}

\end{frame}

วันนี้สำนวนการเขียนเป็นแบบลูกทุ่ง ๆ ขออภัยด้วย รีบ

 

 

 

Beamer Theme: Boonto1

ใน PracTeX Journal ฉบับ 2010-2 ได้ลงบทความเกี่ยวกับการทำ Presentation สำหรับงานวิทยาศาสตร์ โดยใช้วิธีสร้าง preamble และจัดการส่วนต่าง ๆ ให้เหมือนกับ Beamer โดยส่วนตัว เห็นว่ายุ่งยากไปหน่อยถ้า และถ้าเราต้องการใช้ความสามารถของ Beamer เราก็ไม่สามารถใช้ได้ ผมเลยลองดัดแปลงแม่แบบดังกล่าวให้เป็นธีมสำหรับ Beamer

 

รูปข้างต้นเป็นผลลัพธ์ที่ได้ ถ้าอยากดูไฟล์ pdf ก็คลิ๊กที่รูปได้โดยตรงครับ  รูปโลโก้น่าเกลียด ๆ นั้นไม่ใช่ของผม แต่เป็นโลโก้ของ Beamer เขา

สำหรับผู้ที่อยากจะนำไปใช้งานสามารถดาว์นโหลดไฟลสองไฟล์ดังนี้ครับ

  1. test.tex เป็นแม่แบบสำหรับนำไปใช้งาน  มีคำสั่ง \mybox{}{} ให้ใช้
  2. beamerthemeBOONTO1.sty เป็นไฟล์ธีมหลัก

วิธีการใช้ธีมนี้ ก็ทำได้ง่าย ๆ โดยการนำไฟล์ beamerthemeBOONTO1.sty ไปไว้ที่เดียวกับ test.tex ก็เป็นอันเสร็จพิธี  ถ้าจะเปลี่ยนโลโก้ก็ให้แก้ไขคำสั่งข้างล่างให้เป็นของตัวเองครับ

\leftlogo{logo/beamerlogo}
\leftscale{0.3}
\rightlogo{logo/beamerlogo}
\rightscale{0.3}

ก็แค่นั้นแหละครับ

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

ความคืบหน้า Xe(La)TeX Thai Thesis Template

ตามที่เคยแจ้งไปว่าขณะที่กำลังทำแม่แบบภาษาไทยสำหรับวิทยานิพนธ์ระดับปริญญาตรี โดยใช้ LaTeX (XeLaTeX) ความคืบหน้าขณะนี้คือ

  1. ฟอนต์ Angsana New ฟอนต์บังคับสำหรับวิทยานิพนธ์ (ฟอนต์ที่ดูดีฟอนต์แรก และชื่อจำง่าย ถ้าเป็น Thesis ภาษาอังกฤษจะใช้ฟอนต์ที่ทางการกว่า ซึ่งจะไปตรงกับ Browallia New มากกว่า น่าเสียดายจริง ๆ) นั้นมีปัญหากับ แพ็กเกจที่สำคัญสองตัว คือ polyglossia  และ xltxtra ซึ่งทำให้การแสดงผลสระอู สระอิ ผิดจากที่ควรเป็น ในขณะที่ฟอนต์อื่นไม่เป็น
  2. ข่าวดีเล็กน้อยคือแก้ปัญหานี้ได้แล้ว ด้วยการไม่ใช้แพ็กเกจทั้งสอง และกับไปใช้แพ็กเกจ fontspec แทน และการกำหนดฟอนต์หลักต้องใช้คำสั่ง
    \setmainfont{Angsana New:Script=Thai}
  3. น่าเศร้ามากที่การแก้ปัญหานี้ใช้เวลาถึงสองวัน ไฟล์ที่เกี่ยวข้องคือไฟล์ gloss-thai.ldf ซึ่งก็คือ thai.ldf เดิม ของ thailatex แพ็กเกจนั่นเอง ไว้จะทำให้เรียบร้อยต่อไปครับ

คลาสไฟล์ยังให้ดาว์นโหลดนะครับ เพราะยังเต็มไปด้วยบัก ขอเวลาซักพักนึงก่อน