เรื่องวุ่น ๆ เกี่ยวกับตาราง ตอนที่ 3 multirow with color

ในตอนที่แล้วได้นำเสนอการสร้างตารางที่มีการผสานตารางในแนวตั้งด้วยแพ็กเกจ multirow ไปแล้ว ซึ่งตอนเก่า ๆ ติดตามได้จาก

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

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

 \usepackage[table, svgnames]{xcolor}

เมื่อเลือกแล้วเราก็จะสามารถใส่สีลงในตารางได้อย่างง่ายดาย ส่วนตัวเลือก svgnames นั้นเป็นการใช้ชื่อสีที่ทำไว้แล้ว ซึ่งรายชื่อสีก็ดูได้จากคู่มือของ xcolor ในบทที่ว่าด้วย color by names

Continue reading

เรื่องวุ่น ๆ เกี่ยวกับตาราง ตอนที่ 2

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

มาดูตัวอย่างกันก่อน

Continue reading

เรื่องวุ่น ๆ เกี่ยวกับตาราง ตอนที่ 1

ในการใช้งาน LaTeX นั้นมีอยู่สองเรื่องที่ค่อนข้างเป็นปัญหา ทั้ง ๆ เป็นเรื่องที่ใช้กันค่อนข้างบ่อยบนโปรแกรม Word Processing สองสิ่งนี้ก็คือ Tab กับตาราง ในโปรแกรม Word Processing นั้นจะมีส่วนติดต่อกับผู้ใช้จึงทำให้การทำงานร่วมกับตารางนั้นค่อนข้างง่าย แต่สำหรับ LaTeX แล้วต้องทำเองจึงยากและสับสนพอสมควร

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

Continue reading

ว่าด้วยเรื่อง Itemize, … อาจจะมีหลายตอน

ปกติ environment ชุดนี้ไม่ค่อยได้สนใจเท่าไหร่ ก็ใช้ไปส่วนใหญ่ก็ใช้อยู่สองแบบ
คือ itemize กับ enumerate โดยถ้าต้องการเปลี่ยน Bullets ก็ใช้วิธีรวบรัดตัดความ
โดยสั่งด้วยคำสั่ง \item[1)] เป็นต้น จะด้วยเหตุผลอะไรก็ตามตอนหลังเริ่มขี้เกียจ ก็
เลยเปลี่ยนมาใช้คำสั่ง

\renewcommand{\labelenumi}{ \alph{enumi}) }
\renewcommand{\labelenumi}{\Roman{enumi})}

ถ้าอยากได้ภาษาไทยก็

\renewcommand{\labelenumi}{\thaialph{enumi})}
ไอ้วงเล็บที่ใส่เข้าไปข้างหลังอาจจะมีคำเตื่อนจาก texteditor
นะครับว่าไม่ได้เปิดวงเล็บ ก็ข้ามไป

ซึ่งถ้าใส่ภายใน environment มันก็จะเปลี่ยนเป็นที ๆ ไป จะเปลี่ยนสีหรือใส่อักขระ
แปลก ๆ ก็คงคิดออกว่าจะทำอย่างไร และถ้าเป็น itemize ก็เปลี่ยนจาก \labelenumi
ไปเป็น \labelitemi ได้ตัว i ข้างหลังเป็นเลขโรมันที่บอกระดับของ item นะครับ ข้อมูล
ตรงนี้หาได้ทั่วไปในเอกสารเบื้องต้น

อีก environment หนึ่งที่ดีแต่ผมไม่ค่อยได้ใช้ก็คือ description

ตามรูปจะเห็นว่าถ้าเราต้องการคำอธิบายยาว ๆ และเน้นเป็นตัวหนา การใช้
description จะให้ประสิทธิภาพที่ดีมาก (แต่ใช้กับ ieeeconf, ieeetran ไม่ได้นะครับ
ถ้าใช้กับสองตัวนั้น ให้ดูเอกสารที่มาด้วยกันเอา) อีก environment ที่น่าสนใจแต่
ใช้ยากหน่อย ก็คือ list

\newcounter{lcount}

\begin{list}{Step-\Roman{lcount}:}
{\usecounter{lcount}
\setlength{\rightmargin}{\leftmargin}}
\item Very long description. It should be tested also for two lines case.
\item Event longer. It should be tested also for two lines case.
\end{list}

