ThaiLaTeX 0.4.3 Released
ThaiLaTeX 0.4.3 ออกแล้ว โดย feature สำคัญในรุ่นนี้คือ การรองรับ UTF-8
การเปลี่ยนแปลงอื่น ๆ ก็เช่น:
- ปรับฟอนต์ตาม ThaiFonts-Scalable 0.4.13 ซึ่งมีการปรับปรุงมาหลายรุ่น
- ฟอนต์ ttypist ตัวหนา หนาขึ้น อันเนื่องมาจากการปรับรุ่นฟอนต์
- ฟอนต์ purisa มีตัวเอียง ตัวหนา และหนาเอียงแล้ว อันเนื่องมาจากการปรับรุ่นฟอนต์เช่นกัน
- ฟอนต์ monospace ปริยาย เปลี่ยนจาก ttype (TlwgTypewriter) มาเป็น ttypist (TlwgTypist) แล้ว
- ตัดคำสั่ง '
\thai
' ออกแล้ว คำสั่งนี้เดิมมีไว้เพื่อ backward compatibility กับ thailatex_component รุ่นโบราณเท่านั้น แต่เมื่อใช้ Babel แล้ว จะใช้ '\thaitext
' แทนอยู่แล้ว ตาม convention
ออกแล้วก็ upload เพิ่มอีกสองที่ คือที่ Debian และ CTAN สำหรับ Debian นั้น จะเข้า sid รอบบ่ายสามวันนี้ รอชมได้ที่ mirror ใกล้บ้านท่าน ส่วน CTAN นั้น ต้องรอ admin เขาจัดการให้
คาดว่าคงไม่ทัน Ubuntu Karmic เพราะผ่าน Debian important freeze ไปนานแล้ว และผมยังไม่มีเหตุอันควรที่จะขอให้ sync จาก Debian ในตอนนี้ (มี MOTU คนไทยก็ดีสิ จะได้ช่วยกันได้ในเรื่องนี้)
ป้ายกำกับ: latex
15 ความเห็น:
ณ 28 กรกฎาคม 2552 เวลา 21:28 , Beamer User แถลง…
ไม่แน่ใจนักนะครับว่าบางฟอนต์มีปัญหาหรือเปล่า ยังไม่มีเวลาทดสอบมากมายนัก
ผมใช้ pdflatex มีปัญหากับฟอนต์ kinary, waree, sawadee คือรันไม่ผ่านเลย
ณ 28 กรกฎาคม 2552 เวลา 21:38 , Beamer User แถลง…
ส่วน utf8 บน texmaker แจ้งเตือนว่าไม่รู้จักอักษรภาษาไทยครับ
ทดสอบบน windows นะครับ
ณ 28 กรกฎาคม 2552 เวลา 22:49 , Thep แถลง…
Makefile มันยังไม่ค่อยเวิร์กนะครับ สำหรับการ install ผมต้องพึ่งพา trigger ของ texlive ใน Debian เป็นหลักเหมือนกัน หลังจาก make install แล้ว อาจต้องทำอะไรเพิ่มเองอีก
ณ 29 กรกฎาคม 2552 เวลา 01:23 , zodmaner แถลง…
ทำการ Build และติดตั้งได้ไม่มีปัญหาบน Arch Linux นะครับ (ติดตั้งใช้งานกับ TeX Live)
Link: http://aur.archlinux.org/packages.php?ID=25025
ผมยังไม่ได้ลองใช้ฟอนต์อะไรแปลกๆ มากนะครับ (ใช้แค่ \usefonttheme{serif}) แต่เท่าที่ลองใช้ดูก็สามารถใช้ pdflatex สร้าง pdf ไฟล์ออกมาได้ไม่มีปัญหา (ไม่มีเพี๊ยนหรืออะไร)
ในส่วนของ preamble ของผมหน้าตาเป็นอย่างงี๊นะครับ:
\usepackage[thai]{babel}
\usepackage{thswitch}
\usepackage[utf8x]{inputenc}
ณ 29 กรกฎาคม 2552 เวลา 14:02 , Thep แถลง…
บอกไว้ก่อนว่า รุ่นนี้ออกมาเพื่อให้ผู้ใช้ใน debian ได้ทดสอบ UTF-8 support ก่อน ผมเลยไม่ได้พยายามแก้ปัญหาของ Makefile ที่พบ ตอนนี้ก็พยายามตามแก้ละครับ
ล่าสุด commit รายการเปลี่ยนแปลงของ Makefile ไปแล้ว โดยให้เรียก texhash (ความจริงอาจใช้ mktexlsr หรือ texconfig-sys rehash แทนได้เหมือนกัน) ก่อน updmap-sys จากเดิมที่เรียกทีหลัง คิดว่าตอนนี้น่าจะใช้การได้แล้ว
เดิมก่อนออก 0.4.3 ผมได้แก้ตรงนี้ไปครั้งหนึ่งแล้วเหมือนกัน แต่ไม่ได้ commit เพราะทดสอบแล้วไม่ได้ผล.. แต่รอบนี้ พบว่าสาเหตุที่ครั้งนั้นไม่ได้ผล เป็นเพราะยังมี user config ค้างอยู่ใน ~/.texmf-var พอผมเคลียร์ไดเรกทอรีนั้นทิ้ง ก็ปรากฏว่าผ่านฉลุยทุกประการ
ใครลง 0.4.3 จาก tarball หลังจาก make install แล้ว ก็ลองสั่ง updmap-sys ซ้ำอีกที ตามด้วยการลบ user config ที่ ~/.texmf-var ดูนะครับ
zodmaner, ขอบคุณครับที่ช่วย build และแจ้งผล
ณ 29 กรกฎาคม 2552 เวลา 14:10 , Thep แถลง…
zodmaner,
เห็นทำ .install โดยเขียน script แทน sync-thailatex.. สคริปต์นี้ไม่ได้ maintain นานแล้วครับ สงสัยต้องปัดฝุ่นเสียหน่อย ตอนนี้ผมเอา updmap fallback สำหรับ non-root install ออกแล้วใน SVN แต่ยังแก้ไม่หมด เพราะมันยังตรวจสอบไฟล์ที่ไดเรกทอรีเก่ารุ่นก่อนจะมี TDS อยู่
กำลังคิดอยู่ว่า สคริปต์และระบบ make ต่าง ๆ มันชักรก เพราะยังคงโค้ดเก่าที่รองรับ tetex ตัวเก่า (ก่อน texlive) เอาไว้อยู่ เดี๋ยวอาจจะตัด tetex support ไปเลยดีกว่า เพื่อไม่ให้โค้ดซับซ้อนเกินเหตุด้วยครับ
ณ 29 กรกฎาคม 2552 เวลา 15:42 , Thep แถลง…
Update: ผมแก้สคริปต์ sync-thailatex ใน SVN เสร็จแล้ว น่าจะใช้การได้แล้วครับ รวมทั้งตัดการรองรับ tetex รุ่นเก่า ๆ ออกไปด้วย
ณ 29 กรกฎาคม 2552 เวลา 22:27 , zodmaner แถลง…
ความคิดเห็นนี้ถูกผู้เขียนลบ
ณ 29 กรกฎาคม 2552 เวลา 22:34 , zodmaner แถลง…
ขอบคุณมากครับคุณ Thep ผมได้ทำการ package Thailatex เวอร์ชั่น SVN และทำการ build และติดตั้งดูแล้ว เท่าที่ลองพบว่า sync-thailatex ตัวใหม่ใช้งานได้ไม่มีปัญหาครับ :)
Link: http://aur.archlinux.org/packages.php?ID=28852
อย่างไร ก็ดี ผมมีขอเสนอแนะเกี่ยวกับตัว sync-thailatex นิดหนึ่งครับ คือตอนที่เราทำการ remove Thailatex package ออกจากระบบเนี้ย ผมจะทำการ disable thai.map ทุกครั้ง (ไม่งั้น updmap มันจะขึ้น error ว่าหา thai.map ไม่เจอทุกครั้งที่ run) แต่การ remove thai.map โดยใช้ updmap เนี่ยเวลาเรา run updmap --list | grep thai.map มันจะขึ้นว่า #! Map thai.map (จากเดิม: Map thai.map)
ซึ่งมันจะเป็นปัญหา เพราะ sync-thailatex เนี่ยทำการเช็คว่า thai.map ถูก enable หรือไม่โดยการใช้ condition:
if /usr/bin/updmap-sys --quiet --listmaps | grep thai.map >/dev/null;
ซึ่ง condition นี้จะเป็นจริงถึงแม้ว่า thai.map ถูก disable โดย updmap เพราะว่า grep มัน match ทั้ง Map thai.map และ #! Map thai.map
ดังนั้นผมจึงขอเสนอให้เราทำการเปลี่ยน if condition เป็นแบบนี้แทนครับ:
if ! /usr/bin/updmap-sys --quiet --listmaps | grep thai.map | grep '#!' >/dev/null;
โดย ผมได้ทำการ update .install file สำหรับ package thailatex เวอร์ชั่น 0.4.3 (stable) release 3 ให้ใช้ condition อันใหม่นี้แล้ว เท่าที่ลองดูก็ใช้งานได้ดี โดย condition แบบใหม่ที่ผมเสนอสามารถที่จะ detect ว่า thai.map ถูก disable โดย updmap ได้อย่างถูกต้อง ยังไงก็ลองพิจารณาดูนะครับ:
Link: http://aur.archlinux.org/packages.php?ID=25025
ขอบคุณมากนะครับที่สละเวลาให้ แล้วก็ขอบคุณมากนะครับที่พัฒนา ThaiLaTeX :)
ปล. ลืมบอกไปว่า UTF-8 support ใช้งานได้ดีไม่มีปัญหานะครับ
ปล2. "บอกไว้ก่อนว่า รุ่นนี้ออกมาเพื่อให้ผู้ใช้ใน debian ได้ทดสอบ UTF-8 support ก่อน"
อา... งั้นการที่ผมทำการ package Thailatex เวอร์ชั่น 0.4.3 ให้กับ Arch Linux เนี่ยจะเป็นไรไหมครับ? :P
ณ 29 กรกฎาคม 2552 เวลา 23:41 , zodmaner แถลง…
ความคิดเห็นนี้ถูกผู้เขียนลบ
ณ 29 กรกฎาคม 2552 เวลา 23:43 , zodmaner แถลง…
อา ขอโทษทีครับ ผมลอง run if condition ของผมใหม่ดูดีๆ แล้วพบว่ามันมีข้อผิดพลาดอยู่ คือถ้า thai.map ไม่ได้อยู่ใน map list มันจะดันนึกว่า thai.map ถูก enable อยู่แล้วนะครับ
ผมได้เขียนตัว condition ใหม่ขึ้นมาครับ โดย condition ใหม่นี้น่าจะแก้ไขปัญหาที่ว่าได้แล้ว ยังไงก็รบกวนช่วยดูด้วยนะครับ
if [[ $(/usr/bin/updmap-sys --quiet --listmaps | grep thai.map >/dev/null) && ! $(/usr/bin/updmap-sys --quiet --listmaps | grep thai.map | grep '#!' >/dev/null) ]];
ณ 30 กรกฎาคม 2552 เวลา 12:38 , Thep แถลง…
จริงด้วยครับ ผมแก้ด้วยวิธีแทรก grep -v '^#' เข้าไปใน pipeline แบบนี้:
updmap-sys --quiet --listmaps | grep -v '^#' | grep thai.map > /dev/null
แล้วก็แยกโค้ดออกมาเป็นฟังก์ชันเอกเทศ เพราะมีการใช้ซ้ำหลายที่ ทั้งตอน install ด้วย
ตอน install นั้น อาจมีกรณีหลุดรอด ไม่ได้ enable map ได้ เพราะสคริปต์จะ grep แล้วเข้าใจว่า map enable อยู่แล้ว แก้ครั้งนี้ก็แก้กรณีนี้ด้วย
commit เข้า svn แล้วครับ ขอบคุณมากครับสำหรับคำแนะนำ ได้คุณ zodmaner ช่วยนี่ ค่อยรู้สึกมั่นใจในโค้ดมากขึ้นครับ
เรื่องที่บอกว่าออกมาให้ผู้ใช้ debian ทดสอบก่อน ความจริงตั้งใจตอบคุณ Beamer User น่ะครับ ว่า Makefile ผมข้ามไปก่อน หลังจากที่มันเวิร์กใน debian ก็ออกเลย เพื่อให้ผู้ใช้ได้ทดสอบ UTF-8 support ก่อน (หลังจากที่ผมทดสอบเองมาก่อนแล้ว) ถ้าคุณ Beamer User จะช่วยทดสอบบน Windows อาจต้องขอให้ออกแรงเองก่อนนิดหนึ่ง
ส่วนที่คุณ zodmaner ทำใน Arch Linux นี่ เป็นสิ่งที่อยากได้มาก ๆ ครับ เรียกว่าเกินกว่าที่คาดหมายว่าจะได้จากผู้ใช้ debian เสียอีก :)
ณ 30 กรกฎาคม 2552 เวลา 12:52 , Thep แถลง…
เพิ่มข้อสังเกตนิดหนึ่งครับ ว่าในไฟล์ .install นั้น มีการเรียก texconfig-sys rehash แล้วตามด้วย sync-thailatex อาจเป็นการเรียก mktexlsr ซ้ำกันสองหนนะครับ เพราะใน sync-thailatex ก็มีเรียก mktexlsr อยู่แล้ว
ณ 30 กรกฎาคม 2552 เวลา 20:39 , zodmaner แถลง…
ขอบคุณมากที่ช่วยเตือนครับคุณ Thep ผมได้เอา texconfig-sys rehash ออกจาก .install file ของ thailatex-svn package แล้ว
ลองใช้ svn ตัวใหม่แล้วนะครับ ยืนยันว่าตอนนี้ sync-thailatex สามารถตรวจพบว่า thai.map ถูก disable โดย updmap(-sys) ได้อย่างถูกต้องแล้วครับ :-)
แหม่ แต่ผมชอบ condition ใหม่ที่คุณ Thep ใช้จังเลย สั้น-ง่าย-ได้ใจความ (ดูดีกว่าที่ผมเสนอไปเยอะเลย) ยังไงก็ขอยืมไปใช้ใน .install file ของตัว 0.4.3 (stable) หน่อยนะครับ ;-)
ถึงแม้ว่าบน Arch Linux จะมีคนใช้ thailatex ไม่เยอะเท่าไหร่ แต่ผมก็จะทำการ maintain package บนนี้ต่อไปให้ดีที่สุดเท่าที่จะทำได้นะครับ :-)
ปล. เอ ถ้าคราวหน้าผมจะทำการ report bug หรือถามคำถามเกี่ยวกับ thailatex เนี่ย ช่องทางไหนดีที่สุดเหรอครับ?
ณ 30 กรกฎาคม 2552 เวลา 21:32 , Thep แถลง…
ตามสบายเลยครับ โอเพนซอร์สเราหยิบยืมกันอิสระอยู่แล้ว
สำหรับการรายงานบั๊ก ตอนนี้ ระหว่างที่ยังไม่มีระบบ bug tracking ที่ linux.thai.net ก็คงเป็น mailing list thai-linux-foss-devel นะครับ:
http://groups.google.com/group/thai-linux-foss-devel
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก