LaTeXDraw

LaTeXDraw หลังจากเจอโปรแกรมตัวนี้ก็อาจจะต้องทิ้งTpX ถ้ามันไม่ upgrade ซัก
ที ปัญหาในการวาดรูปเพื่อใช้ในงานวิศวกรรมส่วนใหญ่ก็คือเรื่องการใส่สมการคณิต-
ศาสตร์เข้าไปในรูปภาพ ซึ่งหลายคนใช้โปรแกรมวาดรูปแบบเวกเตอร์กับ psfrag ซึ่งก็
ดีสะดวกดีระดังหนึ่ง แต่ไม่สะดวกในการแก้ไปซักเท่าไหร่

หน้าตาของ LaTeXDraw

 

 

 

 

 

 

สำหรับ LaTeXDraw นั้นใช้รากฐานของ pstricks สร้างโดยใช้ Java (เร็วไม่น่าเชื่อ)
ที่ดีที่สุดก็คือมันแสดง code ของ pstricks ให้เห็นกันจะ ๆ ที่ไม่ดีก็คือมันน่าจะแก้ไข
code ได้โดยตรง แต่ก็ยังดีที่เราสามารถ import TeX ไฟล์ได้ ซึ่งการแก้กลับไปกลับ
มาก็ไม่น่าจะมีปัญหาอะไรมากนักกับ TeXian ที่นิยม pstricks เพราะโดยปกติก็วาด
วิมาณในอากาศแล้วเขียนเป็นภาษา pstricks แล้วนึกเอาว่ามันควรจะเป็นอย่างไรก่อน
ค่อยลองค่อยปรับ โปรแกรมตัวนี้ช่วยร่นเวลาได้เยอะ

โปรแกรมตัวนี้น่าจะมีอนาคตพอสมควร เพราะเขียนด้วย Java พวก windows based
อย่างผมก็ไม่ต้องกังวลเรื่องต้องใช้ผ่าน virtual machine หรือใช้พวก cygwin แบบ
xfig (winfig และ jfig ห่วยในสายตาผม) และตัวโปรแกรมมีเส้นทางการพัฒนาที่แน่
นอนอยู่ที่ผู้ใช้จะตอบสนองแค่ไหน

จริง ๆ โปรแกรมวาดรูปแบบเวกเตอร์หลายตัวบน windows เช่น Inkcape, OO.o
Draw ก็เป็นตัวเลือกที่น่าสนใจ แต่มันไม่ใช้โปรแกรมที่ออกแบบมาสำหรับ LaTeX
โปรแกรมไม่ได้ ขอดีอีกอันหนึ่งที่เห็นจะผ่านเลยไปไม่ได้คือ เมื่อมันเป็น pstricks นั่น
หมายความว่า code จาก circuit_macros สามารถนำมาตกแต่งได้อย่างสะดวก

TpX กับ MikTeX 2.5

การเปลี่ยนเวอร์ชันของ MikTeX จาก 2.4 ไปเป็น 2.5 นั้น สำหรับการเปลี่ยน
แปลงโครงสร้างในการ Install เปลี่ยน path ต่าง ๆ นั้น ไม่ได้มีผลกระทบอะไร
มากนัก ที่มีผลกระทบมาก็คือการเปลี่ยน default engine ไปเป็น pdf-e-tex 
ซึ่งการเปลี่ยนแปลงนี้เอง ส่งผลให้ผู้ใช้ทั่วไปมีปัญหาอย่างมากกับการไฟล์รูป
ภาพ หนึ่งในผู้ได้รับผลกระทบก็คือ TpX โปรแกรมวาดรูปแบบเวกเตอร์ที่เล็ก
แต่ด้วยความสามารถในการเปิดไฟล์ pdf และ eps มาแก้ไขได้นั้น ทำให้ผมเลือก
ที่จะใช้ สำหรับผู้ที่ต้องการใช้ TpX กับ MikTeX 2.5 แล้วต้องการสร้างไฟล์รูป
ภาพแบบ eps ให้แก้ template file ไปเป็นดังนี้

\documentclass[a4paper,10pt]{article}
\usepackage{xcolor}
\usepackage{ifpdf}