ก็ตามรหัสข้างบน เราจะได้ item แบบ Step-I:, Step-II ซึ่งมีประโยชน์มาก ทั้งหมดนี้ไม่
ได้คิดค้นเองแต่เอามาจาก List-Making Enviroments ลองไปใช้ดูนะ

WinEDT Tricks (LaTeX help and {})

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

เวลาใช้งาน WinEDT นะครับ แพ็กเกจที่ควรจะติดตั้งสำหรับ MiKTeX ก็คือ latex2e-help-texinfo ตัวนี้สำคัญมาก (ติดตั้งผ่าน MiKTeX Pacakage Manager)
เพราะเวลาเราจำวิธีใช้คำสั่งไม่ได้ ก็กด Ctr-F1 ถ้ามีแพ็กเกจนี้ติดตั้งอยู่ WinEDT ก็
จะเรียก Help ขึ้นมาให้เราใช้ ถึงแม้ระบบจะไม่ดีนัก แต่ก็ช่วยเหลือเวลา offline ได้
รวดเร็วดี

สำหรับผู้ใช้ WinEDT อาจจะไม่ชอบใจที่บรรณาธิกรณ์ด้วยนี้ไม่มีระบบ Auto -complete ซึ่งผู้สร้างโปรแกรมยืนยันว่าไม่ชอบ แต่ได้ใส่วิธีการที่ผมชอบมากกว่าและ
ยืดหยุ่นกว่าคือ การใช้ {{ กับ }} ตัวหลังเนี่ยพึ่งรู้เมื่อกี้นี้เอง หลงใช้ตัวแรกอยู่ตั้งนาน
ระบบนี้ดีกว่าเพราะว่าขึ้นอยู่กับผู้ใช้ไม่ใช้ไม่ใช่โปรแกรม เช่น

