MikTeX 2.6-2.8 with Thai


หน้านี้เรียบเรียงเพิ่มเิติมจาก การติดตั้งภาษาไทยกับ MikTeX โดยหวังว่าจะเป็นแหล่งข้อมูลอีกอันสำหรับการติดตั้งภาษาไทยบน MikTeX 2.5 อีกอันที่ค่อนข้างจะทันสมัยนอกเหนือ
จากเว็บข้างต้น

สำหรับผู้ใช้ MikTeX 2.5 จะไม่สามารถใช้ MiKTeX Thai Extensions 0.3.5 ได้อีกต่อไป ผู้พัฒนาก็เลิำกพัฒนาต่อแล้ว(คิดว่า) ซึ่งน่าเสียดายเป็นอย่างยิ่ง แต่ไม่เป็นไรให้ทำตามขั้นตอน ดังที่จะกล่าวต่อไปนี้ ซึ่งส่วนใหญ่ก็จะเหมือนกับเว็บข้างบนมีส่วนที่เปลี่ยนแปลงอยู่สองจุดที่ สำคัญซึ่งจะชี้แจงภายหลัง การติดตั้งภาษาไทยสำหรับ MiKTeX ในที่นี้จะให้ถือว่าผู้อ่านได้ติดตั้ง MiKTeX ไว้ที่ home ซึ่งโดยปกติคือ C:\Program Files\MiKTeX 2.x\ และสำหรับ ผมจะเป็น 2.6

เพื่อไม่ให้ซ้ำกับลิงค์ ข้างบนนัก กรณีที่คุณต้องการฟอนต์ที่สวยงามที่ประดิษฐ์โดย คุณเทพพิทักษ์ และผู้ร่วมงาน น่าเสียดายที่ไม่มีีฟอนต์ของวินโดวส์ ดังนั้นผู้ใช้วินโดวส์ ทั้งหลายก็คงต้องใช้เครื่องมืออื่นช่วย สำหรับคนที่มี Cygwin (ต้องลง make กับ tetex ด้วยนะครับ)ให้ทำตามนี้

  1. ให้ดาวน์โหลด Thailatex 0.4.3 จาก CTAN (ซึ่งควรจะเอาจากตัวนี้เป็นหลักนะครับ) แตกไฟล์ไปเก็บในที่ใดที่หนึ่ง ตัวอย่างเช่น c:\ ซึ่งตัวไฟล์ทั้งหมดจะอยู่ใน c:\thailatex (ถ้า์ไฟล์ถูกบีบไว้ เวลาแตกก็ใช้ 7-zip)
  2. เรียก Cygwin ขึ้นมา แล้วเข้าไปที่โฟลเดอร์ที่เก็บไฟล์ในข้อ 1 ด้วยคำสั่ง
    cd /cygdrive/c/thailatex
  3. ./configure
  4. make
  5. make install
  6. รอประมาณอึดใจ ขึ้นอยู่กับความเร็วเครื่อง ก็จะได้ไฟล์ทุกไฟล์ที่ต้องการพอเสร็จ Cygwin ก็หมดประโยชน์แล้ว ครับ ให้กลับมาที่เครื่องมือของวินโดวส์ตามปกติ
  7. ที่ c:\thailatex\fonts\ ให้คัดลอกไฟล์
    lthuni.enc
    หรือ thailigs.enc ไปไว้ที่ c:\Program Files\MiKTeX 2.6\dvips\base\
    และ
    thai.map ไปไว้ที่ c:\Program Files\MiKTeX 2.6\dvips\config\ และ c:\Program Files\MiKTeX 2.6\fonts\map\dvips
  8. ให้เข้าไปที่ c:\thailatex\babel ให้คัดลอกไฟล์นามสกุล .fd, .def, .ldf และ .sty ไปยัง c:\Program Files\MiKTeX 2.6\tex\generic\babel\
  9. ที่ c:\thailatex\fonts\ ให้คัดลอก (โฟลเดอร์ thai ต้องสร้างใหม่)
    ฟอนต์ .afm ทั้งหมดไปไว้ที่ c:\Program Files\MiKTeX 2.6\fonts\afm\public\thai\
    ฟอนต์ .tfm ทั้งหมดไปไว้ที่ c:\Program Files\MiKTeX 2.6\fonts\tfm\public\thai\
    ฟอนต์ .pfb ทั้งหมดไปไว้ที่ c:\Program Files\MiKTeX 2.6\fonts\type1\public\thai\
    ฟอนต์ .vf ทั้งหมดไปไว้ที่ c:\Program Files\MiKTeX 2.6\fonts\vf\public\thai\

    ตามลำดับ
  10. ใช้คำสั่งที่ command prompt ของวินโดวส์
    initexmf --edit-config-file updmap

    ใส่บรรทัด Map thai.map เข้าไปเพียงบรรทัดเดียวนะครับแล้วก็เซฟ

  11. ใช้คำสั่ง ที่ command prompt ของวินโดวส์
    initexmf -v --mkmaps -u

    เพื่อให้ MiKTeX ปรับปรุงฐานข้อมูลของ ชื่อไฟล์และสร้าง map ของฟอนต์ต่าง ๆ

  12. ลองสร้างไฟล์และทดสอบดู
    \documentclass{report}
    \usepackage[thai]{babel}
    \usepackage{thswitch} 
    
    \begin{document}
    
    \usefont{LTH}{xxxx}{m}{n}
    สวัสดีชาวโลก
    \end{document}

    โดยที่ xxxx คือชื่อฟอนต์ที่เราต้องการ (ค่าตั้งต้นคือ norasi) ผู้ใช้สามารถเลือกได้ดังนี้ gruda, norasi, kinnary, sawasdee, ttype, ttypist, umpush, purisa และ waree ผมเข้าใจว่ามีสองฟอนต์ที่ใช้แทนฟอนต์ยอดบังคับบน Word ได้ (แทน Angsana New (kinnary) กับ Browallia New (norasi) ไม่แน่ใจเทียบด้วยตา)  ดูตัวอย่างไฟล์

  13. ถ้าทำทุกอย่างตามแล้วไม่ได้นะครับ ให้ลองทำดังต่อไปนี้
    – upgrade MiKTeX แล้วลองทำข้อ 11 ใหม่
    edit file udpmap.cfg ที่อยู่ที่ C:\Program Files\MiKTeX 2.6\miktex\config โดยตรง
    โดยเพิ่มบรรทัดสุดท้ายตามข้อ 10 แล้วทำตามข้อ 11 ใหม่
  14. ถ้าได้แล้วไม่มีอะไรผิดพลาดให้ลองทดสอบกับไฟล์นี้ teststd.tex
  15. ฟอนต์ของวินโดวส์จำพวก angsana ให้ดาว์นโหลดจาก การติดตั้งภาษาไทยกับ MikTeX และต้องทำข้อ 7-11 ใหม่ โดยใช้ไฟล์ของลิงค์ข้างต้นประกอบด้วย หรือไม่ก็ทำตามเว็บข้างต้นได้เลย

