Windows, coLinux, Xfig

จากเรื่อง Xfig reused นั้น พบว่าผมไม่สามารถหา Xfig เวอร์ชัน 3.2.5 มาใช้งานได้ถึงแม้
จะลองแล้วลองอีก เนื่องจากไม่มีใครสร้าง Xfig 3.2.5 สำหรับ cygwin ไว้ให้ ด้วยเหตุผล
ที่มีมากมาย ก็ทำให้ผมต้องหาวิธีใหม่ ที่นึกได้ก็คือโปรแกรมประเภท Virtual Machine
มาใช้งาน เนื่องจากไม่มีเงินซื้อ vmware มาใช้งาน ก็ต้องหาของฟรีมาใช้ นั่งปล้ำกับของ
ฟรีจาก sun คือ virtualbox อยู่หลายวัน ยังไงก็ไม่สำเร็จถามกว่าจะลงได้ยากเย็นแสนเข็ญ

เผอิญนึกขึ้นได้ว่ามีเพื่อนเก่าที่เคยใช้กันมาอย่าง coLinux และมีคู่มือดี ๆ ที่คุณพูลลาภได้
เขียนเอาไว้ ที่ coLinux 1-6 ก็ดีใจสิครับ แต่เวลาเปลี่ยนอะไร ๆ มันก็เปลี่ยนแปลงไปหมด
สิ่งที่เขียนเอาไว้ก็ใช้ไม่ได้แล้ว ต้องนั่งรวบรวมใหม่ใช้ของเก่าผสมของใหม่ จนสำเร็จนะครับ
ถ้าคุณจะริใช้ Linux บน Windows ผ่าน coLinux แล้วหล่ะก็ คุณจะต้องเตรียม

  1. coLinux 0.7.2
  2. Ubuntu-7.10.ext3.2GB.fs ซึ่งมีคนทำไว้ให้ใช้กับ coLinux (ต้องแตกไฟล์ด้วย
    7-zip)
  3. WinPcap
  4. Xming และ Xming-fonts

ซึ่งทุกอย่างฟรีหมด