\begin{xxxx} \end{{ ผลที่ได้คือ

\begin{xxxx} \end{xxxx} สุดยอดไปเลย แต่

\begin{xxxx}} ผลที่ได้คือ

\begin{xxxx}

*

\end{xxxx}

โดยที่ cursor จะอยู่ที่ * เริ่มต้นพิมพ์ได้เลย

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

Beamer ตอนที่ 2 เริ่มต้นและปรับ Template ต่อ

 จากความเดิมตอนที่แล้ว

  1. Link to Beamer ตอนที่ 1 เริ่มต้นและปรับ Template « LaTeX for Thai people

ถ้าใครใจร้อนลองไปศึกษาที่ A Beamer Quickstart  ได้นะครับ เป็นหนึ่งในคู่มือการ
สอนการใช้งาน Beamer ที่ดีที่สุด เราลองมาดูบทที่ 30 ของเนื้อหาในเว็บข้างต้น ซึ่ง
คือการโชว์ Template ส่วนหนึ่งของ Beamer นั่นเอง

[image]

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

                          

อันนี้เป็นตัวอย่างที่สร้างจาก Template ของชาว KDE เค้า ทำอย่างไรเราถึงจะใส่โล-
โก้แบบ KDE เขาได้ ไม่ยาก ก็ไปโหลด LaTeX Template จากลิงค์ข้างต้นของ
KDE แล้วก็เปลี่ยนรูปที่นามสกุล png เป็นรูปของตัวซะก็เสร็จ แต่ถ้าจะทำให้แตกต่าง
ออกไปหล่ะครับ อันนั้นเรื่องยาว

และแล้ว WinEdt ก็มี Abbreviations

และแล้ว Editor ตัวเก่งของคนรัก LaTeX ก็มีฟังก์ชันนี้ หลังจากรอมานานมาก
และเรียกหามันทุกครั้งที่ต้องพิมพ์เส้นขั้นระหว่างส่วนของเอกสาร เพราะขี้เกียจ
พิมพ์ยาว จำได้ว่าต้องทนใช้ version 5.4 ซึ่งดีกว่า 5.3 หลายอย่าง แต่ก็ยังมี
ข้อที่ต้องปรับปรุงแก้ไขอีกเยอะ ฟังก์ชันหลักที่เคยร้องขอไปนั้นเป็นเรื่องของ
variable font ซึ่งในเวอร์ชันนี้ก็มีแล้ว ต่อไปนี้ไม่ต้องโยกบรรณาธิกรณ์ไปมา
เพื่อพิมพ์ภาษาไทยอีกแล้ว

Avoid eqnarray

ช่วงที่ผ่านมาผมเปลี่ยนจาก eqnarray ไปเป็น align ด้วยเหตุผลที่ฟังง่าย ๆ
และดูเหมือนจะมีเหตุผลอยู่บ้างคือ มันพิมพ์สั้นกว่า ทั้งตัวชื่อมันเองและเวลา
พิมพ์สมการหลายบรรทัด เวลาจัดให้ตรงกัน สำหรับตัวแรกต้องพิมพ์ & &
สองที ในขณะที่กรณีหลังพิมพ์แค่ทีเดียว ดีกว่าเห็น ๆ พึ่งมารู้เมื่อกี้นี้เองว่า มีคน
แนะนำกันมานานแล้วว่าไม่ให้ใช้ eqnarray รายละเอียดของเรื่องนี้ได้มา
จาก The PracTeX Journal ฉบับล่าสุด ในบทความเรื่องเดียวกันกับชื่อบท
ความนี้ที่ Avoid eqnarray! อ่านแล้วน่าตกใจมากครับ กล่าวคือ eqnarray
นั้นมันมีปัญหาเรื่องช่องไฟที่จัดไม่ดี ไม่เท่ากันบ้าง ในขณะเดียวกันก็ยังมีปัญหา
เรื่องการเพิ่มเลขอ้างอิงโดยไม่มีการบอกกล่าว ซึ่งกรณีหลังนี้สำคัญมากครับ
เพราะถ้าเราไปอ้างอิงโดยไม่ทันระวังตัวแล้ว ตัวเลขที่ได้กับตัวเลขที่ตั้งใจ มันจะ
ไม่ตรงกัน แล้วคุณก็ไม่มีทางรู้ได้เลยถ้าไม่มีคนมาอ่านงานของคุณทีหลัง

อ่านถึงตรงนี้แล้วผมก็จะทำการ replace eqnarray ทุกตัวด้วย align หล่ะครับ
แต่จะใช้ align นั้นต้องโหลด  amsmath ก่อนนะครับ ข้างล่างนี้ได้แสดงให้เห็น
ว่าการใช้ eqnarray นั้นช่องไฟมันจะเพี้ยน ๆ ซึ่งจะไม่เหมือนกับ align

ด้านซ้ายนี้ใช้ eqnarray จะเห็นว่าช่องไฟมัน
เพี้ยนตรง x^2

 

  ส่วนตัวอย่างนี้จะใช้ align ซึ่งช่องไฟจะไม่มี
  ความเพี้ยนใด ๆ ทั้งสิ้น

 

ดังนั้นสำหรับมือใหม่และมือเก่า ก็พยายามหลีกเลี่ยงการใช้ eqnarray แล้วกัน

Beamer ตอนที่ 1 เริ่มต้นและปรับ Template

สืบเนื่องจากตอนที่แล้วได้แนะนำการทำ Presentation screen ด้วย LaTeX ไป ตอนนี้
ก็ลองมาสร้างเอกสารง่าย ๆ แล้วก็มาสร้าง Template ส่วนตัวกัน ดังนั้นตอนนี้จะเป็นทั้ง
ตอนเริ่มต้นและขั้นสูงประกอบกันไป ซึ่งแปลก ๆ อยู่นะ

\documentclass[xcolor=pst,dvips]{beamer}
\usetheme{Default}
\usepackage{pstricks}
\begin{document}
  
\begin{frame}
   \frametitle{There Is No Largest Prime Number}
   \framesubtitle{The proof uses
   \textit{reductio ad absurdum}.}
   \begin{theorem}
   There is no largest prime number.
   \end{theorem}
   \begin{proof}
   \begin{enumerate}
      \item Suppose $p$ were the largest prime number.
      \item Let $q$ be the product of the first $p$
            numbers.
      \item Then $q+1$ is not divisible by any of them.
      \item Thus $q+1$ is also prime and greater than
            $p$.\qedhere
   \end{enumerate}
   \end{proof}
\end{frame}
\end{document}

พิมพ์ตาม แล้วสร้างเอกสาร pdf ด้วยขั้นตอน dvi-dvips-ps2pdf ก็จะได้เอกสารหน้าตาดัง
นี้

                                 

Screen Presentation

เดิมทีการเริ่มเรียน LaTeX นั้นควรจะเริ่มต้นด้วยการสร้างเอกสารง่าย ๆ แต่โดยทั่วไปคนเรา
มักจะเรียนรู้อะไรใหม่ ๆ ด้วยความนึกสนุกหรืออยากรู้และเห็นประโยชน์ การเรียนการสร้าง
เอกสารด้วย LaTeX นั้น หลายคนอาจจะมองไม่เห็นประโยชน์อันใด ถ้าตัวเอกสารไม่ได้มีตัว
คณิตศาสตร์เต็มไปหมด ดังนั้นน่าจะเป็นการดีถ้ามาเริ่มต้นกันด้วยการทำ Screen Presentation สำหรับผู้ที่สนใจตัวเครื่องมือสร้างไฟล์ต่าง ๆ เหล่านี้ ว่ามันมีกี่ตัวก็สามารถไปค้นหาได้จากเว็บ
Screen Presentation Tools ซึ่งเค้าแนะนำเบื้องต้นและมีตัวอย่างให้ดูเยอะแยะ จนเลือกไม่
ถูกเลยว่าจะเอาตัวไหน กรณีที่ต้องการคำแนะนำเป็นภาษาไทยและตัวอย่างการใช้งานจริง
ของเครื่องมือบางตัวก็ไปดูได้ที่ ทำ presentation slide ด้วย LaTeX โดยส่วนตัวแล้วที่ผมจะ
แนะนำให้หัดศึกษาก็เห็นจะมีสองตัวด้วยกันคือ

    1. Beamer ของ Prof. Dr. Till Tantau
    2. Powerdot ของนาย Hendri Adriaens ชายหนุ่มชายฮอล์แลนด์

ทั้งสอง Class package นี้มีข้อดีข้อเสียที่แตกต่างกันอยู่หลายข้อเหมือนกัน ซึ่งโดยหลัก
การแล้วสิ่งที่ผู้ต้องทำ Screen Presentation ต้องการนั้นมันขึ้นอยู่กับงานที่จะเอาไปใช้กรณี
ที่ต้องการความง่าย มีการเคลื่อนไหวเยอะ มีพื้นที่เก็บไฟล์เหลือเฟือ ก็ใช้ powerpoint แต่
ต้องจัดเก็บในรูป .pps ด้วยเหตุผลหลายประการ ลองดูคำแนะนำที่ CCA/ISIC/CACSD 2006

               //static.flickr.com/108/275990398_c1dc3f504e.jpg” cannot be displayed, because it contains errors.

                        รูปที่ 1 อาจารย์ภาษาศาสตร์ที่ใช้ Beamer ในการนำเสนองาน

สาเหตุหนึ่งที่ทำให้ผมต้องใช้งาน LaTeX Class ทั้งสองตัวควบคู่กันไป เพราะโดยส่วนตัว
ชอบ Beamer มากกว่า แต่ภาควิชาแนะนำให้ใช้ Powerdot และได้ทำแบบสำเร็จรูปไว้ให้
พูดกันตามตรงแล้ว การปรับแต่ง Powerdot นั้นทำได้ง่ายกว่าตัวแรกมากนัก คุณสามารถ
แทรกรูปภาพที่เชื่อมโยงกับเอกสาร PDF ได้ง่ายมาก โดยการปรับแต่งแบบสำเร็จรูปหรือ Template ในขณะที่ Beamer นั้นการปรับแต่งทำได้ยากมาก ๆ แต่ด้วยความที่มันรองรับ PdfTeX ทำให้น่าใช้งานมากกว่า แต่ตอนหลังด้วยความสามารถของ Yap 2.5x ที่สามารถ
เข้าใจคำสั่ง Postscript ได้ อันนี้ก็ไม่แน่ใจว่าผมยังจะอยากใช้ Beamer อยู่อีกหรือเปล่า

 

            

รูปที่ 2 ตัวอย่างเอกสาร pdf ที่ทำจาก LaTeX ซ้ายมือคือทำจาก Beamer ในขณะที่ขวา
มือใช้ seminar.sty และปรับแต่งเองทั้งดุ้น

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