คลาส Latex เพื่อสร้างบันทึกข้อความ


รุ่นที่กำลังทำอยู่ ถือว่าเป็นรุ่นทดลอง ท่านสามารถดาวน์โหลดได้จาก (คลาส)
  1. thgovmemo.cls (คลาส)
  2. meetingletter.ttx (ตัวอย่าง)
  3. Tra-Khrut.gif (จาก wikipedia)
ท่านสามารถอ่านพัฒนาการขั้นตอนการสร้างและคำอธิบายคำสั่งต่าง ๆ ได้จาก http://kt-linux.blogspot.com/ ท่านสามารถส่งข้อเสนอแนะต่าง ๆ มาที่ ktphong AT yahoo DOT com ได้ครับ

บันทึกการเปลี่ยนแปลง
24 พฤศจิกายน 2554
  • เปลี่ยนชื่อคลาสเป็น thgovmemo.cls
  • เปลี่ยนการเข้ารหัสให้เป็น utf8 ทั้งในส่วนของคลาสและในส่วนของแฟ้มเอกสาร ดังนั้นตอนตัดคำสามารถใช้ 
    • >swath -f latex -u u,u < infile.ttx > outfile.tex ได้
  • เพิ่มส่วนตรวจสอบว่าผู้ใช้เรียกใช้ pdflatex หรือ latex ถ้าใช้ pdflatex คลาสจะเรียก Tra-Khrut.png และถ้าใช้ latex คลาสจะเรียก Tra-Khrut.eps แทนโดยอัตโนมัติ

การใช้งาน
ก่อนใช้งานต้องขอให้ท่านดาวน์โหลดตราครุฑมาไว้ในไดเรคทอรีเดียวกันกับเอกสารและแฟ้มคลาสเสียก่อน เนื่องจากผมไม่ทราบ "ข้อจำกัดสิทธิ์" ในการใช้งานแฟ้มภาพตราครุฑ จึุงต้องให้ผู้ใช้ดาว์นโหลดมาเองจากลิงก์ข้างบน

ใน Debian (wheezy) มีแพคเกจชื่อ sam2p ซึ่งสามารถแปลงแฟ้มข้อมูลภาพจาก GIF เป็น PNG และ EPS ได้ ผู้ใช้งานต้องดาว์นโหลดแฟ้มตราครุฑ (Tra-Khrut.gif) จากลิงก์ข้างบนเสียก่อน แปลงแฟ้ม GIF ให้เป็น PNG และ EPS โดยใช้ sam2p ดังนี้

> sam2p Tra-Khrut.gif Tra-Khrut.png
> sam2p Tra-Khrut.gif Tra-Khrut.eps

เก็บแฟ้มทั้งสองไว้ในไดเร็คตอรีเดียวกันกับคลาสและเอกสาร

ในกรณีที่ท่านใช้ MikTex ซึ่งใช้ pdflatex ท่านอาจต้องแปลงแฟ้มภาพตราครุฑให้เป็นแฟ้ม PDF ด้วย เรื่องนี้ผมยังไม่ได้ลอง หากท่านลองแล้วได้ความว่าอย่างไรหากจะนำมาแบ่งปันกันก็จะขอบคุณมาก

สำหรับในคลาสบันทึกข้อความนี้ จะมีคำสั่งอยู่ 2 ส่วนคือ
  1. ส่วนอารัมภบท (Preemble) ซึ่งว่าด้วยการกำหนดค่าต่าง ๆ เช่น "เรื่อง" "เรียน" เป็นต้น
  2. ส่วนเปิดและปิดบันทึกข้อความ โดยส่วนเปิดบันทึกข้อความจะจัดการส่วนหัวของบันทึกข้อความ และส่วนปิดของบันทึกข้อความจะจัดการกับคำลงท้ายและการลงนามท้ายบันทึกข้อความ
