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


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

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

จากตัวอย่างในรูปข้างบน จะเห็นว่า คำว่า Defenders, Midfielders, Strikers นั้นจะอยู่ตรงกึ่งกลางของ 4, 3 , 2 แถวตามลำดับ ใน LaTeX นั้นใช่ว่าจะทำกันได้ง่าย ๆ นักเลงรุ่นเก่าจริง ๆ (คนที่ไม่รู้จักแพ็กเกจ multirow) จะใช้คำสั่ง \raisebox ซึ่งยุ่งยากมาก ๆ เรียกว่าทำทีก็ต้องเปิดตำราทีนั่นแหละ การมาของแพ็กเกจ multirow จึงเป็นสวรรค์ของนัก TeX

จากตัวอย่างในรูปข้างบน สามารถทำได้โดยการเรียกใช้แพ็กเกจ multirow และ booktabs แพ็กเกจหลังสำหรับคำสั่ง \toprule ฯลฯ ดูได้จากตอนที่ 1

\usepackage{multirow}
\usepackage{booktabs}

\begin{document}
\begin{table}{!htb}
\begin{tabular}{|c||l||r|} \toprule\hline
\multicolumn{3}{|c|}{Team sheet} \\ \hline\hline
Goalkeeper & GK & Paul Robinson \\ \hline
\multirow{4}{*}{Defenders} & LB & Lucus Radebe \\
                           & DC & Michael Duberry \\
                           & DC & Dominic Matteo \\
                           & RB & Didier Domi \\ \hline
\multirow{3}{*}{Midfielders} & MC & David Batty \\
                             & MC & Eirik Bakke \\
                             & MC & Jody Morris \\ \hline
Forward & FW & Jamie McMaster \\ \hline
\multirow{2}{*}{Strikers} & ST & Alan Smith \\
                          & ST & Mark Viduka \\ \hline
\end{tabular}
\end{table}
\end{document}

การใช้งานทั่วไปก็เป็นดังนี้ครับ

  • คำสั่ง \multirow{จำนวนแถวที่จะรวม}{ความกว้างของคอลัมน์}{ข้อความในคอลัมน์}
    • จำนวนแถวที่จะรวม ผู้ใช้ก็เลือกเอาว่าจะรวมกี่แถว
    • ความกว้างของคอลัมน์ โดยปกติถ้าไม่ต้องการเฉพาะเจาะจงก็ใส่ * ไว้ ซึ่งตัว LaTeX จะเลือกขนาดที่เหมาะสมไว้ให้
    • ข้อความในคอลัมน์ ก็ตรงตัวครับ

ผลที่ได้ก็จะเป็นไปตามต้องการ วันนี้เอาสั้น ๆ ง่าย ๆ แค่นี้ไปก่อนนะครับ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s