สำหรับท่านที่ยังไม่ทราบขออธิบายตามความเข้าใจของผมเองสักนิดว่า Class File (xxx.cls) คืออะไร ในระดับที่ผมเข้าใจ Class File คือไฟล์ที่กำหนดพฤติกรรมของคำสั่งต่าง ๆ ของ Latex พฤติกรรมเหล่านี้อาจรวมถึง ขนาดกระดาษ กั้นหน้า กั้นหลัง แบบอักษร ฯลฯ หลายคนก็เรียก Class File ที่ทำหน้าที่เหล่านี้ว่า Template (แต่ผมคิดว่าไม่ใช่ชื่ออย่างเป็นทางการในวงการ Latex)
บางคนก็อาจสงสัยว่า ที่ผมว่าผมใฝ่ฝันที่จะทำเป็นมานานนั้น ทำไมมันนานนัก? มันยากนักรึ? คำตอบคือมันก็ไม่ยาก แต่มันก็ไม่ง่ายครับ แต่ที่ทำไม่ได้สักทีเพราะ
- แต่เดิมนั้นผมยึดติดกับ Syntax ของ Latex มากเกินไป พอมี Syntax แปลก ๆ เราก็ปิดกั้นสมองเลย ไม่พยายามทำความเข้าใจ
- อันที่จริงมันก็ไม่ยากมาก แต่ผมไม่อ่านรายละเอียดที่เขามีให้อ่าน เอาแต่อ่านผ่าน ๆ หวังจะเจอ Quick Solution ตอนนี้เริ่มเข้าใจแล้วว่าโลกนี้ไม่ใช่มาม่า ไวไว ไม่มีอะไรง่ายกว่าที่มันควรจะเป็น
- Minutes in Less Than Hours: Using LaTeX Resources โดย Jim Hefferon
- Rolling your own Document Class: Using LaTeX to keep away from the Dark Side โดย Peter Flynn
- LaTeX2e for class and package writers โดยทีม LaTeX3 Project
- The LaTeX Companion (Tools and Techniques for Computer Typesetting)
บทความที่สองจะช่วยเวลาเราไม่รู้ว่าคำสั่งนี้ทำงานอย่างไร บทความที่สองจะมี Code ที่สำคัญของ Class article ให้อ่านพร้อมอธิบายผลของมัน ทำให้เข้าใจกลไกการทำงานของ Class มากขึ้น
บทความที่สาม อืม...อันที่จริง ผมยังไม่ค่อยได้อ่านบทความที่สามนี้เท่าไรนะ
เอกสารอีกฉบับเป็นหนังสือเลยคือ The LaTeX Companion
หากไม่มีอธิบายในเอกสาร 3 ฉบับข้างต้น ผมจะมาไล่ดูใน Index ของหนังสือเล่มนี้ (แน่ะ! Quick Solution อีกแล้ว - แหมหนังสือมันหนาตั้ง 1090 หน้าเชียวนะครับ)
ตอนนี้ผมต้องการสร้าง Class File สำหรับการเขียนบทความวิจัยสำหรับการประชุมวิชาการทางวิศวกรรมไฟฟ้า (Electrical Engineering Conference - EECON) สิ่งที่ต้องทำจึงประกอบด้วย
เรียกใช้ Class proc ซึ่งมีอยู่แล้วจากนั้นจึงปรับแก้พารามิเตอร์ต่าง ๆตั้งค่าขอบกระดาษทำได้โดยใช้ Package geometryตั้งค่าแบบอักษรเป็นแบบ Times Romanทำได้โดยใช้ Package mathptmxตั้งค่าระยะห่างระหว่างชื่อบทความกับชื่อผู้แต่งทำได้โดยใช้คำสั่ง renewcommand กับ maketitleตั้งค่าระยะห่างระหว่างชื่อผู้แต่งกับเนื้อบทความทำได้โดยใช้คำสั่ง renewcommand กับ maketitle- สร้างคำสั่งที่จะผูกชื่อผู้แต่งกับสถาบันไว้ด้วยกัน
- สร้างคำสั่งที่จะบังชื่อผู้แต่งกับสถาบัน สำหรับฉบับที่จะส่งให้ Reviewer อ่าน
- สร้างคำสั่ง Keyword
ตั้งค่าระยะห่างระหว่าง หมายเลขหัวข้อกับชื่อหัวข้อทำได้โดยใช้ Package titlesecทำให้ย่อหน้าแรกหลังจากหัวข้อ มีย่อหน้า (Indent)ทำได้โดยใช้ Package indentfirst- จัดการกับระบบอ้างอิง
- สร้างคำสั่งเติมรูปและประวัติผู้เขียน
สิ่งที่ได้มาจากการ "ลงมือทำ" ก็คือ คำสั่งที่เคยดูแปลกตาเมื่อสมัยก่อน ตอนนี้ผมก็เริ่มรู้สึกคุ้น ๆ กับมันมากขึ้น และเริ่ม "อ่านออก" หลายคำสั่งแล้ว
หากสามารถสร้าง Class File สำหรับ EECON ภาษาอังกฤษได้ ต่อไปจะพยายามทำ Class File สำหรับ EECON ภาษาไทยดู อันนี้ดูจะยากกว่าทั้งในเรื่องต้องมี Title 2 หัว คือทั้งภาษาไทยและภาษาอังกฤษ ต้องมีทั้งบทคัดย่อภาษาไทย และ Abstract ภาษาอังกฤษ ต้องจัดการระบบอ้างอิงเอกสารภาษาไทยปนกับภาษาอังกฤษด้วย ก็จะค่อย ๆ ลองทำไป ใครมีคำแนะนำอะไรก็ยินดีเรียนรู้และขอขอบคุณล่วงหน้าครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น