\ifx\pdftexversion\undefined %if using TeX
\usepackage{graphicx}
\else %if using PDFTeX
 \usepackage[pdftex]{graphicx}
\fi

\ifpdf %if using PDFTeX in PDF mode
\usepackage[pdftex]{graphicx}
\DeclareGraphicsExtensions{.pdf,.png,.mps}
\usepackage{pgf}
\else %if using TeX or PDFTeX in TeX mode
\usepackage{graphicx}
\DeclareGraphicsExtensions{.eps,.bmp}
\DeclareGraphicsRule{.emf}{bmp}{}{}% declare EMF filename extension
\DeclareGraphicsRule{.png}{bmp}{}{}% declare PNG filename extension
\usepackage{pgf}
\usepackage{pstricks}%variant: \usepackage{pst-all}
\fi
\usepackage{epic,bez123}
\usepackage{floatflt}% package for floatingfigure environment
\usepackage{wrapfig}% package for wrapfigure environment

ไฟล์ที่ต้องแก้ไขคือ preview.tex.inc โดยสีแดงคือส่วนที่ต้องเพิ่มเข้าไป และสีน้ำเงินคือ
ส่วนที่ต้องเอาออก

และแล้ว WinEdt ก็มี Abbreviations

และแล้ว Editor ตัวเก่งของคนรัก LaTeX ก็มีฟังก์ชันนี้ หลังจากรอมานานมาก
และเรียกหามันทุกครั้งที่ต้องพิมพ์เส้นขั้นระหว่างส่วนของเอกสาร เพราะขี้เกียจ
พิมพ์ยาว จำได้ว่าต้องทนใช้ version 5.4 ซึ่งดีกว่า 5.3 หลายอย่าง แต่ก็ยังมี
ข้อที่ต้องปรับปรุงแก้ไขอีกเยอะ ฟังก์ชันหลักที่เคยร้องขอไปนั้นเป็นเรื่องของ
variable font ซึ่งในเวอร์ชันนี้ก็มีแล้ว ต่อไปนี้ไม่ต้องโยกบรรณาธิกรณ์ไปมา
เพื่อพิมพ์ภาษาไทยอีกแล้ว

The Comprehensive LaTeX Symbol List

คนที่ใช้ LaTeX ไปนาน ๆ แล้วต้องใช้สัญลักษณ์แปลก ๆ แล้วไม่รู้จะไปค้นหาที่ไหนว่า
มันมีอยู่แล้วหรือยัง ก็ไปหาได้ที่นี้นะครับ The Comprehensive LaTeX Symbol List

PSTricks

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

PSTricks is a collection of PostScript-based TeX macros that is compatible with most TeX macro packages.

โดยความสามารถแล้วมันยังเป็นที่หนึ่งเหนือคู่แข่งอื่น ๆ ข้อเสียเพียงข้อเดียวคือไม่สนับ
สนุน pdf ซึ่งเป็นเฉพาะกรณี inline code เท่านั้น ด้วยความรู้ในการเขียน .bat ไฟล์เพียง
เล็กน้อยร่วมกับคำสั่งพื้นฐานของ ghostscript คุณก็จะได้รูปในรูปแบบของ pdf เพื่อใช้
ประกอบกับเอกสาร pdf ได้อย่างง่ายดาย ก่อนอื่นคุณต้องเตรียมไฟล์ LaTeX ง่าย ๆ ดังนี้
ก่อน ด้วยสมมติให้ชื่อ epshead.tex  

\documentclass[a4paper]{article}

\usepackage{pstricks}

\thispagestyle{empty} %อันนี้เพื่อให้หน้ากระดาษมันว่างโล่ง

\begin{document}

           \input quick.tex  % ไฟล์เพื่อใช้เป็นไฟล์กลางของรูปภาพ

\end{document}