การติดตั้งก็เริ่มจาก

  1. ติดตั้ง WinPcap จากนั้นก็
  2. ติดตั้ง Xming และ Xming-fonts
  3. ติดตั้ง coLinux ซึ่งให้คิดตั้งไว้ที่ c:\coLinux จะดีที่สุด
  4. แก้ไขไฟล์ example.conf กรณีผมแก้เป็น ubuntu.conf ซึ่งในไฟล์จะเป็นดังนี้
    kernel=vmlinux
    cobd0=”c:\coLinux\Ubuntu-7.10.ext3.2gb.fs”
    root=/dev/cobd0
    ro
    initrd=initrd.gz
    mem=256
    eth0=tuntap
    exec0=”C:\Program Files\Xming\Xming.exe”,”:0 -clipboard -multiwindow ”
    hda1=root_fs
    cofs0=c:\
    cofs1=d:\
  5. จากนั้นก็เรียก colinux-daemon.exe -t nt @ubuntu.conf สำหรับ login และ
    password ก็ root ทั้งคู่
  6. แก้ไขไฟล์ /etc/network/interfaces กรณีผมใช้ editor vi ให้เป็นดังนี้
    auto eth0
    iface eth0 inet static
    address 192.168.0.40
    broadcast 192.168.0.255
    netmask 255.255.255.0
    gateway 192.168.0.1
  7. แก้ไขไฟล์ /etc/resolv.conf ให้เป็นดังนี้
    nameserver 192.168.0.1
    แล้วก็สั่ง ifdown eth0 หนึ่งครั้ง แล้วก็ ifup eth0 อีกหนึ่งครั้ง
  8. ไปแก้ Network Connection ตัวที่มีป้ายกำกับว่า TAP-WIN32 (เอา mouse ไปวางทับเพื่อดู) แก้ตรง Internet Protocal (TCP/IP)->Properties ให้ IP address เป็น 192.168.0.1 Subnet mask เป็น 255.255.255.0
    Local Area Connection2 Local Area Connection
  9. จากนั้นก็ต้องแชร์เน็ตเวิร์ก โดยไปที่ Local Area Connection ตัวจริงของเรา แล้วก็
    คลิ๊กที่ Allow other network users to connect …. ซึ่งจะทำให้มีรูปมือขึ้นมา
    Local Area Connection3
    ขั้นตอนเหล่านี้ถ้าทำไม่เป็นก็คงต้องถามเพื่อนเอานะครับ
  10. เรียก coLinux ขึ้นมาอีกครั้ง windows จะขอคำอนุญาต ก็อนุญาตไป ลอง ping www.google.com
    จะเห็นว่าใช้ได้แล้ว (หยุดโดย Ctrl-C) ถ้าไม่ได้ให้ลองปิด firewall นะครับ พอได้แล้วค่อยเปิดใหม่ได้
  11. ขั้นต่อมาต้องอาศัย internet แรง ๆ หน่อยนะครับ คือ apt-get update แล้วก็ตาม
    ด้วย apt-get upgrade จากนั้นก็ติดตั้งโปรแกรมที่เราต้องการดังนี้
    apt-get install Xfig
  12. การรัน Xfig จำเป็นต้องรันผ่าน Xming โดยต้องไปแก้ไขไฟล์ X0.host ที่อยู่ใน
    โฟลเดอร์ของ Xming โดยเพิ่มบรรทัด 192.168.0.40 เข้าไป
  13. จากนั้นที่ coLinux ก็ไปแก้ไขไฟล์ .bashrc โดยเพิ่มสองบรรทัดนี้เข้าไป
    export DISPLAY=192.168.0.1:0.0
    alias xfig='xfig -specialtex -latexfonts -startlatexFont default'

    จากนั้นก็ exit แล้วก็ login เข้ามาใหม่
  14. รัน Xming แล้วที่ coLinux ก็เรียก xfig & คุณจะได้ Xfig หน้าตาแบบนี้xfig
  15. ทีนี้จะติดตั้งอะไรเพิ่มเติมก็ apt-get install xxxx
  16. ขั้นสุดท้ายคือการติดต่อกับไดร์ฟของ windows ซึ่งง่ายกว่าที่คิด เห็น cofs0 กับ
    cofs1 ที่แทนไดร์ฟ C: กับ D: ในไฟล์ ubunt.conf ใช่ไหมครับ ก็แค่ไปสร้าง
    โฟลเดอร์ใหม่ดังนี้ใน coLinux
    mkdir /mnt/c
    mkdir /mnt/d

    จากนั้นก็ไปแก้ไฟล์ /etc/fstab
    โดยเพิ่มบรรทัดเหล่านี้เข้าไป
    cofs0 /mnt/c cofs defaults 0 0
    cofs1 /mnt/d cofs defaults 0 0

    ผมไม่เก่ง Linux ก็ reboot colinux ใหม่หนึ่งรอบ โดยใช้คำสั่ง shutdown -h now
    แล้วก็รอหน่อยหนึ่ง จากนั้นก็เรียก coLinux ขึ้นมาใหม่ (ถึงตอนนี้ก็น่าจะสร้างเป็น
    shortcut เองได้นะครับ) ลอง cd /mnt/c ก็จะเห็นไดร์ฟ C:

ไว้มีเวลาจะกลับมาเขียนให้ละเอียดกว่านี้เน้อ

Xfig reused

จากเรื่องเดิม LaTeX and Xfig ผมถูกข้อร้องแกมบังคับให้
หันมาใช้ Xfig โปรแกรมวาดรูปของคนรัก Xfig ด้วยเหตุและ
ผลที่มีมากมาย และเหตุผลหนึ่งที่ต้องยอมจำนนและเห็นด้วย
ก็คือ ในขณะที่คนกึ่งหนึ่งใช้ Xfig และเป็นคนที่ต้องคอยจัด
การกับเอกสาร เขามีความจำเป็นที่จะต้องนำรูปภาพต่าง ๆ
กลับมาใช้ใหม่ และโปรแกรมที่เขาใช้ก็คือ Xfig

