วันจันทร์, มิถุนายน 04, 2550

วิธีลง thailatex for Mac OS X

เวอร์ชั่นที่ใช้ก็คือ
- thailatex 0.3.7 Released (ออกวันที่ 27 มีนาคม 49)
- swath 0.3.1 Released (ออกวันที่ 28 มีนาคม 49)
swath ตัวนี้เป็น released ตัวแรกของเค้าเลยครับ สมัยก่อนต้อง cvs หรือไม่ก็ดูดจาก ftp เอา

การจะทำให้ latex ใช้ภาษาไทยได้นั้น ขึ้นตอนหลักจะมีอยู่สองส่วนนะครับคือลงโปรแกรมตัดคำ กับลง package ภาษาไทย
ในส่วนนี้จะขอข้ามขั้นตอนการติดตั้ง latex นะครับ ถ้าอยากทราบไปดูของเก่าเอาครับ Setup thailatex on Mac OS X

ขั้นตอนแรกก็คือการลงโปรแกรมตัดคำครับ
โปรแกรมตัดคำที่ผมรู้ว่ามีใช้กันมีอยู่สองตัวครับ ตัวแรกคือ cttex ส่วนตัวที่สองก็ swath ซึ่งเป็นตัวที่ผมใช้อยู่
ขั้นตอนการลง swath ไม่ค่อยยุ่งเท่าไรครับ เริ่มด้วยการ download จากเว็บของ TLWG ซึ่งเป็นกลุ่มที่พัฒนา thailatex ขึ้นมาครับ หรือจาก ที่นี่ ครับ

หลังจาก download เสร็จแล้วก็เปิด terminal เลยครับ
ก่อนอื่นก็ cd เข้าไป directory ที่ download มาก่อน
สมมติว่าเข้าแล้วนะครับ ก็พิมพ์ตามนี้เลยครับ (อย่าเผลอไปพิมพ์ตัว $ เข้าล่ะครับ)

$ tar xfz swath-0.3.1.tar.gz
$ cd swath-0.3.1
$ ./configure
$ make
$ sudo make install

ลงเสร็จแล้วววว swath (ง่ายจัง) เจ้าตัว swath นี้ถ้าเราไม่กำหนดออพชั่นให้ตอน ./configure มันก็จะไปลงที่ประจำของโปรแกรมมันครับคือ /usr/local

ทดลองว่าใช้งานได้หรือเปล่าโดยลองพิมพ์

$ swath -h

ถ้าใช้ได้ก็คือว่าประสบความสำเร็จครับ ไปลง package thailatex กันต่อเลย


สำหรับคนที่พิมพ์แล้วมันขึ้นว่า command not found
ต้องเพิ่ม path กันนิดหน่อยเพราะตอนลงมันจะเอาไปไว้ที่ /usr/local/bin/swath ซึ่งตามปกติแล้ว Mac มันจะไม่เพิ่ม /usr/local/bin เอาไว้ในตัวแปร PATH เราก็เลยต้องมาเพิ่มกันเอง (ซึ่งบางคนอาจจะมีอยู่ในตัวแปร PATH แล้ว)

วิธีก็คือต้องไปแก้ไฟล์ .profile ที่อยู่ใน home directory ของเราครับ โดยเพิ่มบรรทัดนี้เข้าไปครับ
export PATH=$PATH:/usr/local/bin
เซฟเสร็จก็ปิด terminal แล้วเปิดใหม่ขึ้นมา ก็ใช้ได้ครับ


ขั้นตอนที่สองคือลง package ภาษาไทย (thailatex) ครับ
ตัวนี้จะเป็นชุดภาษาไทยที่ทำให้ latex สามารถใช้ภาษาไทยได้นะครับ ซึ่งในเวอร์ชั่นนี้จะมีฟอนท์ใหม่เพิ่มขึ้นมาก็คือฟอนท์โลมา โดยวิธีที่ผมใช้จะเป็นการลง thailatex ให้ใช้ได้เฉพาะกับผู้ใช้แต่ละคน ซึ่งก็หมายความว่าในเครื่องมีหลาย user ที่ใช้ thailatex ก็ต้องมาลงกันเองทุกคน (ยกเว้น swath นะครับเพราะอันนั้นลงแล้วใช้กันได้ทุกคน)

