รูปภาพในเอกสาร LaTeX (1)

[textile]

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

graphicx packge

วิธีมาตรฐานที่สุดสำหรับการใส่รูปภาพในเอกสาร LaTeX คือใช้ package graphicx

package นี้มีส่วนขยายเพิ่มเติมจาก package graphics ทำให้ใช้งานได้ง่ายขึ้น เวลาต้องการจะใส่รูปภาพที่ไหนในเอกสาร ก็ทำได้โดยใช้คำสั่ง

\includegraphics[option]{filename}

เช่น

\includegraphics[scale=1.2]{exp-diagram}

option ของคำสั่ง \includegraphics นั้นมีหลายอย่าง เราสามารถ ย่อ ขยาย หมุน และตัดกรอบ (clip) ภาพได้จาก option ที่มี ถ้าไม่ต้องการใช้ option อะไรเลย ก็ไม่ต้องพิมพ์เจ้าวงเล็บสีเหลี่ยม

ชื่อไฟล์ที่ให้กับคำสั่ง \includegraphics นั้นไม่จำเป็นต้องมีนามสกุล การทำแบบนี้มีประโยชน์ ซึ่งจะอธิบายทีหลังว่าทำไม

figure environment

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

หมายเหตุ environment ใน LaTeX หมายถึงส่วนๆ หนึ่งของเอกสารซึ่งมีคุณสมบัติพิเศษต่างจากเนื้อหาส่วนอื่น เช่น list, figure, หรือ abstract ซึ่งเราจะกำหนดจุดเริ่มต้นและจุดจบของ environment ได้ด้วยคำสั่ง

\begin{environment-name}
....
....
\end{environment-name}

ภายใน environment จะมีอะไรอื่นอยู่ได้ ไม่ต่างจากข้างนอกมากนัก อาจจะมี environment อื่นซ้อนอยู่ก็ได้ ถ้าสังเกตจะเห็นว่า ทั้งเอกสารของเราก็เป็น environment หนึ่งน่ะเอง จากที่เราใช้คำสั่ง \begin{document} – \end{document} เพียงแต่ document นี่เป็น environment พิเศษที่จะมีได้อันเดียวในแต่ละเอกสารเท่านั้น จบหมายเหตุ

วิธีการใช้ figure environment ดูได้จากตัวอย่างข้างล่างนี้

\begin{figure}[tbp]
\centering

\includegraphics{exp-diagram}
\caption{Diagram showing the experiment set-up}
\label{exp}
\end{figure}

คำอธิบายแต่สะส่วนของตัวอย่างข้างบน:

  • \centering เป็นการประกาศ ว่าต่อจากนี้ทุกอย่างให้เอาไว้ตรงกลางหน้า (แนวนอน) ให้หมด การประกาศนั้นมีผลภายในแต่ละ environment เท่านั้น หมายความว่ารูปและคำประกอบรูปภาพจะอยู่กลางหน้า แต่เนื้อหาต่อจากรูปจะไม่ได้รับผลกระทบ
  • คำสั่ง \includegraphics
  • คำสั่ง \caption สร้างเลขกำกับและคำประกอบรูป เลขกำกับนี้จะเลื่อนเองโดยอัตโนมัติ ถ้าเราเพิ่มหรือลบรูปใดๆ ในเอกสารก่อนหน้ารูปปัจจุบัน
  • คำสั่ง \label เป็นการกำหนด ชื่อเรียก ที่เราจะใช้อ้างถึงรูปนี้ อย่างที่อธิบายว่าเลขกำกับรูปนั้นจะเลื่อนได้ เพราะฉะนั้นเราจะอ้างถึงด้วยเลขไม่ได้ ไม่งั้นก็จะมั่วทีหลัง เวลาจะอ้างถึงรูปให้ใช้คำสั่ง \ref{exp} ถ้ารูปนั้นเป็นรูปที่ 2 คำสั่ง \ref{exp} ก็จะพิมพ์เลข 2 ให้เรา
  • ส่วนสุดท้ายคือ option ของ figure environment ซึ่งข้างบนใช้ tbp option ตรงนี้ใช้สำหรับกำหนดว่าเราต้องการให้รูปภาพปรากฏอยู่ส่วนไหนของหน้ากระดาษ ตัวอักษรแต่ละตัวแทนตำแหน่ง t คือด้านบน b คือด้านล่าง p คือในหน้าเดี่ยวๆ และ h คือ ณ ตรงที่เรียกใช้ figure environment เราจะเรียกลำดับ option จากลำดับความต้องการ อย่าง tbp ก็หมายความว่าให้ลองวางด้านบนก่อน ถ้าไม่ได้ค่อยไว้่ด้านล่าง หรือกเอาไว้ในหน้าเดี่ยวๆ ที่มีเฉพาะรูปนี้รูปเดียว
  • หลายๆ คนจะมีปัญหา เพราะรูปสึกว่า LaTeX ไม่เอารูปไว้ตรงที่เราต้องการ บางครั้งพยายามเปลี่ยน option แล้วก็ไม่ช่วยเท่าไหร่ ถ้าต้องการวางตำแหน่งด้วยมือจริงๆ ก็ต้องใช้ option [!h] และเอา figure environment ไปไว้ในที่ที่เหมาะสมเอง ขอแนะนำว่า LaTeX จะวางตำแหน่งให้ได้ดีประมาณ 70–80% แล้ว ถ้าจะใช้วิธี [!h] ก็ให้ทำหลังจากเอกสารเกือบเสร็จสมบูรณ์ เพราะด้วยวิธีนี้ถ้าเราพิมพ์เพิ่มหรือตัดทอนเนื้อหาตรงไหน รูปก็จะเลื่อน และอาจจะอยู่ในที่ที่มันไม่สมควรอยู่ได้

epsfig package

epsfig package เป็น package สำหรับใส่รูปในเอากสารเหมือนกัน แต่เป็น package เก่าแก่ และไม่สมควรจะใช้อีกต่อไปแล้ว เพราะขาดความยืดหยุ่นหลายๆ อย่างที่ graphicx มี และก็จำกัดใช้ได้เฉพาะกับรูปที่เป็นไฟล์ .eps เท่านั้น

สำหรับคนที่หัดใช้ LaTeX ใหม่ๆ อาจจะเจอตัวอย่างไฟล์เก่าๆ ที่ใช้คำสั่งนี้ก็เลยใช้ตาม ขอแนะนำให้เปลี่ยนมาใช้ graphicx ให้หมดดีกว่า

Syndicate content