การใช้ภาษาไทยกับ LaTeX พูลลาภ วีระธนาบุตร $Id: thailatex.sgml,v 1.4 1998-09-20 37358:02:28+37365:59:09 poon-v Exp $ บทความนี้จะพูดถึงขั้นตอนการติดตั้ง(configuraญ tion)และวิธีการใช้ภาษาไทยกับ LaTeX บนระบบปฏิบัติการ Linux ซึ่งผมใช้ Linux RedHat 5.0 เป็นตัวอย่างในบทความนี้. ผู้อ่านสามารถติดตามเอกสารฉบับล่าสุดได้ที่ ZzzThai project . (บทความนี้เขียนใน format ของ sgml และใช้ sgmltools ในการแปลงเป็น forญ mat อื่นๆ). ใน format LaTeX มีการเพิ่มเติมเนื้อหาซึ่งจะแตกต่างจาก forญ mat อื่น. ______________________________________________________________________ Table of Contents 1. บทนำ 1.1 TeX 1.2 LaTeX 1.3 ทำไมต้อง LaTeX 2. หลักการทำงานของ (La)TeX 2.1 หลักการทำงานโดยทั่วไป 2.2 ไฟล์ต่างๆที่ LaTeX ใช้ 2.2.1 Class file 2.2.2 package file 2.2.3 แฟ้มข้อมูลสำหรับ LaTeX (LaTeX input file) 2.3 ฟอนต์ที่ใช้ใน (La)TeX 2.3.1 TFM (TeX Font Metric) 2.3.2 MF (MetaFont) 2.3.3 GF (Glyph Font) 2.3.4 PK (Packed Font) 2.3.5 AFM (Adobe Metric Font) 2.3.6 Type1 3. ภาษาไทยกับ LaTeX 3.1 (TT 3.2 (TT 3.3 ภาษาไทยกับ LaTeX ในปัจจุบัน 4. Configuration สำหรับ LaTeX เพื่อใช้ภาษาไทย 4.1 แฟ้มข้อมูลต่างๆที่จำเป็น 4.2 ขั้นตอนการเปลี่ยนโครงสร้าง 4.2.1 การ copy ไฟล์ต่างๆลงใน 4.2.2 configure โปรแกรม 4.2.3 update ฐานข้อมูลของ LaTeX 5. การเตรียมแฟ้มข้อมูลสำหรับ LaTeX (LaTeX input file) 5.1 การเตรียม LaTeX file โดยการใช้ text editor 5.2 การเตรียม LaTeX file โดยการใช้ lyx 6. การใช้ LaTeX เบื้องต้น 6.1 (TT 6.2 การใช้คำสั่ง 6.3 DVI drivers 6.3.1 (TT 6.3.2 การแปลง dvi ให้เป็น postscript file 6.3.3 การพิมพ์เอกสารออกทางเครื่องพิมพ์ 7. วิธีการเขียน LaTeX file เบื้องต้น 7.1 preamble 7.2 เนื้อหา 7.2.1 การเปลี่ยนแบบอักษรภาษาไทย 7.2.2 การเปลี่ยนขนาดอักษรภาษาไทย 8. บทสรุป 9. แหล่งข้อมูลเพิ่มเติม 9.1 หนังสือ 9.2 อินเตอร๎เน็ต ______________________________________________________________________ 11.. บบททนนำำ ช่วงนี้เป็นการแนะนำ TeX และ LaTeX อย่างคร่าวๆก่อนจะพูดถึงภาษาไทยกับ LaTeX ในช่วงถัดไป. 11..11.. TTeeXX TeX เป็นโปรแกรมเรียงพิมพ์(typesetter)ซึ่งศาตราจารย์ Donald Knuth แห่งมหาวิทยาลัย Stanford เริ่มเขียนในราวปี ค.ศ.1977. เขาเขียนในหนังสือ The TeX book ซึ่งถือว่าเป็นไบเบิ้ลของ TeX ไว้ว่า "TeX [is] a new typesetting system intended for the creation of beautiful books - and especially for books that contain a lot of mathematics. By preparing a manuscript in TeX format, you will be telling a computer exactly how the manuscript is to be transformed into pages whose typographic quality is comparable to that of the world's finest printer." สิ่งที่น่าสังเกตุคือ TeX เป็นโปรแกรมเรียงพิมพ์ ไม่ใช่ word-processor (WYSIWYG) ซึ่งทำให้ TeX และ LaTeX แตกต่างจาก word-processor อื่นเช่น Microsoft Word โดยสิ้นเชิง. ตัวอย่างโปรแกรมเรียงพิมพ์อื่นๆได้แก่ troff, groff เป็นต้น. การเรียงพิมพ์ในสมัยก่อนใช้แบบตัวอักษรที่เป็นโลหะมาเรียงเป็นประโยค, เป็นหน้าและพิมพ์ลงกระดาษ. TeX ก็มีหลักการเช่นเดียวกันโดยการเขียนคำสั่งเรียงพิมพ์ลงในไฟล์ล่วงหน้า, แล้วใช้โปรแกรม tex เป็นตัวเรียงประโยค, เรียงหน้าและผลิตไฟล์ .dvi (device independent). ส่วนการพิมพ์ไม่ใช่หน้าที่ของ TeX. การพิมพ์เป็นหน้าที่ของโปรแกรมอื่นที่จะแปลงไฟล์ .dvi ให้เหมาะกับเครื่องพิมพ์หรือสื่อในการแสดงผลอื่นๆ. นั่นหมายความว่าไฟล์ .dvi เป็นไฟล์ที่ไม่ขึ้นกับอุปกรณ์การแสดงผลตามความหมายของ device independent นั่นเอง. ถ้าต้องการดูเอกสารทางจอของ X Window ก็ใช้โปรแกรม xdvi, ถ้าต้องการแสดงผล เป็น Postscript file ก็ใช้ dvips จากนั้นก็สามารถพิมพ์ออกทางเครื่องพิมพ์ได้. 11..22.. LLaaTTeeXX LaTeX เป็นการรวมชุดคำสั่ง, นิยามคำสั่งของ TeX ใหม่และรวมเป็น package โดยนาย Leslie Lamport, ทำให้มีรูปแบบและใช้ง่ายขึ้นกว่า TeX ซึ่งจริงๆแล้วการใช้ LaTeX ก็คือการใช้ TeX ทางอ้อมนั่นเอง. ในขณะที่ ศาสตราจารย์ Knuth กล่าวไม่มีการพัฒนาโปรแกรม TeX อีกต่อไปแล้ว แต่การพัฒนา LaTeX ยังมีอยู่เรื่อยๆ. ในปัจจุบันมีการใช้ LaTeX กันอย่างกว้างขวาง ทุกแวดวงเช่น การใช้ LaTeX เขียนหนังสือหรือบทความทางวิชาการสาขาต่างๆ, การใช้ LaTeX เขียนโน็ตดนตรี เป็นต้น. 11..33.. ททำำไไมมตต้้อองง LLaaTTeeXX หลังจากที่พูดถึง TeX กับ LaTeX พอควรแล้ว คราวนี้ก็จะพูดถึงเหตุผลที่ผู้อ่านน่าจะลองใช้ LaTeX. ท LaTeX เป็นโปรแกรมสาธารณะ (หมายความว่าสามารถ download ตัวโปรแกรมและ source code ได้โดยไม่เสียค่าใช้จ่ายใดๆ) ท สามารถใช้ได้กับคอมพิวเตอร์ทุก platform ไม่ว่าจะเป็น Windows, Mac, UNIX หรืออื่นๆ ท LaTeX file เป็นไฟล์ที่อ่านได้ (human readable) ซึ่งต่างจากเวิดท์โปรเซสเซอร์ที่ถ้าไม่มีโปรแกรมเวิดท์โปรเซสเซอร์นั้นก็หมายความว่าไม่สามารถดูเนื้อหาได้เลย ท แสดงผลได้สวยงาม ไม่ขึ้นกับอุปกรณ์ในการแสดงผล (device independent) ท การเขียนสูตรคณิตศาสตร์ใน TeX เป็นมาตรฐานสากล ท การส่งบทความทางวิชาการของตะวันตกมักใช้ TeX เป็นมาตรฐาน (แล้วเมืองไทยล่ะ :)) ท มีการ kerning ของตัวอักษรโดยอัตโนมัติ ท มี algorithm ในการใส่ hyphen ภาษาอังกฤษได้ดีเยี่ยม เท่าที่ยกตัวอย่างมานี้ก็เป็นเหตุผลที่ผมยกขึ้นมาจูงใจผู้อ่านเท่านั้น จะเห็นด้วยหรือไม่ขึ้นอยู่กับวิจารณญาณของผู้อ่านเอง. 22.. หหลลัักกกกาารรททำำงงาานนขขอองง ((LLaa))TTeeXX 22..11.. หหลลัักกกกาารรททำำงงาานนโโดดยยททัั่่ววไไปป LaTeX ใช้ไฟล์หลายชนิดจากหลายที่ในการทำงานและผลิตไฟล์หลายชนิดเช่นกัน User input file(tex) | V ============= Working files | |<=== Format file(fmt) ========>| LaTeX |<=== Class and package file(cls,sty) aux | | |<=== Font Metrics(tfm) idx | |============= <=== Font definitions(fd) toc ========= | | lof | ===> Transcript file(lis,log) lot | V TeX output file (dvi) | /==================================\ | | | | Postscript Printer Screen Text file จากรูปข้างบน ผู้ใช้จะเป็นผู้เตรียม LaTeX file (.tex) โดยใช้ text editor ในการเขียน. หลังจากที่สั่งคำสั่ง latex แล้ว, โปรแกรมจะดึงไฟล์ต่างๆมาจาก texmf ไดเรกทอรี่ เช่น ไฟล์ที่บอกขนาดของตัวอักษร, แบบเอกสาร เพื่อใช้ในผลิตไฟล์ต่างๆ. ไฟล์ที่ผลิตโดย latex มีหลายไฟล์ เช่น .aux, .idx, .toc เป็นต้น แต่ไฟล์ที่สำคัญที่สุดคือ .dvi (device indent) ไฟล์ ซึ่งเราสามารถแปลงไฟล๎นี้เป็น format อื่นๆได้. 22..22.. ไไฟฟลล์์ตต่่าางงๆๆททีี่่ LLaaTTeeXX ใใชช้้ Explanation File extension LaTeX input file .tex, .ltx TeX formatted output file .dvi TeX transcript file .log, .texlog, .lis, .list METAFONT sources file .mf Font definition file .fd Font image file .pk Font metrics file .tfm String pool file .pool, .poo, .pol Format file .fmt LaTeX layout & structure file .clo, .cls, .dtx, .sty LaTeX auxiliary file .aux Table of contents file .toc List of figures file .lof List of tables file .lot BibTeX related files .bbl, .bib, .blg, .bst Index and MakeIndex related files .idx, .ilg, .ind, .ist ไฟล์เหล่านี้ส่วนใหญ่จะอยู่ใต้ไดเรกทอรี่พิเศษที่ชื่อว่า texmf. ในที่นี้จะอธิบายถึงไฟล์ที่สำคัญและเกี่ยวข้องกับผู้ใช้เท่านั้น 22..22..11.. CCllaassss ffiillee class file(.cls) เป็นไฟล์ที่กำหนดลักษณะทั่วๆไปของเอกสาร. ลักษณะเอกสารหลักๆได้แก่ หนังสือ(book.cls), เอกสารรายงาน(report.cls), บทความ(article.cls) หรือจดหมาย(letter.cls). การเลือกลักษณะเอกสารทำได้โดยใช้คำสั่ง \documentclass[a4paper]{article} ในตัวอย่างเป็นการประกาศลักษณะเอกสารแบบบทความ และมีตัวเลือก (option) เป็นกระดาษขนาด a4. 22..22..22.. ppaacckkaaggee ffiillee package file(.sty) เป็นตัวกำหนดรายละเอียดปลีกย่อยนอกเหนือจากการกำหนดลักษณะเอกสารซึ่งกำหนดโดย class file. สามารถกำหนดรายละเอียดปลีกย่อยได้ด้วยคำสั่ง \usepackage{thai,graphics} ในตัวอย่างเป็นการกำหนดรายละเอียด 2 อย่างด้วยประโยคเดียว คือให้เอกสารใช้ภาษาไทยและใส่รูปภาพประกอบได้. 22..22..33.. แแฟฟ้้มมขข้้ออมมููลลสสำำหหรรัับบ LLaaTTeeXX ((LLaaTTeeXX iinnppuutt ffiillee)) ในที่นี้ขอเรียก LaTeX input file ย่อๆว่า LaTeX file (.tex), เป็นไฟล์ที่ผู้ใช้ต้องสร้างโดยเขียนคำสั่งและเนื้อหาเอกสารลงในไฟล์นี้. โดยปรกติไฟล์นี้จะมีตัวขยายชื่อไฟล์ (extension) เป็น .tex แต่ถ้าเป็น LaTeX file ที่มีภาษาไทย, ควรจะใช้ตัวขยายเป็น .ttex 22..33.. ฟฟออนนตต์์ททีี่่ใใชช้้ใในน ((LLaa))TTeeXX ฟอนต์ที่ (La)TeX ใช้มีหลายชนิดได้แก่ 22..33..11.. TTFFMM ((TTeeXX FFoonntt MMeettrriicc)) มีตัวขยายชื่อไฟล์เป็น .tfm, เป็นฟอนต์ที่ไม่มีรูปร่าง คือมีข้อมูลของขนาด, ความกว้าง, ความสูง, ตำแหน่งของตัวอักษรเท่านั้น. ไฟล์นี้จะใช้โดยโปรแกรม tex และ dvi driver (xdvi, dvips, ฯลฯ). สามารถผลิตได้จาก METAFONT ด้วยโปรแกรม pltotf. TFM ของภาษาไทยนั้นทำโดยการแปลงมาจาก AFM(Adobe Font Metric) ด้วยโปรแกรม afm2tfm. ฟอนต์ที่ใช้แสดงผลภาษาไทยคือฟอนต์ dbthaitext ซึ่งเป็นฟอนต์ที่เผยแพร่โดย Dear Book. 22..33..22.. MMFF ((MMeettaaFFoonntt)) เป็นฟอนต์ที่ TeX ใช้ในยุคต้นๆ. เขียนโดยศาสตราจารย์ Knuth เองและมีหนังสือเกี่ยวกับ METAFONT เป็นชุด(series)ประกอบกับ The TeX Book อีกด้วย. เราสามารถสร้างฟอนต์ TFM และ GF(Glyph Font) ได้จาก MF. 22..33..33.. GGFF ((GGllyypphh FFoonntt)) เป็นฟอนต์บิทแมป(bitmap)ใช้ในการแสดงผล. มีตัวขยายชื่อไฟล์เป็น .gf หรือ .gf แล้วตามด้วยค่า resolution. 22..33..44.. PPKK ((PPaacckkeedd FFoonntt)) สร้างจาก GF โดยการอัด(compress)ให้เล็กลงด้วยโปรแกรม gstopk. มีตัวขยายชื่อไฟล์ลักษณะเดียวกับ GF 22..33..55.. AAFFMM ((AAddoobbee MMeettrriicc FFoonntt)) เป็นฟอนต์แบบ metric ที่ Postscript ใช้. สามารถแปลงเป็น TFM ได้ด้วยโปรแกรม afm2tfm. 22..33..66.. TTyyppee11 เป็นฟอนต์ที่ Postscript ใช้เช่นกัน. มีตัวขยายชื่อไฟล์เป็น .pfa หรือ .pfb. .pfa เป็นไฟล์ที่อ่านได้ส่วน .pfb เป็นไบนารี่ไฟล์ (a = ascii, b = binary) 33.. ภภาาษษาาไไททยยกกัับบ LLaaTTeeXX การใช้ภาษาไทยกับ LaTeX ยังไม่ค่อยมีใครสนใจมากเท่าที่ควรเนื่องจากผู้ใช้ (end-user) ส่วนใหญ่มักใช้ word-processor ซึ่งเมื่อเทียบกับ LaTeX แล้ว, LaTeX จะใช้ยากกว่า, แต่ถ้าผู้อ่านใช้ LaTeX มาระยะหนึ่งแล้วจะรู้สึกว่า LaTeX ไม่ได้ยากอย่างที่คิดเลย และ LaTeX file เป็นไฟล์ที่อ่านแล้วเข้าใจได้ รู้ว่า computer จะจัดการกับเอกสารที่เราเขียนอย่างไร. ความพยายามที่จะใช้ภาษาไทยกับ TeX มีมานานแล้วทั้งกลุ่มคนไทยและชาวต่างชาติคือกลุ่ม USL และ RMIT ตามลำดับ. กลุ่ม USL ได้เขียนฟอนต์ภาษาไทยโดยใช้ภาษา METAFONT ซึ่งเมื่อนำมาคอมไพล์ด้วยจะได้ .tfm และ .pk ซึ่งนำมาใช้กับ TeX ได้โดยตรง แต่ฟอนต์ของกลุ่ม USL มีเพียงแบบเดียวและขาดความสวยงามอยู่บ้าง ในขณะที่ METAFONT ของกลุ่ม RMIT ซึ่งทำโดยชาวต่างชาติมีหลายแบบหลายขนาดและยังมี macro ซึ่งทำให้เรียงพิมพ์ภาษาไทยได้ทันที. แต่ขาดตรงที่ไม่ได้ใช้แป้นพิมพ์ภาษาไทยในการเรียงพิมพ์ และเหมาะสมกับการเรียงพิมพ๎ที่มีภาษาไทยปะปนอยู่บ้างเล็กน้อยเท่านั้น. 33..11.. tttteexx อาจารย์มานพ วงศ์สายสุวรรณ มีความคิดที่จะใช้ภาษาไทยกับ LaTeX ขณะที่กำลังศึกษาต่อระดับปริญญาโทที่ Tokyo Institute of Technology (TIT) ประเทศญี่ปุ่น, โดยการแปลงฟอนต์ AFM ภาษาไทยที่มีขายตามท้องตลาดให้เป็น TFM และเขียน perl script ชื่อ ttex ให้ทำหน้าที่แปลงรหัสภาษาไทยจาก 8 บิทให้เป็น 7 บิท (LaTeX ขณะนั้นยังไม่สามารถรับอักษร 8 บิทได้) และจัดรหัสของอักขระแถวบนให้สวยงาม. ส่วนการตัดคำระหว่างบรรทัดนั้นยกให้เป็นหน้าที่ของผู้เขียน LaTeX file. หลังจากที่ผ่าน filter นี้แล้วก็นำไฟล์ที่ได้ส่งต่อให้ LaTeX จัดการ ต่อไป เราก็จะได้ .dvi ไฟล์. จากนั้นใช้ dvips แปลง .dvi ไฟล์ให้เป็นไฟล์แบบ Postscript แล้วพิมพ์ออกทางปรินเตอร๎ได้. แต่ ttex ยังมีปัญหาอยู่บ้างคือ เรื่องการตัดคำระหว่างบรรทัด, ไม่สามารถดูงานผ่าน X window ได้, มีการแปลงเป็นรหัส 7 บิททำให้ข้อมูลใหญ่เกินความจำเป็น และยังไม่มี macro สำหรับ TeX ภาษาไทย. 33..22.. cctttteexx ต่อมาภายหลัง, คุณวุฒิชัย อัมพรอร่ามเวทย์ พัฒนา ttex ต่อโดยเขียน filter ใหม่ด้วยภาษา C ชื่อ cttex. ซึ่งทำให้การทำงานเร็วขึ้นกว่า ttex. เพิ่มการตัดคำระหว่างบรรทัดโดยอาศัยพจนานุกรมในการตัดคำ. นอกจากนั้นคุณวุฒิชัยยังสร้างบิทแมทฟอนต์แบบ .pk ขึ้นจาก Postscript ฟอนต์โดยอาศัยซอฟต์แวร์ gsf2pk ทำให้ .dvi ไฟล์ที่มีความเป็น independent มากขึ้น, คือสามารถ ดู(preview)บน X window ได้. มีการพัฒนา macro ชื่อ thai.sty เพื่อใช้ตัวหนาตัวเอียง และภาษาไทยในหัวข้อได้ง่ายขึ้น. ในระยะหลัง LaTeX สามารถรับรหัส 8 บิทได้ จึงไม่มีความเป็นที่จะแปลงเป็นรหัสเป็น 7 บิทอีกต่อไป. การพัฒนา Thai LaTeX ในช่วงนั้นนับได้ว่าเป็นก้าวสำคัญทีเดียวสำหรับการใช้ภาษาไทยกับ LaTeX (ข้อมูลจาก "รู้จักกับ Typesetter ภาษาไทย ThaiTeX" โดย มานพ วงศ์สายสุวรรณ อาจารย์ภาควิศวกรรมไฟฟ้า จุฬาลงกรณ์มหาวิทยาลัย, นิตยสาร "ศักยภาพ" กันยายน 2538. นิตยสาร "ศักยภาพ" เป็นนิตยสารของสมาคมนักวิชาชีพไทยในญี่ปุ่นซึ่งเคยใช้ LaTeX ในการทำนิตยสาร นับเป็นความพยายามครั้งแรกที่จะรณรงค์การใช้ LaTeX ในหมู่คนไทย. ปัจจุบันไม่ได้ใช้ LaTeX ในการทำนิตยสารแล้วเนื่องจากขาดบุคคลที่ชำนาญในการใช้.) 33..33.. ภภาาษษาาไไททยยกกัับบ LLaaTTeeXX ใในนปปััจจจจุุบบัันน เมื่อต้นปี 1998 ที่ผ่านมา คุณวุฒิชัยได้นำไฟล์ต่างๆที่จำเป็นในการใช้ภาษาไทยกับ LaTeX มารวบรวมอีกครั้ง ซึ่งจากการที่ LaTeX พัฒนาไปเรื่อยๆ ทำให้การใช้ภาษาไทยกับ LaTeX มีความคล่องตัวขึ้นทุกที. ปัจจุบัน LaTeX สามารถใช้ Postscript(Type1) ฟอนต์ได้มากขึ้น เช่นถ้าไม่มีฟอนต์ .pk ในระบบ xdvi สามารถเรียกโปรแกรม gsf2pk แปลง Type1 (.pfa, .pfb) ให้เป็น .pk ได้โดยไม่จำเป็นต้องเตรียม .pk ไว้ล่วงหน้า. 44.. CCoonnffiigguurraattiioonn สสำำหหรรัับบ LLaaTTeeXX เเพพืื่่ออใใชช้้ภภาาษษาาไไททยย สำหรับผู้ที่ใช้ LaTeX บนระบบปฏิบัติการอื่นที่ไม่ใช่ Linux หรือใช้ Linux ที่ไม่ใช่ RedHat ก็สามารถประยุกต์จากตัวอย่างนี้ได้เช่นกัน หรืออ่านจากโฮมเพจเกี่ยวกับ Thai TeX ที่คุณวุฒิชัยเขียนไว้. 44..11.. แแฟฟ้้มมขข้้ออมมููลลตต่่าางงๆๆททีี่่จจำำเเปป็็นน ไฟล์ต่างๆเหล่านี้สามารถหาได้จากโฮมเพจที่ระบุไว้ตอนท้ายของบทความนี้. เตรียมแฟ้มข้อมูลต่างๆที่จำเป็น ได้แก่ Tfm fonts: dbtt.tfm dbttb.tfm dbttbi.tfm dbtti.tfm Postscript fonts: dbtt.pfa dbttb.pfa dbttbi.pfa dbtti.pfa Style files: thai.sty Thai Latex filter: cttex Sample Latex file (optional): ttex.ttex test.ttex 44..22.. ขขัั้้นนตตออนนกกาารรเเปปลลีี่่ยยนนโโคครรงงสสรร้้าางง tteexxmmff ไไดดเเรรกกททออรรีี่่ ในกรณี Linux RedHat 5.0 ไดเรกทอรี่นี้อยู่ที่ /usr/lib/texmf/texmf/ ภาย ใต้ไดเรกทอรี่นี้จะมีไดเรกทอรี่ย่อยอีกมากมายเช่น dvips, fonts, tex เป็นต้น. 44..22..11.. กกาารร ccooppyy ไไฟฟลล์์ตต่่าางงๆๆลลงงใในน tteexxmmff ไไดดเเรรกกททออรรีี่่ สั่งคำสั่งตามตัวอย่างดังนี้ % mkdir /usr/lib/texmf/texmf/fonts/tfm/public/thai % mkdir /usr/lib/texmf/texmf/fonts/type1/public/thai % mkdir /usr/lib/texmf/texmf/tex/generic/thai % cp *.tfm /usr/lib/texmf/texmf/fonts/tfm/public/thai % cp *.pfa /usr/lib/texmf/texmf/fonts/type1/public/thai % cp *.sty /usr/lib/texmf/texmf/tex/generic/thai 44..22..22.. ccoonnffiigguurree โโปปรรแแกกรรมม ddvviippss ขั้นตอนต่อไปให้เพิ่มข้อความต่อไปนี้ในแฟ้ม /usr/lib/texmf/texmf/dvips/misc/psfonts.map dbtt DBThaiText thailatex.tex cttex จะเปลี่ยนเนื้อหาของ thailatex.ttex และบันทึกไฟล์ใหม่ในชื่อ thailatex.tex. เพราะฉะนั้นเนื้อหาใน thaidoc.ttex ยังเหมือนเดิมทุกประการสามารถแก้ไขได้ภายหลัง. สิ่งที่ cttex ทำคือใส่คำสั่งที่กำหนดใน thai.sty ให้กับคำภาษาไทยทุกคำเช่น "วันอาทิตย์" เป็น "\thai{วัน\tb อาทิตย์}" เป็นต้น. ความหมายของคำสั่งเหล่านี้สามารถดูได้จากไฟล์ thai.sty. นอกจากนั้น cttex ยังจัดตำแหน่งของสระและวรรณยุกต์ให้สวยงามโดยการเปลี่ยนรหัส tis-620 เป็นรหัสอื่น. เพราะฉะนั้นเมื่อใช้ cttex สร้างไฟล์ .tex แล้วไม่สามารถดูสระหรือวรรณยุกต์ของไฟล์นี้ถ้า editor นั้นใช้รหัส tis-620 ในการอ่านการเขียน. 66..22.. กกาารรใใชช้้คคำำสสัั่่งง llaatteexx เมื่อได้ไฟล์ thailatex.tex แล้ว, สามารถใช้คำสั่ง latex ดังตัวอย่าง % latex thailatex.tex This is TeX, Version 3.14159 (Web2c 7.0) (thailatex.tex LaTeX2e <1997/06/01> (/usr/local/share/texmf/tex/latex/base/article.cls Document Class: article 1997/06/16 v1.3v Standard LaTeX document class (/usr/local/share/texmf/tex/latex/base/size10.clo)) (linuxdoc-sgml.sty) (qwertz.sty) (url.sty) (/usr/local/share/texmf/tex/latex/packages/graphics/epsfig.sty (/usr/local/share/texmf/tex/latex/packages/graphics/graphicx.sty (/usr/local/share/texmf/tex/latex/packages/graphics/keyval.sty) (/usr/local/share/texmf/tex/latex/packages/graphics/graphics.sty (/usr/local/share/texmf/tex/latex/packages/graphics/trig.sty) (/usr/local/share/texmf/tex/latex/packages/graphics/graphics.cfg) (/usr/local/share/texmf/tex/latex/packages/graphics/dvips.def)))) (null.sty) (/usr/local/share/texmf/tex/generic/thai/thai.sty) (thailatex.aux) (thailatex.toc [1]) [2] (/usr/local/share/texmf/tex/latex/base/omscmr.fd) [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] (thailatex.aux) ) (see the transcript file for additional information) Output written on thailatex.dvi (12 pages, 50096 bytes). Transcript written on thailatex.log. ถ้าไม่มีข้อผิดพลาดเกิดขึ้น, ในกรณีนี้จะมีไฟล์ thailatex.dvi ปรากฎในไดเรกทอรี่ที่ทำงานอยู่ 66..33.. DDVVII ddrriivveerrss dvi driver คือโปรแกรมที่ทำหน้าที่แสดงไฟล์ .dvi ทางหน้าจอ, พิมพ์ทางปรินเตอร์ หรือแปลงไฟล์เป็น format อื่นๆ 66..33..11.. xxddvvii xdvi เป็นโปรแกรมดู(preview)เอกสาร .dvi บน X Window. % xdvi thailatex.dvi & ถ้า xdvi หาฟอนต์ .pk ไม่พบ, xdvi จะเรียกโปรแกรม MakeTeXPK ให้สร้างฟอนต์ .pk ให้ตรงตาม resolution ที่ถูกกำหนด. 66..33..22.. กกาารรแแปปลลงง ddvvii ใใหห้้เเปป็็นน ppoossttssccrriipptt ffiillee ผู้อ่านสามารถแปลงไฟล์ .dvi ให้เป็นไฟล์ Postscript โดยใช้โปรแกรม dvips ดังนี้ % dvips -o thailatex.ps thailatex.dvi dvips จะฝัง Postscript ฟอนต์ลงไปใน Postscript ไฟล์ด้วย ทำให้สามารถดูเอกสารที่ผลิตขึ้นได้ด้วยคอมพิวเตอร์ที่มี ghostview ซึ่ง ghostview เป็นโปรแกรมที่แจกฟรีทางอินเตอร์เน็ต. นอกจากนี้ผู้อ่านสามารถแปลงไฟล์เป็น .pdf ก็ได้โดยใช้โปรแกรม ps2pdf. 66..33..33.. กกาารรพพิิมมพพ์์เเออกกสสาารรออออกกททาางงเเคครรืื่่อองงพพิิมมพพ์์ เมื่อได้ไฟล์ Postscript แล้วผู้ใช้สามารถพิมพ์เอกสารออกทางปรินเตอร์ระบบ Postscript ได้ทันที. ถ้าไม่มีปรินเตอร์แบบ Postscript, ผู้ใช้สามารถพิมพ์โดยใช้ ghostscript ซึ่งเป็นโปรแกรมแปลภาษา Postscript เป็น format อื่นๆ เช่น .pdf หรือภาษาที่เครื่องพิมพ์ใช้โดยเฉพาะ. ผู้อ่านสามารถอ่านวิธีการติดตั้งปรินเตอร์ที่ไม่ใช่ปรินเตอร์ Postscript ได้จากเอกสาร HOWTO ซึ่งจะไม่อธิบายในที่นี้. % lpr thailatex.ps 77.. ววิิธธีีกกาารรเเขขีียยนน LLaaTTeeXX ffiillee เเบบืื้้อองงตต้้นน ตัวอย่าง LaTeX file \documentclass{article} \usepackage{thai} % บอก LaTeX ให้รู้ว่าเราจะใช้ thai.sty \begin{document} นี่คือตัวอย่างการเขียน \LaTeX{} ไฟล์ \end{document} 77..11.. pprreeaammbbllee คำสั่งของ TeX จะมีรูปแบบคือ \ แล้วตามด้วยชื่อคำสั่ง. preamble คือส่วนคำสั่งที่กำหนดลักษณะของเอกสาร เช่น คำสั่ง \documentclass{} เป็นต้น. LaTeX file ทุกฉบับต้องมีคำสั่งนี้ซึ่งมีไวยกรณ์ \documentclass[options]{class} Class Options ============================================ book 10pt report 11pt article 12pt a4paper (default) a5paper b5paper b4paper landscape twoside oneside onecolumn (default) twocolumn titlepage (book, report) notitlepage draft final (default) leqno fleqn สำหรับการใช้ภาษาไทยแล้วต้องมีคำสั่ง \usepackage{thai} ทุกครั้ง. ไวยกรณ์ทั่วไปของคำสั่ง \usepackage คือ \usepackage[options]{package_name} package_name : graphics, color, babel, etc ใช้เครื่องหมาย % เมื่อต้องการเขียน comment. ข้อความที่อยู่ถัดจาก % จนสุดบรรทัดถือเป็น comment. ในช่วง preamble นี้, นอกจากจะกำหนดลักษณะของเอกสารแล้วยังสามารถทำ title ได้โดย \title{title_name} \author{author_name} \date{date or \today{}} เมื่อสร้างชื่อเอกสารและผู้แต่งแล้ว ข้อความเหล่าจะปรากฎเมื่อสั่งคำสั่ง \maketitle ในช่วงเนื้อหาเท่านั้น 77..22.. เเนนืื้้ออหหาา เนื้อหาเป็นส่วนที่อยู่ระหว่างคำสั่ง \begin{document} กับ \end{document} \begin{document} .... content should be here. .... \end{document} การย่อหน้าสามารถทำได้โดยทำบรรทัดว่างหนึ่งบรรทัด. 77..22..11.. กกาารรเเปปลลีี่่ยยนนแแบบบบออัักกษษรรภภาาษษาาไไททยย การเปลี่ยนแบบอักษรภาษาไทยถูกกำหนดในไฟล์ thai.sty. แบบอักษรภาษาไทยที่สามารถใช้ได้ขณะนี้คือ ตัวอักษรธรรมดา(ตัวตรง), ตัวอักษรเอียง(italic), ตัวอักษรหนา(bold) และตัวอักษรหนาเอียง. สามารถเปลี่ยนแบบอักษรได้ด้วยคำสั่ง {\spit Thai_words_here} {\spbf Thai_words_here} {\spit\spbf Thai_words_here} ในที่นี้เข้าใจว่า sp ย่อมาจาก "ศักยภาพ(SakkayaPhab)" ซึ่งเป็นนิตยสารที่เคยใช้ LaTeX ในการทำ. 77..22..22.. กกาารรเเปปลลีี่่ยยนนขขนนาาดดออัักกษษรรภภาาษษาาไไททยย โดยปรกติ LaTeX จะกำหนดขนาดของตัวอักษรที่ใช้ใน Class file โดยมีขนาดตัวอักษรเรียงลำดับจากใหญ่ด้วยคำสั่ง \Huge, \huge, \LARGE, \Large, \large, \normalsize, \small, \footnotesize, \scriptsize และ \tiny. การเปลี่ยนขนาดอักษรภาษาไทยถูกกำหนดในไฟล์ thai.sty เช่นเดียวกับแบบอักษรภาษาไทย. ผู้ใช้สามารถเปลี่ยนขนาดอักษรด้วยคำสั่ง {\spHuge Thai_words_here} {\sphuge Thai_words_here} {\spLARGE Thai_words_here} {\spLarge Thai_words_here} {\splarge Thai_words_here} {\spnormalsize Thai_words_here} {\spsmall Thai_words_here} {\spfootnotesize Thai_words_here} {\spscriptsize Thai_words_here} {\tiny Thai_words_here} ถ้าไม่ระบุขนาดอักษร, LaTeX จะใช้อักษรขนาด normalsize. รายละเอียดเรื่องการเขียน LaTeX file กรุณาอ่านได้จากเอกสารอ้างอิงที่แนะนำตอนท้าย หรือดูจากตัวอย่างที่อยู่บนอินเตอร์เน็ต. ซึ่งหากมีโอกาสจะพยายามเขียนในเอกสารรุ่นถัดไป. 88.. บบททสสรรุุปป เท่าที่ใช้ภาษาไทยกับ LaTeX มาระยะพบว่ายังมีปัญหาบางอย่างเช่น cttex ใส่แมคโครให้คำภาษาไทยทุกคำใน LaTeX file ดังนั้นจึงไม่สามารุเขียนภาษาไทยใน verbatim environment ได้เป็นต้น. สิ่งที่ควรทำต่อไปในอนาคตคือ การพัฒนา package file ให้สนับสนุนการใช้ภาษาไทยมากขึ้น ในแง่ของการใช้ ยังไม่มีความสะดวกมากนักเพราะการรันโปรแกรม 2 ครั้งคือ cttex และตามด้วย latex นอก จากนี้แล้ว, ไฟล์ที่ส่งให้ latex จัดการคือ .tex เป็นไฟล์ที่ไม่สามารถ edit ได้โดยตรง ทำให้ใช้งานได้ไม่สะดวก. อย่างไรก็ตามนี่ก็เป็นการพิสูจน์ได้ว่าเราสามารถใช้ภาษาไทยกับ latex ได้ในระดับหนึ่ง ซึ่งเราควรจะช่วยกันลองใช้และพัฒนากันต่อไป สุดท้ายนี้,ขอขอบคุณ อาจารย์มานพ, คุณวุฒิชัย ที่ช่วยให้พวกเราได้ใช้ LaTeX กับภาษาไทย. 99.. แแหหลล่่งงขข้้ออมมููลลเเพพิิ่่มมเเตติิมม 99..11.. หหนนัังงสสืืออ ผู้อ่านสามารถเรียนรู้การเขียน LaTeX file เพิ่มเติมได้จากหนังสือต่อไปนี้ ท Michel Goossens, Frank Mittelbach, "The LaTeX Companion", Addison- Wesley, 1994 ท Leslie Lamport, "LaTeX - A Document Preparation System-User's Guide and Reference Manual", Addison-Wesley, 1985 ท Donald E. Knuth, "The TeXbook, volumn A of Computers and Typsetting", Addison-Wesley, 1986 99..22.. ออิินนเเตตออรร๎๎เเนน็็ตต ท TeX ภาษาไทย โดยคุณวุฒิชัย อัมพรอร่ามเวทย์ , เป็นโฮมเพจแรกที่เขียนเกี่ยวกับภาษาไทยกับ (La)TeX, ftp. ท การใช้ภาษาไทยกับ LaTeX , สามารถ download เอกสารฉบับล่าสุดที่อ่านอยู่และ file ต่างๆได้ที่นี่. ท TeX User Group ท Lyx