ค่อนข้างเห็นใจนะครับ เพราะการที่จะร้องขอให้คนอื่นเปลี่ยนจากระบบหนึ่งไปเป็นอีก
ระบบหนึ่ง ด้วยเหตุผลต่าง ๆ นั้น จำเป็นทีเดียวที่จะต้องไม่กระทบงานเดิมของเขา ถ้า
ต้องเปลี่ยนแล้วเขาต้องใช้เวลาอีกเป็นเดือน ๆ ในการแก้ไขงานเดิม ๆ เพื่อให้ใช้ได้กับ
สิ่งใหม่ ๆ ที่ต้องเรียนรู้นั้นไม่ใช่เรื่องง่าย (ประโยชน์อย่างหนึ่งของการมีโปรแกรมฟรี พอ
มีเงินแล้วค่อยไปบริจาค) ผมจึงต้องมาหัดใช้ Xfig อีกครั้ง และเหตุผลหลัก ๆ เหตุผล
เดียวที่ผมไม่ยอมใช้มันซักที ก็คือเรื่องการรวมมันเข้ากับ \LaTeX นั่นเอง

เมื่อถูกขอร้องให้ใช้ ก็ต้องใช้ แล้วก็ทำให้นึกถึงวิธีการเดิม ๆ ก็คือสร้างไฟล์ eps และ
pdf ซะเองเลย กล่าวคือเมื่อคุณ export Xfig ให้อยู่ในรูปของ eps กับ tex ไฟล์แล้ว คุณ
จะได้ไฟล์สองไฟล์คือ *.pstex และ *.pstex_t ซึ่งไอ้ไฟล์หลังคือไฟล์ที่คุณต้องแก้ไข

ผมใช้ batch ไฟล์ของ DOS ธรรมดานี่แหละ ทำการคัดลอกไฟล์ *.pstex_t ไปเป็นไฟล์
ชื่อ quick.tex ซะก่อน จากนั้นก็คอมไพล์ไฟล์ที่ชื่อ epshead.tex ซึ่งไฟล์ตัวหลังนี้มี
โครงสร้างดังนี้

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{pstricks,pstricks-add}
\usepackage{rotating} % For rotated text in figs.
\thispagestyle{empty}
\begin{document}
\input d:/winedtmacro/quick.tex
\end{document}

ซึ่งถ้าเอกสารของคุณต้องการฟอนต์แปลก ๆ ก็เพิ่มเติมเข้าไปในไฟล์นี้ด้วย จากนั้นก็มุก
เดิม

dvips epshead.dvi
ps2epsi epshead.ps epshead.eps
copy epshead.eps %1.eps
del epshead.* % ไฟล์ชั่วคราว ลบได้
epstopdf %1.eps

เราก็จะได้ *.eps และ *.pdf ไว้ใช้งานแล้ว ใครจะทำปุ่มลัดก็ไม่ผิดกติกา

อนึ่งสำหรับผู้ใช้ Notebook สามารถแทนปุ่มกลางของ mouse ได้โดยการกดปุ่น Alt
และ mouse ปุ่มขวาพร้อมกัน

จัดระเบียบ สมการ

นั่งปั่น paper เมื่อคืนจะดึกดื่น พอมีเวลาก็ต้องมาตกแต่งสมการให้เอกสารให้สวยงาม เพื่อไม่
ให้เสียสถิติ ก็เลยมาลองนั่งสรุปดูว่ามีรูปแบบไหนบ้างที่เราใช้บ่อย

ปัญหาที่หลายคนอาจจะเจอแล้วก็ปล่อยไปสำหรับ \LaTeX นั้นก็คือการจัดระเบียบ
ตำแหน่งช่องไฟของสมการ กรณีทั่วไปเราสามารถใช้กรอบคำสั่ง align (ใช้คำว่ากรอบ
แทน environment) เพื่อจัดตำแหน่งช่องไฟของสมการได้ไม่ยากเย็นอะไรนัก
ซึ่งวิธีการใช้กรอบคำสั่งนี้ได้อธิบายไว้อย่างดีในเอกสารของแพ็คเกจ amsmath กรณี
ที่ใช้บ่อยที่สุดเห็นจะเป็นการจัดระเบียบสมการหลายบรรทัดซึ่งจะ

สำหรับกรณีนี้ผมชอบใช้กรอบคำสั่ง aligned ช่วย ด้วยเหตุผลง่าย ๆ ว่าชื่อคำสั่งมันเหมือน
กัน ทำให้ไม่ต้องจำมาก

\begin{align}
\begin{aligned}
x &= \frac{1}{2n}\sum^n_{l=0}(-1)^l(n-l)^{p-2} + \frac{1}{3n}
\sum^n_{l=0}(-1)^l(n-1)^{p-4} \\
&\quad + \frac{1}{4n}\sum^n_{l=0}(-1)^l(n-1)^{p-5}
\end{aligned}
\end{align}