ส่วนอารัมภบท (Preemble)
ท่านจะต้องระบุข้อมูลของบันทึกข้อความของท่านด้วยคำสั่งในส่วนนี้ ซึ่งจะต้องบรรจุไว้ก่อนคำสั่ง \begin{document} โดยจะมีจะชุดคำสั่งที่ใช้ได้ดังต่อไปนี้
  • \officeunit{ชื่อส่วนราชการของท่าน} เช่น \officeunit{คณะวิศวกรรมศาสตร์ ภาควิชาวิศวกรรมไฟฟ้า}
  • \unitid{รหัสประจำหน่วยงานของท่าน} เช่น \unitid{{\bf ศธ} 0514.4.1.4} การเน้นตัวหนาที่อักษร ศธ เป็นสิ่งที่ผู้ใช้ต้องกำหนดเอง
  • \telephonenum{หมายเลขโทรศัพท์ของหน่วยงานของท่าน} เช่น \telephonenum{12142 -- 44 ต่อ 712}
  • \memoreg{เลขหนังสือออก} เช่น \menoreg{123} ปรกติเรามักจะไม่ทราบเลขหนังสือออกจนกว่าสารบรรณจะลงเลข ดังนั้นจึงมักจะเว้นว่างไว้
  • \date{วันที่ออกหนังสือ} เช่น \date{14 สิงหาคม 2553} อาจเว้นว่างไว้ก็ได้ ถ้าวางแผนจะพิมพ์หรือเขียนวันที่ลงไปในภายหลัง
  • \letterto{ชื่อผู้รับหนังสือ} เช่น \letterto{คณบดี} เป็นต้น
  • \author{ชื่อผู้เขียนหนังสือ} เช่น \author{นายกิตติพงษ์ มีสวาสดิ์ \\ อาจารย์ประจำภาควิชาวิศวกรรมไฟฟ้า} เป็นต้น ในคำสั่งนี้สามารถใส่คำสั่งขึ้นบรรทัดใหม่เพื่อเขียนตำแหน่งได้
  • \approvalperson{ชื่อหัวหน้าหน่วยงาน} เช่น \approvalperson{รศ. อำนาจ สุขศรี \\ หัวหน้าภาควิชาวิศวกรรมไฟฟ้า} ถ้าไม่ต้องเรียนผ่านใคร ไม่ต้องเขียนก็ได้
  • \closingphrase{คำลงท้ายบันทึกข้อความ} เช่น \closingphrase{ด้วยความนับถืออย่างสูง} เป็นต้น
คำสั่งเหล่านี้จะอยู่ในส่วน Preemble และจะไม่เขียนอะไรลงในเอกสารโดยตรง คำสั่งที่อยู่ในส่วนเอกสารดังต่อไปนี้จะเขียนข้อมูลเหล่านี้ลงไปในตำแหน่งที่กำหนด

ส่วนเปิดและปิดบันทึกข้อความ
ส่วนนี้จะอยู่ภายใน \begin{document} และ \end{document} มีอยู่เพียง 4 คำสั่งคือ
  • \openning จะทำการนำข้อมูลที่กรอกไว้ใน Preemble มาเขียนส่วนหัวของบันทึกข้อความ เช่น เรื่อง เรียน ที่ วันที่ ฯลฯ
  • \closing จะนำคำลงท้ายที่ระบุไว้ใน \closingphrase{} มาเขียนในตอนท้ายของบันทึกข้อความ
  • \undersigned จะเตรียมข้อความสำหรับการลงนามของผู้เขียนบันทึกข้อความ
  • \approvalsigned จะเตรียมข้อความสำหรับหัวหน้าหน่วยงานเพื่อลงนาม ในกรณีที่มีการเรียนผ่าน หากไม่มี ก็ไม่ต้องใช้คำสั่งนี้
หวังว่าคลาสบันทึกข้อความนี้คงจะเป็นประโยชน์แก่ท่านผู้อ่านบ้าง หากท่านทดลองใช้แล้วติดขัดหรือใช้การไม่ได้ในส่วนใด ท่านสามารถส่งข้อเสนอแนะต่าง ๆ มาที่ jarkmeesawat AT gmail DOT com ได้ครับ