วิธีการติดตั้ง thailatex ค่อนข้างยาวนะครับ เนื่องจากมันลงตามปกติแล้วมันจะใช้ไม่ได้ เลยต้องเอามาพลิกแพลงกันเสียหน่อย ซึ่งในที่นี้ผมจะเอา package ที่ผมดัดแปลงแล้วมาใช้ครับ เร็วดี

เริ่มต้นด้วยการ download ไฟล์ package ที่ผมจัดแล้วมาเลยครับ

จากนั้นก็แตกไฟล์เอาไปไว้ใน Library ของเราเลยครับ ด้วยคำสั่ง

$ tar xfz texmf_home.tgz -C $HOME/Library/

ต่อด้วการสร้าง ls-R ที่เป็น list file ทั้งหมดใน $HOME/Library/texmf ครับ ด้วยคำสั่ง

$ texhash

สุดท้ายคือการทำให้ latex มันรู้ว่า เราลงภาษาไทยแล้วนะ ด้วยคำสั่ง

$ updmap --enable Map=$HOME/Library/texmf/fonts/map/thai.map

เสร็จสิ้นกระบวนการ ใช้ได้แล้วครับ


ส่วนวิธีเอา thailatex ออกนั้น สามารถทำได้โดยการ directory ที่เราเอามาลงครับ ซึ่งได้แก่

$HOME/Library/texmf
$HOME/.texmf-var
$HOME/.texmf-config

สังเกตว่าจะมี .texmf-var กับ .texmf-config เพิ่มขึ้นมา ซึ่งจะสร้างขึ้นมาตอนที่เราพิมพ์คำสั่ง updmap ครับ

วันพฤหัสบดี, มีนาคม 15, 2550

วันนี้ลองไปค้นหา tools ใหม่ๆ ของ google ปรากฎว่ามาเจอ Google Dashboard Widgets for Mac เลยลองใช้ดูซักหน่อย ลองเข้าไปดูแล้วมีอยู่ 3 อย่างให้ลองเล่นก็คือ Blogger เอาไว้เขียน blog ของ google ผ่าน Dashboard widget, Gmail เอาไว้เช็คอีเมลล์, และสุดท้าย Search History แต่ที่น่าสนใจเล่นนี่เป็น Blogger กับ Gmail แต่พอลองเขียนไปแล้วปรากฎว่าเคอเซอร์มันเพี้ยนๆ ชอบกล สงสัยจะเป็นเพราะภาษาไทย สรุปแล้วก็ยังไม่ค่อยถูกใจเท่าไร แถมตอนนี้ blogger upgrade ใหม่อีก พอกด upgrade แล้ว ปรากฎว่า Blogger widget ก็ใช้ไม่ได้ซะแล้ว - -' อะไรของมันเนี่ย

วันพฤหัสบดี, ตุลาคม 05, 2549

ยำ PDF หลายไฟล์เข้าเป็นไฟล์เดียว (PDF merge)

เป็นการนำไฟล์ PDF หลายๆ ไฟล์มาประกอบร่างเข้าเป็นไฟล์ PDF ไฟล์เดียว

การยำด้วยวิธีนี้เป็นการใช้คำสั่งด้วยโปรแกรม Ghostscript (คำสั่ง gs) ให้นำไฟล์ PDF มาตัดต่อทางพันธุกรรมเกิดเป็น PDF ตัวใหม่ คำสั่งจำยากหน่อยแต่ใช้ได้ดีทีเดียว

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-sOutputFile=merged.pdf source1.pdf \
source2.pdf [source3.pdf source4.pdf ...]


สำหรับอาร์กิวเมนท์ที่ใส่ก็ได้แก่
-q (quiet) ให้มันเงียบๆ หน่อยไม่ต้องร้องข้อความออกมาเยอะแยะ
-dNOPAUSE ให้มันทำงานไปเรื่อยๆ ไม่ต้องมาหยุดทีละหน้า
-dBATCH เวลาแปลงเสร็จจะให้ออกจาก gs ทันที
-sDEVICE=pdfwrite เลือกเขียนออกมาเป็น PDF ไฟล์
-sOutputFile=merged.pdf ให้ไฟล์ที่ต้องการรวมอยู่ในชื่อ merged.pdf
ที่เหลือจากนี้ก็เป็นไฟล์ที่จะเอาเข้ามายำเข้าด้วยกัน ใส่เข้าไปเรื่อยๆ จนกว่าจะพอใจเลยครับ

