LaTeX and Xfig


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

มาเริ่มจาก Xfig ก่อน โดยปกติแล้วข้อความใน Xfig จะเป็นฟอนต์แบบ Postscript นั่น
หมายความว่ามันไม่สนใจคำสั่งของ \LaTeX ที่เราใส่ลงไปในรูปภาพ ซึ่งแทนที่
ข้อความ $x^2+y^2 = z^2$ จะปรากฎเป็น x^2+y^2=z^2 ตามที่ตั้งใจมันก็
ไม่ ในการปรับให้ Xfig เข้าใจคำสั่งของ \LaTeX นั้นจำเป็นต้องปรับตัวเลือก
ของ Xfig ซึ่งยุ่งยากพอสมควร เพื่อลดความยุ่งยากในการเลือกตัวเลือกเราสามารถทำ
ได้สองวิธีคือ เรียก Xfig พร้อมตัวเลือก

xfig -specialtext -latexfonts -startlatexFont default

หรือจะไปเพิ่มที่ไฟล์ .bashrc ดังนี้

alias xfig=’xfig -specialtex -latexfonts -startlatexFont default’

ก็สะดวกดี หรืออาจจะสะดวกที่สุด

วิธีที่สองก็เพิ่มสองบรรทัดนี้เข้าไปใน .Xresources

Fig.latexfonts: true
Fig.specialtext: true

Fig.customization: -color

สำหรับผู้ใช้ Xfig ผ่าน cygwin ให้เรียก Xwindow โดยใช้คำสั่ง startxwin.sh เท่านั้น
จากนั้นก็วาดรูปได้เลย ตรงไหนต้องการสมการคณิตศาสตร์ก็ใส่คำสั่งนั้น ๆ เข้าไป ข้อเสีย
เท่าที่เห็นสำหรับวิธีการนี้ก็คือการปรับตำแหน่งข้อความอาจจะเสียเวลาหน่อย เพราะ
สมการกับคำสั่งมันยาวไม่เท่ากัน

หลังจากนั้นให้ทำดังนี้ (ได้แนวคิดมาจากเว็บนี้)

  1. ให้ export โดยใช้ตัวเลือก Combined PS/LaTeX (both parts) โดยแทนที่จะ
    เก็บไฟล์ให้มีนามสกุลเป็น .pstex ตามค่าตั้งต้น ก็ให้เก็บเป็น .eps เลย ตรงนี้ไฟล์
    .pstex_t ก็จะเปลี่ยนเป็น .eps_t ด้วย
  2. ใช้ epstopdf เปลี่ยนไฟล์ .eps เป็น .pdf ทั้งนี้เราจะสามารถใช้งานได้ทั้ง dvi และ
    pdftex โดยไม่ต้องแก้ไข .tex ไฟล์
  3. แก้ไขไฟล์ .eps_t ในบรรทัด \includegraphics{xxxx.eps} เป็น \includegraphics{xxxx} ไม่ต้องใส่นามสกุล
  4. เวลาเรียกรูปภาพก็ให้ใช้ \input{file.eps_t} แทน \includegraphics{file.eps}
  5. ปรับขนาดรูปภาพได้โดยคำสั่ง \resizebox{3cm}{!}{\input foo.pdftex} % sets the width to 3cm ซึ่งตรงนี้สามารถเขียน
    \newcommand ทีหลังได้
  6. รูปทั้งหมดให้เก็บไว้ใน directory ย่อยต่างหาก แล้วใช้คำสั่ง
    \graphicspath{{mygraphics/}} เพื่อแจ้งให้เอกสารรู้ว่าจะไปหารูปภาพ
    ได้ที่ไหน กรณีที่มีหลาย directory ก็
    \graphicspath{{myg1/},{myg2/}} หรือจะใส่แบบเต็ม ๆ ก็ได้ในกรณีที่มี
    คลังรูปภาพเก็บไว้ใช้หลายงาน

ข้อดีของวิธีการนี้คือ เวลาเรารูปแบบฟอนต์ก็จะเปลี่ยนตาม ไม่ต้องไปคอยแก้ไข
ตลอดเวลา และเนื่องจากไฟล์ .eps_t นั้นจะเก็บไฟล์ข้อความไว้ เวลาแก้ไข
สมาการคณิตศาสตร์เล็ก ๆ น้อย ๆ ก็แก้ที่ไฟล์นี้ได้โดยตรง ไม่ต้องไปแก้ที่ Xfig

ด้วยวิธีการนี้จะใช้ latex หรือ pdftex คอมไพล์ไฟล์ก็ได้แล้ว แต่จริง ๆ แล้วสำหรับ
โปรแกรมวาดรูปพวก TpX หรือ circuit_macro เราก็สามารถแก้ option เพื่อให้ใช้
ฟอนต์ของสมการกับเอกสารเป็นไปในแนวเดียวกันก็ได้ แต่กรณี TpX นั้นยังขาดความ
สามารถในการ import ไฟล์ jpg, png หรือ gif นำมาแก้ไข ดังนั้นการรู้วิธีการใช้ Xfig ไว้
ก็ไม่เสียหลายครับ

Advertisements

One comment on “LaTeX and Xfig

  1. Pingback: Xfig reused « LaTeX and MATLAB for Thai people

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s