จากนั้นก็ให้เขียน text ไฟล์ที่บรรจุ macro ของ PSTricks เข้าไป โดยไม่ต้องมี header
อะไรทั้งนั้น ให้สั้งคัดลอกไฟล์ดังกล่าวด้วยคำสั่งพื้น ๆ อย่าง copy โดยไฟล์ปลายทางคือ
quick.tex แล้วก็ latex filename.tex  แล้วก็แปลงเป็น .dvi และ .ps ตามลำดับ ขั้น
สุดท้ายคือแปลงรูปให้อยู่ในรูปแบบ .eps และ .pdf ด้วยคำสั่ง ps2epsi และ epstopdf  
ซึ่งสามารถสร้างเป็น .bat ไฟล์สั้น ๆ ได้ดังนี้

1:   copy %1.tex quick.tex

2:   latex  epshead.tex

3:   dvips epshead.dvi

4:   ps2epsi epshead.ps epshead.eps

5:   copy epshead.eps %1.eps

6:   del epshead.*

7:   epstopdf %1.eps

ขั้นตอนที่ 4 ตั้งก็เพื่อให้รูปภาพมีขนาดเท่ากับตัวรูปที่แท้จริง ไม่เช่นนั้นรูปที่ได้จะมีขนาด
หนึ่งหน้ากระดาษ A4 เสมอ เท่านี้เราก็จะได้รูปภาพที่สร้างด้วย PSTricks ตามต้องการ
ในกรณีที่อยากได้รูปภาพในรูปแบบอื่น ๆ ก็เปลี่ยนขั้นตอนที่ 4 เอาเอง ตามวิธีที่ว่าไว้ใน
เอกสารของ Ghostscript

Avoid eqnarray

ช่วงที่ผ่านมาผมเปลี่ยนจาก eqnarray ไปเป็น align ด้วยเหตุผลที่ฟังง่าย ๆ
และดูเหมือนจะมีเหตุผลอยู่บ้างคือ มันพิมพ์สั้นกว่า ทั้งตัวชื่อมันเองและเวลา
พิมพ์สมการหลายบรรทัด เวลาจัดให้ตรงกัน สำหรับตัวแรกต้องพิมพ์ & &
สองที ในขณะที่กรณีหลังพิมพ์แค่ทีเดียว ดีกว่าเห็น ๆ พึ่งมารู้เมื่อกี้นี้เองว่า มีคน
แนะนำกันมานานแล้วว่าไม่ให้ใช้ eqnarray รายละเอียดของเรื่องนี้ได้มา
จาก The PracTeX Journal ฉบับล่าสุด ในบทความเรื่องเดียวกันกับชื่อบท
ความนี้ที่ Avoid eqnarray! อ่านแล้วน่าตกใจมากครับ กล่าวคือ eqnarray
นั้นมันมีปัญหาเรื่องช่องไฟที่จัดไม่ดี ไม่เท่ากันบ้าง ในขณะเดียวกันก็ยังมีปัญหา
เรื่องการเพิ่มเลขอ้างอิงโดยไม่มีการบอกกล่าว ซึ่งกรณีหลังนี้สำคัญมากครับ
เพราะถ้าเราไปอ้างอิงโดยไม่ทันระวังตัวแล้ว ตัวเลขที่ได้กับตัวเลขที่ตั้งใจ มันจะ
ไม่ตรงกัน แล้วคุณก็ไม่มีทางรู้ได้เลยถ้าไม่มีคนมาอ่านงานของคุณทีหลัง

อ่านถึงตรงนี้แล้วผมก็จะทำการ replace eqnarray ทุกตัวด้วย align หล่ะครับ
แต่จะใช้ align นั้นต้องโหลด  amsmath ก่อนนะครับ ข้างล่างนี้ได้แสดงให้เห็น
ว่าการใช้ eqnarray นั้นช่องไฟมันจะเพี้ยน ๆ ซึ่งจะไม่เหมือนกับ align

ด้านซ้ายนี้ใช้ eqnarray จะเห็นว่าช่องไฟมัน
เพี้ยนตรง x^2

 

  ส่วนตัวอย่างนี้จะใช้ align ซึ่งช่องไฟจะไม่มี
  ความเพี้ยนใด ๆ ทั้งสิ้น

 

ดังนั้นสำหรับมือใหม่และมือเก่า ก็พยายามหลีกเลี่ยงการใช้ eqnarray แล้วกัน