วันเสาร์, พฤษภาคม 20, 2549

New thailatex (0.3.7) and swath (0.3.1)

วันนี้ลองเข้ามา update blog ซะหน่อย หลังจากที่ไม่ได้มาเขียนเพิ่มเลยหลายเดือน - -' ซึ่งก็ได้ไปแก้ไขวิธีการติดตั้ง thailatex อันเก่านิดนึง (จริงๆ แล้วคนก็ไม่ค่อยได้เข้ามาดูซักเท่าไรเลย ไปดูใน HPC กันหมด สงสัยจะตั้งชื่อหัวข้อไม่ดี google เลยหาไม่เจอ)

ไหนๆ ก็เข้ามาแก้แล้วก็ลองเข้าไปดูในเว็บของ thailatex เสียหน่อย... ไม่ได้เข้าไปเสียนาน มีเวอร์ชั่นใหม่แล้วเหรอเนี่ย แถม swath ก็ออกมาเป็น release แล้ว ค่อย download ง่ายหน่อย ไม่ต้องมาจับรวมเองเมือนแต่ก่อน

ลองทดสอบไฟล์ swath ตัวใหม่บน Mac OS X แล้ว ปรากฎว่าหลังจาก tar ออกมาแล้วมันจะมีไฟล์ configure มาให้เลย ไม่ต้องมา autogen.sh เพื่อสร้างไฟล์ configure เหมือนแต่ก่อน พอลอง configure ก็ผ่านฉลุย make แล้วก็ make install ได้เลย ไม่เจอปัญหาเลย เยี่ยมจริงๆ

แต่ว่า... พอเอามาทดลองกับ FreeBSD มันใช้ไม่ได้แฮะ configure ผ่านแต่ดัน make ไม่ผ่าน สงสัยว่า FreeBSD คงไม่มีบุญได้ใช้เป็น binary ของตัวเองซะแล้ว ต้องพึ่ง linux mode อีกตามเคย

เอาไว้ค่อยลอง thailatex ตัวใหม่กับ OS X ดูดีกว่า

วันพุธ, พฤศจิกายน 23, 2548

LaTeX comment tips

Comment

In addition to the built-in latex comment command %, I always define a comment command that can deal with comments spanning line breaks.

in the preamble:
\newcommand{\comment}[1]{}

