แพ็กเกจ pgfpages with XeTeX

วันก่อนอาจารย์ท่านหนึ่งได้ส่งคำถามเรื่องการสร้างเอกสารจาก beamer 4 หน้าลงใน 1 หน้า A4 โดยใช้แพ็กเกจ pgfpages บน XeTeX ซึ่งต้องบอกก่อนว่าแพ็กเกจ นี้สามารถใช้งานกับ LaTeX และ pdfLaTeX ได้เป็นอย่างดี  ส่วนตัวไม่เคยลองกับ XeTeX เลย  พึ่งได้มาลองก็ตอนที่ได้ไฟล์มาจากอาจารย์ท่านที่ส่งคำถามมาเนี่ยแหละครับ (XeTeX เป็นความหวังของชุมชนที่จะสามารถใช้ฟอนต์ภาษาไทยกับ LaTeX ได้อย่างอิสระ)

เมื่อได้ลองแล้วก็หาทางแก้ไข ไม่ว่าจะทางเว็บ stack exchange และที่อื่น ๆ ก็ไม่สามารถแก้ปัญหาได้ แต่ได้รู้ปัญหาคือแพ็กเกจ pgf  ที่แพ็กเกจ pgfpages ใช้นั้น ไม่สนับสนุน XeTeX  วิธีแก้ไขมีทางเดียวครับคือเข้าไปแก้ไข page layout ให้เหมาะสมกับ XeTeX  ในการแก้ไข page layout ของเพ็กเกจ pgf นั้นสิ่งที่ต้องทำคือทำใจยอมรับความทรมานที่จะต้องเข้าไปผจญกับคู่มือของ pgf (เยอะ แล้วอ่านแล้วไม่สื่อความหมาย)  ในที่สุดผมก็แก้ไขได้ครับ โดยใช้รหัสต้นดังนี้

Continue reading

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 หรือพูดง่าย ๆ ว่าเวอร์ชันแรกที่ทำเสร็จ

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}

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

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

Beamer for Human ตอนที่ 1

บทความตอนนี้ขอเขียนวิธีการใช้ Beamer คลาสเอกสารสำหรับสร้างสไลด์ในการนำเสนอผลงานด้วยคอมพิวเตอร์ซักหน่อย ไม่ได้เขียนเรื่องเกี่ยวกับ Beamer มานานแล้ว เนื่องจากไม่ได้ใช้นั่นเอง

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

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

เราจะเห็นได้ว่าแนวทางนี้ไม่ใช่แนวทางการทำสไลด์ของ Beamer เพียงแต่ว่าการนำเสนอด้วยรูปภาพนั้นบางครั้งจะสร้างความตื่นตาตื่นใจให้กับผู้รับฟังได้มากกว่า วิธีการทำหน้าสไลด์แบบข้างบนนั้นใช้ความสามารถของคำสั่ง \put ของ LaTeX ธรรมดา นั่นเอง ดังแสดงด้วยรหัสต้นข้างล่าง

\documentclass{beamer}
\begin{document}
\begin{frame}
  \begin{picture}(0,0)
     \put(0,-100){\includegraphics[scale=0.3]{web3}}
     \only<2->{\put(100,-50){\includegraphics[scale=0.3]{web2}}}
     \only<3->{\put(150,-150){\includegraphics[scale=0.3]{web1}}}
  \end{picture}
\end{frame}
\end{document}

ในตอนนี้ขอจบเพียงเท่านี้เพราะสร้างแรงบันดาลใจก่อน ไว้คราวหน้าเราจะมาเรียนรูปวิธีการสร้างสไลด์ตามนิกาย Zen ด้วย Beamer กันครับ

Animation with TikZ

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

ที่เว็บ texample.com มีตัวอย่างการทำ animation แบบที่เข้าใจง่าย ๆ และผลลัพธ์ที่ได้ก็เป็นดังนี้

Animated set intersection

ผมได้หัดใช้ TikZ เบื้องต้นดูแล้ว (ใช้วิธีต้องการทำอะไร แล้วนึกคำที่ควรจะค้น แล้วค้นในเอกสารของ beamer) ติดใจ ไว้ว่าง ๆ จะลองทำมั่งแล้วมาอธิบายครับ