ตัวสีแดงเป็นอักขระที่ช่วยในการจัดระเบียบช่องไฟ อนึ่งมีอีกหลายวิธีที่สามารถจัดสมการแบบ
หลายบรรทัดได้

ปัญหาถัดมา ที่สร้างความปวดหัวค่อนข้างมาก ก็คือการจัดกลุ่มของสมการในแนวตั้ง

การจัดสมการในรูปแบบนี้ ไม่ค่อยเกิดขึ้นบ่อยนัก แต่จำเป็นมาก ๆ เวลาต้องให้ค่าเชิงเลขของ
ตัวแปรหลาย ๆ ตัว ไม่งั้นเอกสารก็จะเยิ่นเย้อไม่น่าดู วิธีการก็ง่าย ๆ ตรงไปตรงมาดังนี้

\begin{align}
x &=y & X &=Y & a &=b+c\\
X’&=y & X’&=Y’ & a’&=b
\end{align}

เช่นเดิมตัวแดงคืออักขระที่ใช้ในการจัดช่องไฟ ต้องใส่ให้ครบนะครับ

ตัวอย่างสุดท้าย ที่พึ่งจะได้ทดลองใช้สด ๆ ร้อน ๆ เมื่อวานนี้เองคือ


มันแปลกตรงไหนหล่ะ เคยคิดตื้น ๆ ว่าน่าจะใช้วิธีการแบบข้างบนได้คือจัดแบบแถวแนวตั้ง
ปรากฏว่าผลที่ได้ไม่ดี ก็เลยต้องใช้บริการคู่มือ amsmath อีกครั้ง (ทำเป็นปกติอยู่แล้ว) ซึ่ง
มีวิธีให้ใช้สองวิธี วิธีแรกคือใช้กรอบคำสั่ง align ดังนี้

\begin{align}

\hat{y}^o(k+1) &= \hat{\Theta}(k)\hat{\phi}(k)
&& \text{ \emph{a priori}} \\
\hat{y}(k+1) &= \hat{\Theta}(k+1)\hat{\phi}(k)
&& \text{ \emph{a posteriori}}
\end{align}

ผลที่ได้ก็เป็นไปตามรูปข้างบน วิธีที่สองคือใช้กรอบคำสั่ง alignat ซึ่งสามารถกำหนดช่องไฟ
ได้

\begin{alignat}{2}
\hat{y}^o(k+1) &= \hat{\Theta}(k)\hat{\phi}(k)
&\quad & \text{ \emph{a priori}} \\
\hat{y}(k+1) &= \hat{\Theta}(k+1)\hat{\phi}(k)
&& \text{ \emph{a posteriori}}
\end{alignat}

ผลที่ได้จะดูดีกว่า ดังนี้


ซึ่งถ้าต้องการเปลี่ยนระยะช่องไฟ ก็สามารถทำได้โดยการเปลี่ยนระยะที่ &\quad & โดยใช้
คำสั่ง \hspace{1cm} ช่วย เป็นต้น

หวังว่าบันทึกช่วยจำนี้คงเป็นประโยชน์ต่อตัวผมเอง และคนอื่น ๆ ที่มาอ่านด้วยนะครับ

Adobe Reader 8.x กับ WinEDT

Get Adobe Readerตั้งแต่ออก Adobe Reader 8.x มา สิ่งที่น่ารำคาญที่สุดก็
คือ WinEDT ไม่สามารถจำหน้าเดิมของไฟล์ pdf ได้
พึ่งรู้เหมือนกันว่า Dr. Alex คนเขียน WinEDT นั้นได้มาตอบคำถามนี้ไว้ตั้งนานแล้ว
และวิธีแก้ก็ง่าย ๆ ดังนี้

  1. ไปที่เมนู Edit->Preferences->Documents ให้ยกเลิกตัวเลือก Show each document in its own window (requires restart) ออก
  2. แค่นั้นแหละ มันเป็นปัญหาของ Adobe Reader ไม่ใช่ WinEDT
  3. อย่าใช้ Adobe Writer นะครับถ้าไม่ได้ซื้อ ใหญ่ ไม่มีประโยชน์สำหรับเรา และ
    ผิดกฎหมาย