usage example:
\comment{This is a comment and it won't show up in the output even if it spans more than one line of the input file or the line breaks move around.}

You can also use conditional comments, shown here being used to allow commenting out all figures (very useful for faster previewing).

in the preamble:
\usepackage{ifthen}
\newboolean{includefigs}
\setboolean{includefigs}{true}
\newcommand{\condcomment}[2]{\ifthenelse{#1}{#2}{}}

usage example:
\condcomment{\boolean{includefigs}}{
\begin{figure}
....
\end{figure}
}


From http://www.me.berkeley.edu/~mcmains/latex.html

วันศุกร์, สิงหาคม 19, 2548

เอาเพลงออกจาก iPod แบบง่ายๆ ฉบับ Macintosh

จากบทความของคุณ IIIxe_user ที่ Freemac dot NET ตาม link นี้ครับ เอาเพลงออกจาก iPod แบบง่ายๆ ที่บอกวิธีเอาเพลงจาก iPod ทาง Windows ผมเลยมาลองทำบน Mac ดูก็ปรากฎว่าทำได้เหมือนกันครับ

ปล. วิธีนี้พิเศษเฉพาะผู้ใช้ Macintosh เท่านั้นนะครับ Windows หมดสิทธิ <- : ) ขอเลียนแบบหน่อยครับ

เริ่มกันตั้งแ่ขั้นตอนแรกครับ คือต้อง set ให้ iPod ใช้งานเป็น disk storage เสียก่อนโดยการเปิด iTunes ขึ้นมาแล้วไปที่เมนูนี้ครับ



แล้วเข้าไปที่แท็บของ iPod จากนั้นให้เลือก Enable disk use ที่อยู่ด้านล่างสุด



แล้วก็กด ok จากนั้นก็ปิด iTunes ได้เลยครับ

ขั้นต่อไปก็เปิด terminal ขึ้นมาเลยครับ
สาเหตุที่ต้องเปิด terminal ก็เพราะว่า directory ที่เก็บเพลงของ iPod ไม่สามารถมองเห็นได้ตามปกติเหมือน directory ครับ เลยต้องเล่นเทคนิคเล็กน้อย

เมื่อเปิด termainal ขึ้นมาก็เริ่มต้นด้วยการพิมพ์คำสั่งนี้ครับ
cd /Volumes/
จากนั้นลองดูไฟล์โดยใช้คำสั่ง ls ซึ่งก็จะเห็น iPod อยู่ในรายการด้วยครับ ซึ่งชื่อ directory ของ iPod ก็จะเป็นตามชื่อของ iPod ครับ


กดคลิกที่รูปเพื่อดูภาพใหญ่ได้นะครับ

จากนั้นก็ตะลุยเข้าไปใน directory ที่เก็บไฟล์เพลงกันเล้ย

เข้าไปยังจุดหมายโดยใช้คำสั่งตามนี้เลยครับ
cd <ชื่อ iPod>/iPod_Control/Music/
จากนั้นก็ลองใช้คำสั่ง ls ดูอีกรอบก็จะพบเป็น directory เก็บเพลงล่ะครับ


เพลงที่เก็บอยู่ใน directory ดังกล่าวส่วนมากจะถูกเก็บอยู่ใน directory ต้นๆ ครับ ซึ่งเจ้าตัว iPod ของผมมันเก็บแต่ F00 - F05 นอกนั้นไม่มีไฟล์อยู่

สำหรับการเอาเพลงออกมาก็มีสองทางให้เลือกครับ
1. copy ด้วยคำสั่ง cp หรือ
2. ทำ symbolic link ไปที่ directory เก็บเพลง (เหมือนการทำ shotcut นั่นแหละครับ)

วิธีที่ 1. copy ด้วยคำสั่ง cp
อันนี้จะลองตัวอย่างโดยการ copy directory F00 ไปวางไว้บน desktop นะครับ
cp -R F00 ~/Desktop/
cp -R F01 ~/Desktop/
cp -R F02 ~/Desktop/
...

วิธีที่ 2.
วิธีนี้จะไม่ใช้การ copy ไฟล์ออกมาครับ แต่จะแค่ทำ link ไปหา directory ที่เก็บเพลงเท่านั้น เริ่มด้วยคำสั่ง
ln -s /Volumes/<ชื่อ iPod>/iPod_Control/Music/F00 ~/Desktop/
ln -s /Volumes/<ชื่อ iPod>/iPod_Control/Music/F01 ~/Desktop/
ln -s /Volumes/<ชื่อ iPod>/iPod_Control/Music/F02 ~/Desktop/
...
ซึ่งวิธีนี้สามารถลบ link ได้เมื่อไม่ใช้งานแล้วได้โดยไม่กระทบต่อข้อมูลใน iPod แต่อย่าไปลบไฟล์เพลงที่อยู่ใน link เข้าล่ะครับ

ซึ่งไม่ว่าจะทำวิธีที่ 1 หรือ 2 ก็จะพบว่าบน desktop จะมี directory F00 อยู่เหมือนกันครับ
รูปข้างล่างเป็น directory ที่เกิดจากการทำ symbolic link ครับ


จากนั้นท่านจะทำอะไรต่อก็แล้วตามสบายเลยครับ

วันจันทร์, สิงหาคม 15, 2548

วิธีการติดตั้ง Thai TrueType Font บน X11

สร้าง directory สำหรับเก็บ TrueType Font ขึ้นมาชื่อ ThaiTTF
นำไฟล์ TTF ที่ต้องการใช้ copy ไปไว้ใน directory ThaiTTF
ทำการย้าย directory ThaiTTF เข้าไปไว้ใน /usr/X11R6/lib/X11/fonts/

เข้าเป็น root แล้วเข้าไปไปใน directory /usr/X11R6/lib/X11/fonts/ThaiTTF
รันคำสั่ง mkfontscale ตามด้วยคำสั่ง mkfontdir เพื่อสร้าง file font list เป็นอันจบกระบวนการ

ส่วนเรื่องที่ว่าจะหา font ได้จากไหนนั้น ถ้าเอาแบบง่ายสุดก็เอา TTF จากใน Windows นั่นแหละครับ

วิธีติดตั้งนี้ได้นำมาใช้งาน X11 ของ Linux, FreeBSD แล้วสามารถใช้งานได้เป็นอย่างดีโดยที่ไม่ต้องทำการ restart X เลยครับ
Setup thailatex on Mac OS X
ในการติดตั้ง thailatex จะแบ่งออกเป็นสองส่วนคือ
1. ติดตั้งส่วนของรูปแบบภาษาไทยที่จำเป็นต้องใช้สำหรับ LaTeX เช่น fonts, babel ปัจจุบัน thailatex เป็นเวอร์ชั่น 0.3.5.1 (2005-07-03)
2. ติดตั้งโปรแกรมตัดคำภาษาไทย เนื่องจาก LaTeX ไม่สามารถตัดคำที่เป็นภาษาไทยได้ จึงต้องใช้โปรแกรมช่วยในการแยกระหว่างคำไม่ให้ตัวหนังสือยาวเกินหน้ากระดาษ โปรแกรมตัดคำภาษาไทยที่ใช้คือ swath

Thai LaTeX setting for teTeX 3
ติดตั้ง teTeX 3 โดยใช้ Fink หรืออาจติดตั้ง FinkCommander เพื่อง่ายในการติดตั้ง teTeX
(ก่อนลง teTeX ต้องลง X11 ด้วยเพราะ teTeX ต้องการ library X ซึ่งมีในแผ่นที่มากับเครื่อง Mac)

ขั้นตอนแรก ติดตั้ง thailatex
ติดตั้ง teTeX จาก Fink เสร็จให้ download ไฟล์ thailatex มาไว้ที่เครื่อง (ไฟล์นี้เป็นไฟล์ที่ผมทำการจัดรูปแบบให้เข้ากับ teTeX 3 แล้ว โดยนำมาจาก thailatex เวอร์ชั่น 0.3.5.1 เนื่องจากถ้าเอา thailatex ต้นฉบับมา compile เองจะยุ่งยากมาก)

ทำการแตกไฟล์ texmf_home.tgz ออกมาจะได้เป็น directory ชื่อว่า texmf

ทำการย้าย directory texmf ไปไว้ใน $HOME/Library เช่น User ชื่อ Apple ก็ให้ย้าย texmf ไปไว้ใน /Users/Apple/Library/

สำหรับขั้นตอนการแตกไฟล์ texmf_home.tgz และย้ายไฟล์สามารถทำได้ในขั้นตอนเดียวโดยใช้คำสั่ง
$ tar xfz texmf_home.tgz -C $HOME/Library

เข้า terminal แล้วรันคำสั่ง texhash เพื่อทำการสร้าง list file ทั้งหมดที่อยู่ใน $HOME/Library/texmf โดยเก็บในไฟล์ ls-R

จากนั้นทำการ run คำสั่ง updmap --enable Map=$HOME/Library/texmf/fonts/map/thai.map เพื่อสร้าง map font list ให้ LaTeX รู้จัก font ไทยและ thai babel

ในขั้นตอนแรกนี้ก็สามารถใช้งาน LaTeX ภาษาไทยได้แล้ว แต่ยังมีปัญหาเรื่องการตัดคำ
ส่วนวิธีการใช้ LaTeX อ่านได้จากเว็บของ Thai LaTeX

ขั้นตอนที่สอง ติดตั้งโปรแกรมตัดคำ swath (ก่อนติดตั้ง swath ต้องลง Xcode ก่อนเพื่อใช้ในการ compile swath)
ทำการ download swath มาไว้ที่เครื่อง
จากนั้นให้ลง package ชื่อ libtool14 โดยใช้ Fink เพื่อใช้ในการ compile swath
หลังจาก download source code ของ swath และติดตั้ง package libtool14
แล้วให้รัน script autogen.sh ทาง terminal เพื่อทำการสร้างไฟล์ configure
ทำการ compile swath โดย พิมพ์คำสั่งดังนี้

$ ./configure
$ make
$ make install

โดยคำสั่ง swath จะถูกติดตั้งใน /usr/local/bin

วิธีใช้คำสั่ง swath ในการตัดคำภาษาไทย
$ swath -f latex < latex_file.tex > latex_file_swath.tex
โดยที่ไฟล์ latex_file.tex เป็นไฟล์ต้นฉบับที่เราสร้างขึ้น และไฟล์ latex_file_swath.tex เป้นไฟล์ที่ผ่านการตัดคำด้วย swath แล้ว
หลังจากนั้นค่อยเอาไฟล์ latex_file_swath.tex ไปใช้สำหรับคำสั่ง latex ต่อ