การติดตั้ง SWATH (Smart Word Analysis for THai) Thai word segmentation.

  1. ดาวน์โหลด SWATH และขยายไฟล์เก็บไว้ที่ไหนก็ได้ อยู่กับชุดคำสั่งที่จะเรียกใช้ ในที่นี้คือ c:\swath\ แล้วทำ batch file ง่าย ๆ เช่น
    c:\swath\swath -f latex -d c:\swath\swath < %1.ttx > %1.tex
  2. กรณีต้องการใช้ UTF-8 (สำหรับ UTF-8 editor) ก็เพิ่มตัวเลือก -u u,u เข้าไปด้วย ดังนี้ (อ้างอิงจากเว็บของคุณ เทพพิทักษ์)
    c:\swath\swath -f latex -d c:\swath\swath -u u,u < %1.ttx > %1.tex

สัญญาอนุญาตสร้างสรรค์ร่วมกัน
This work is part of Creative Commons.
แก้ไขครั้งล่าสุด 4 สิงหาคม 2552

64 comments on “MikTeX 2.6-2.8 with Thai

  1. ผมมีปัญหา เกี่ยวกับโปรแกรมตัดคำ swath คือ เวลาเรียกใช้แล้ว คอมฟ้องว่า ระบบไม่พบ path ที่ระบุ ผมพยายามแก้ path ใน sw.bat แล้วแต่ไม่เป็นผล ผมควรทำอย่างไรดี ขอคำแนะนำด้วยครับ

  2. ไฟล์ยาวเกินแปดตัวอักษรหรือเปล่าครับ
    ถ้ายังไงขอดูตัว sw.bat ด้วยก็ดีครับ

  3. ผมลง ThaiMiKTeX ตามวิธีของ ม. สุรนารี คือ ผม เก็บโฟลเดอร์ swath ไว้ใน c:\Program Files\MiKTeX\MiktexThai\swath ส่วน
    sw.bat และ swath.exe ผมเก็บไว้ที่ C:\Program Files\MiKTeX\texmf\miktex\bin ดังนั้น sw.bat จึง ใช้ ใช้คำสั่ง C:\Progra~1\MiKTeX\texmf\miktex\bin\swath -f latex -d C:\Progra~1\MiKTeX\Miktex~1\SWATH %1.tex

  4. C:\Progra~1\MiKTeX\texmf\miktex\bin\swath -f latex -d C:\Progra~1\MiKTeX\Miktex~1\SWATH %1.tex

    ถ้าตามสุรนารีอันนี้ก็ถูกแล้วนะครับ แต่ต้องแก้นิดหน่อย คือ
    จาก %1.tex ให้แก้เป็น
    %1.tex

    ตัว %1.ttx คือไฟล์ที่ต้องการตัดคำ ส่วน %1.tex คือผลลัพท์
    ที่ได้

  5. ระบบ wordpress ไม่รับบางอักขระเวลา comment

    ตามที่เข้าใจของอาจารย์ ก็ไม่มีอะไรผิดนะครับ

    ขอดูคำสั่งตอนเรียกใช้ sw.bat อีกทีครับ

  6. ขอบคุณมากครับ ผมทราบข่าวจากเพื่อนๆ ที่ม.สุรนารี ว่าเกิดปัญหาเหมือนกับผมเช่นกัน คือปัญหา เกี่ยวกับโปรแกรมตัดคำ swath ผมกำลังสงสัยเกี่ยวกับระบบวินโดวจะมีผลต่อโปรแกรมนี้หรือเปล่า

  7. อีกกรณีที่เคยเจอนะครับคือ path มันยาวเกินไป
    สำหรับเครื่องผมแล้วผมจะเก็บ Swath ไว้ที่ c:\swath\
    เลย ลองแก้ดูครับ เพราะตัว swath มันไม่จำเป็นต้องเก็บ
    ไว้ใน MikTeX อยู่แ้ล้ว

  8. ผมมีปัญหาตอนใช้ Cygwin ครับ คือทำตาม
    2 เรียก Cygwin ขึ้นมา แล้วก็ cd /cygdrive/c/thailatex
    3 ./configure
    แล้ว ทำขั้นตอนที่ 4 กับ 5 ไม่ได้ครับ
    มันขึ้นว่า bash: make: command not found

  9. initexmf –edit-config-file udpmap
    คำสั่งข้างบนเรียกใช้ที่ใหนครับ
    ผมลองใช้ที่ dos command prompt: C:\ ทำไม option -edit ใช้ไม่ได้ครับ

  10. ที่ dos prompt นั่นแหละครับ แต่ หน้า edit ต้องเป็นสองขีด
    initexmf –edit-config-file udpmap

  11. ช่วยด้วยครับ make ไม่ผ่านครับ

    if [ ! -f garuda.afm ]; then \
    ln -s ./garuda.afm garuda.afm; \
    fi
    if [ ! -f lthuni.enc ]; then \
    ln -s ./lthuni.enc lthuni.enc; \
    fi
    afm2tfm garuda.afm -v garuda.vpl -T lthuni.enc rgaruda.tfm \
    | sed “s/$/ > thai.map
    vptovf garuda
    This is VPtoVF, Version 1.5 (MiKTeX 2.6)
    Usage: vptovf VPLFILE VFFILE TFMFILE
    make[1]: *** [garuda.tfm] Error 1
    rm garuda.vpl
    make[1]: Leaving directory `/cygdrive/d/thailatex/fonts’
    make: *** [install-recursive] Error 1

  12. Unnefer: ใน cygwin ให้ลง tetex ด้วยครับ (ขอโทษทีไม่
    ได้บอกไว้แต่แรก–ลืมคิดว่าต้องลงด้วย)

    วิธีลงก็เรียก cygwin setup ขึ้นมาเลือก mirror ที่ใกล้ที่สุด
    เข้าไปที่ Publishing แล้วเลือก tetex เลือกเอาเฉพาะ
    tetex, tetex-base กับ tetex-bin ก็พอ

    ปัญหาก็น่าจะหมดไปครับ

  13. ได้แล้วครับ ขอบคุณมากครับ ขอไปหัดใช่ก่อนครับ

  14. Pingback: LyX กับภาษาไทย « LaTeX and MATLAB for Thai people

  15. ขอบคุณค่ะ เป็นประโยชน์มากเลยค่ะ ลองทำตามดูแล้วได้เลย

  16. ลงตามข้างบนมาถึง make แล้ว มี error
    make[1]: *** [kinnari.tfm] Error 1
    ครับ ทำไงต่อดีครับ
    หรือว่า ไม่ได้ดาวน์โหลด make จาก Cygwin มาครับ

  17. ได้แล้วครับ 🙂 แต่ว่า ผมใช้ TeXnicCenter เป็นตัว editor ตอนพิมพ์มันเป็นภาษาต่างดาวแต่รันแล้วเป็นภาษาไทย ครับ มีeditor ที่เห็นตอนพิมพ์เป็นภาษาไทยแนะนำไหมครับ หรือผมต้องทำอะไรเพิ่มอีก

  18. Koei: เท่าที่ใช้ดู Texmaker ก็ไม่ขี้เหร่ครับ ปกติผมจะใช้ editor สองตัว
    เช่นใช้ Texmaker ในการสร้างไฟล์ภาษาไทย .ttx แล้วใช้ WinEDT เป็น
    ตัวจัดการไฟล์ tex

    เพราะ Texmaker ทำโปรเจ็คใหญ่ไม่สะดวกนัก ส่วน WinEDT กดปุ่ม
    เดียวจัดการให้หมด เสียอย่างเดียวที่ WinEDT นั้นไม่ฟรี ราคาหลักพัน
    แพงอยู่เหมือนกัน

  19. ท่านใดมีเทมเพลต latex สำหรับพิมพ์ วิทยานิพนธ์ภาษาไทย แนะนำด้วยครับ เพราะปวดหัวเหลือเกินกับรูปแบบของบัณฑิตวิทยาลัย ได้ style บรรณานุกรมด้วยยิ่งเป็นพระคุณอย่างสูงครับ

  20. editor ที่ดีอีกตัวคือ EditPlus ใช้แล้วไม่มีปัญหาครับ รัน latex ก็ใช้ cmd สะดวกมากๆ

  21. ผมอยากพิมพ์ข้อสอบที่มี 2 คอลัมในหนึ่งหน้ากระดาษคับ ผมจะตั้งค่าอย่างไรให้กับ latex ครับ

    • mercedesbenz:

      \documentclass[twocolumn]{xxxx}

      xxxx = report, article หรือ book

      หรือในเอกสาร ตรงบริเวณที่ต้องการให้เป็น 2 columns ก็
      \twocolumn เปลี่ยนกลับก็ \onecolumn

      หรือใช้
      \usepackage{multicol}
      และในเอกสาร

      \begin{multicols}{2}
      ิบลา บลา
      \end{multicols}

  22. ขอความกรุณาแนะนำ วิธีลง make ใน cygwin ด้วยครับ
    ขอบคุณครับ

  23. ราคา winedit Personal Version
    Educational US $40
    Business/Govt US $70
    Student US $30
    เงินไทยก็คูณประมาณ 33.18บาท/US $ (25/11/09)

    Educational 1327.13บาท
    Business/Govt 2322.48บาท
    Student 995.35บาท

    ราคาขนาดนี้พอรับได้กันไหมครับ ผมว่าถ้าเป็นอ.ที่ทำผลงานบ่อยๆนี้ก็คุ้มนะ
    มีใครเคยซื้อมาใช้ไหมครับ เพราะกำลังสนใจอยู่ สงสัยว่าแบบ Educational นี้ต้องซื้อในนาม สถานศึกษาหรือปล่าว

    ที่มาราคา http://www.winedt.com/

    • ผมซื้อครับ ซื้อไว้ตั้งแต่ปี 1999 แล้วก็อัพเกรดฟรี แต่เวอร์ชัน 6.0 คุณ Alex จะขอเก็บเงินเพิ่ม แต่ตอนนี้คุณ Alex ป่วยเป็นมะเร็งผิวหนัง การพัฒนาเลยช้ามาก ๆ อย่างไรก็เอาใจช่วยให้หายไว ๆ ครับ ถ้าคิดจะซื้อจริง ๆ ตอนนี้คุณ Alex ก็จะมีกำลังใจครับ

      จริง ๆ TeXMakerx (ตัวที่มี x) นั้นดีกว่า WinEDT ในหลายเรื่องครับ แพ้อยู่เรื่องเดียวที่ไม่มีภาษา script อีกตัวที่น่าสนใจคือ TeXworks ซึ่งอยู่ในช่วงเริ่มต้น แต่พัฒนาเร็วมากครับ

  24. มันมีให้เลือก Install อยู่ 3 แบบ ก็เลือกแบบ from local directory
    แล้วมันขึ้น setup.exe has encountered a problem and need to close. We are sorry for the inconvenience.

    “”

    รายละเอียด error ที่เข้าไปดู แล้วพอกด close ก็ไม่ run ต่อ เป็นแบบนี้ทุกครั้งเลยคะ ไม่รู้ว่าต้องลงตัวไหนก่อนอีกรึป่าว ถึงจะลงตัวนี้ได้

  25. เลือกติดตั้งจาก internet นะครับ กรณี from local directory หมายความว่าเราคัดลอกแผ่นติดตั้งไว้ในเครื่องเรา หรือเมื่อได้ทำการติดตั้งครั้งแรกแล้ว เราจะมี cap ไฟล์อยู่ในเครื่องเรา เราสามารถคัดลอกไปติดตั้งยังเครื่องอื่น ๆ ได้ โดยไม่ต้องโหลดจาก internet อีก

    ตัว cygwin.exe นั้นเป็นแค่ส่วนติดต่อกับผู้ใช้ เพราะให้ผู้ใช้เลือกตัวเลือกในการติดตั้งเท่านั้น

  26. เรียนถามคนที่ใช้ Latex Thai คับ
    ปกติผมก็ใช้งาน Latex Thai กับ MikTex ด้วยวิธีการติดตั้งคล้ายๆ
    กับรายละเอียดข้างบนคับ ผมใช้กับ Windows XP แต่เคยลองกับ
    Vista และล่าสุดกับ Windows 7 ปรากฎว่าคอมไพล์ latex ที่มีภาษาไทย
    ไม่ได้ มันขึ้น error ผมไม่ติดใจแกะ error นี้เพราะเดาว่าเป็นเพราะ Vista
    หรือ Windows 7 คือพอกลับมาเป็น XP ทุกอย่างก็ปกติ ก็เลยมีคำถาม
    ว่าตกลง Latex Thai กับ MikTex นี่ใช้บน Vista หรือ Windows 7
    ไม่ได้ใช่หรือเปล่าคับ??? ถ้ามีใครใช้อยู่ผมจะได้เริ่มต้นติดตั้งบน
    Windows 7 ใหม่อีกครั้ง
    ขอบพระคุณคับ
    :D:D:D

    • ผมว่าน่าจะแกะ error นะครับ ถ้า error มาจาก swath หรือจาก miktex ก็แก้ได้ง่ายมาก

      ถ้าคุณ srikaewa เป็นธุระในการทดสอบกับ Windows 7 ก็จะดีมากครับ เพราะถ้ามีปัญหาตรงจุดไหน ก็จะได้รายงานคนเขียนโปรแกรมได้ครับ

  27. ผมใช้ Notepad++ version 5.0.2 เวิร์คมากเลยครับ สามารถสั่งรัน ได้ด้วย short cut คีย์ที่สร้างขึ้นเอง และเปิดไฟล์ output ได้ด้วย แต่ตอน จะใช้ swath ยังต้องใช้ คอมมานไลน์ อยู่
    ยังหาวิีธีทำให้รัน อัติโนมัติอยู่
    มีท่านใด ใช้แบบ Notepad++ บ้างหรือปล่าว รบกวนแนะนำด้วยครับ

  28. ผมใช้ miktex2.8 ลง ThaiLatex ตามวิธีข้างบน ตรวจสอบไฟล์ต่างๆ แล้วมีครบ แต่ใช้ font ของ window ไม่ได้ครับ ใช้ได้แต่ font ของ LaTex เช่น norasi, kinari
    ลองใช้ font browallia แล้วเปิดไฟล์ DVI ด้วย Yap มันบอกว่าไม่สามารถโหลด zbrowallia ได้ครับ

    ลองเอาไฟล์ตัวอย่าง Test_thaifont1 มาลองดูก็เหมือนกันครับ Yap ไม่สามารถโหลด font ของ window ได้ครับ
    ขอคำชีแนะด้วยครับ

    • chai> ปกตินะครับ แพ็กเกจ thailatex ของคุณเทพพิทักษ์ไม่ได้ใส่ฟอนต์ของวินโดวส์ไว้ครับ มีปัญหาเรื่องลิขสิทธิ์

      ลองติดต่อภาควิชาฟิสิกส์ที่สุรนารีดูครับ

      • ขอบคุณครับ สงสัยคงต้องใช้ เท่่าที่ผู้ใจบุญ ทำไว้ให้

  29. ไม่สามารถหา package “make” and ” tetex” ใน Cygwin ได้ครับ
    พยายามหาตอนที่ install package ก็หาไม่เจอ ช่วยตอบด้วย
    เป็นไปได้ไหมครับว่า ตอนนี้ Cygwin อัฟเดท version แล้ว

    • ลิงค์ตายไปซะแล้วครับ ผมมือใหม่ยังไม่สามารถหา tetex package ในขั้นตอนการ install package ได้ครับ รบกวนช่วยด้วยครับ

      • ไม่ตายนะครับ กดตามข้างบนได้เลย อย่างไรก็ตาม tetex ไม่ทำต่อแล้วครับ ให้ใช้ texlive แทน

  30. มีใครทดสอบบนแมคมั้ยครับ ผมพยายามหาวิธีที่จะใช้กับ MacTex 2010

    ขอบคุณครับ

  31. ใช้กับ Miktex 2.9 ไม่ได้เหรอครับ
    ผมใช้ miktex 2.9 อยู่
    ลองทำตามวิธีข้างบน
    ปรากฎว่า Texmaker แสดงตัวฟอนท์ออกมาครับ
    แต่ข้อความไม่ตรงกับที่พิมพ์ไว้

    แก้ไขอย่างไรดีครับ

      • ปํญหาเดียวกันครับ คือ เวลา compile แล้ว ส่วนที่เป็นภาไทย
        กลายเป็น ธธธ่าธธธาา ทำนองนี้ครับ encoding ผิด ต้องไปแก้ไขที่ตรงไหนอย่างไรครับ ขอบคุณ

      • ถ้าใช้ texmaker แก้ที่ตัว editor ครับ ตั้งค่า encoding ให้ถูก เช่นแก้ utf8 เป็น tis-620 จากนั้นปิดแล้วเปิด texmaker ใหม่ ภาษาไทยตรงไหนผิดต้องลบแล้วไล่พิมพ์ใหม่ด้วยนะครับ

  32. ช่วยด้วยค่ะ…
    ทำถึงข้อ 7 แล้ว แต่ไม่มี thai.map ใน floder ตามที่บอกเลยค่ะ
    แถมฟอนต์มีแค่ .afm อันเดียวเองค่ะ T_T
    ไม่ทราบว่าเกิดผิดพลาดตรงไหน/อะไรขึ้นคะ? ><

  33. มีปัญหาเดียวกันกับ JIB ครับ
    ให้ข้อมูลเพิ่มเติมนะครับ คือตอนที่รัน make install ก็เหมือนกับว่ามัน install ให้เรานะครับ แต่ถ้าดูรายละเอียดที่แสดงจะพบข้อความดังนี้ครับ(แค่ตัวอย่าง)
    Making all in babel
    make[1]: Entering directory `/cygdrive/c/thailatex/babel’
    make[1]: Nothing to be done for `all’.
    make[1]: Leaving directory `/cygdrive/c/thailatex/babel’

    จะเป็นแบบนี้ทุกอย่างเลย เน้น “nothing to be done for all”
    ใครแก้ปัญหาได้ ขอความกรุณาด้วยนะครับ

Leave a reply to tsvhh Cancel reply