10 May 2012

คำสั่งและ Package ของ LaTeX ที่ใช้บ่อย (3) -- Tabular

Tabular เป็น environment มาตรฐานของ LaTeX สำหรับวาดตารางในเอกสาร วิธีใช้งานก็ไม่ยาก คือกำหนดรูปแบบการจัดข้อความในแต่ละคอลัมน์ไว้ แล้วก็เขียนเนื้อหาไปที่ละแถว รูปแบบของคอลัมน์แบบมาตรฐานที่เราใช้ได้คือ l คือ ชิดซ้าย, r คือ ชิดขวา, c คือ กึ่งกลาง, p{length} เมื่อต้องการ ตัวอย่างเช่น

\documentclass[12pt]{article}
\begin{document}
 \begin{tabular}{|c|c|c|}
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
 \end{tabular}
\end{document}


รวมคอลัมน์เข้าด้วยกัน

\multicolumn ใช้สำหรับรวมเซลล์หลายคอลัมน์เข้าเป็นเซลล์เดียว สามารถระบุการจัดตัวอักษรได้ด้วย รูปแบบคำสั่งคือ\multicolumn{#cells}{format}{content} โดย #cells คือจำนวนเซลล์ที่เราต้องการรวมเข้าด้วยกัน, format คือรูปแบบการจัดตัวอักษรชิดซ้าย กลาง หรือขวา และ content คือเนื้อหาของเซลล์ที่รวมกันแล้ว บางครั้งคำสั่ง \multicolumn นี้ก็ใช้สำหรับเปลี่ยนแบบรูปแบบการจัดตัวอักษรโดยไม่จำเป็นต้องรวมเซลล์ก็ได้ ตัวอย่างการใช้งาน

\documentclass[12pt]{article}
\begin{document}
 \begin{tabular}{|c|c|c|}
  \hline
  Hello & Hello & Hello \\
  \hline
  \multicolumn{2}{|c|}{Hello} & Hello \\
  \hline
  \multicolumn{3}{|c|}{Hello} \\
  \hline
 \end{tabular}
\end{document}


ลากเส้น

\hline ใช้สำหรับลากเส้นแนวนอน คั่นระหว่างแถว โดยคำสั่งนี้จะต้องใช้หลังจากเครื่องหมาย \\ ที่ระบุว่าหมดแถวแล้ว ถ้าต้องการขีดเส้นเฉพาะบางคอลัมน์ จะใช้คำสั่ง \cline{col1-col2} โดย LaTeX เริ่มนับคอลัมน์จากคอลัมน์ที่ 1 คำสั่ง \cline นี่จะใช้หลายๆ ครั้งในแถวเดียวกันได้ เพื่อให้เราสามารถขีดเส้นหลายช่วงได้ ตัวอย่างการใช้งาน

\documentclass[12pt]{article}

\begin{document}
 \begin{tabular}{|c|c|c|c|}
  \hline
  Hello & Hello & Hello & Hello \\
  \cline{1-2}
  Hello & Hello & Hello & Hello \\
  \cline{1-1}\cline{3-3}
  Hello & Hello & Hello & Hello \\
  \hline
 \end{tabular}
\end{document}


ยืดแถวให้สูงขึ้น

\arraystretch เป็นตัวกำหนดค่าสำหรับความสูงของแถว แต่ LaTeX จะกำหนดความสูงให้อัตโนมัติอยู่แล้ว การเปลี่ยนค่า \arraystretch จะกำหนดความสูงให้มากขึ้นหรือน้อยลง เป็นจำนวนเท่าของความสูงมาตรฐาน จะใช้คำสั่ง \renewcommand ในการเปลี่ยนแปลงค่านี้ เช่น การใช้คำสั่ง \renewcommand{\arraystretch}{1.5} ก่อนเริ่มตาราง จะทำให้ความสูงของแถวในตารางเป็นหนึ่งเท่าครึ่งของความสูงมาตรฐาน ตัวอย่างการใช้งาน

\documentclass[12pt]{article}

\begin{document}
 \begin{tabular}{|c|c|c|}
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
 \end{tabular}
 
 \vspace{5mm}

 {\renewcommand{\arraystretch}{2.0}
 \begin{tabular}{|c|c|c|}
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
 \end{tabular}}
\end{document}


เปลี่ยนระยะห่างขอบเซลล์

LaTeX กำหนดให้มีระยะห่างระหว่างเส้นแบ่งเซลล์กับเนื้อหาในเซลล์ไว้ขนาดหนึ่ง ซึ่งเราสามารถเปลี่ยนระยะห่างนี้ได้โดยใส่รูปแบบ @{} ระหว่างรูปแบบของแต่ละเซลล์ เช่น \begin{tabular}{|@{}l|r@{\hspace{1cm}} จะได้ตารางที่มีคอลัมน์แรกจัดข้อความเริ่มชิดเส้นขอบซ้ายของคอลัมน์โดยไม่มีช่องว่าง ส่วนคอลัมน์ที่
2 จัดข้อความชิดขวา แต่ห่าง 1cm จากเส้นขอบขวาของคอลัมน์ หลักการทำงานของ @{} ก็คือ คำสั่งที่ใช้กำหนดช่องว่างระหว่างคอลัมน์ จะถูกแทนที่ด้วยคำสั่งใดๆ ก็ตามที่อยู่ใน {} เราจึงกำหนดระยะห่างได้ตามต้องการ หรือจะใส่เครื่องหมายอะไรลงไปแทนก็ได้

\documentclass[12pt]{article}

\begin{document}
 \begin{tabular}{|@{}l|c|r@{\hspace{1cm}}|}
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
  Hello & Hello & Hello \\
  \hline
 \end{tabular}
\end{document}


วันนี้พอแค่นี้ก่อนดีกว่า เอาไว้ว่างๆ ค่อยเขียนใหม่

No comments: