Inkscape 0.48 with new LaTeX export feature


ท่านผู้่อ่านที่รัก (ไม่รู้มีกี่คนกัน) ในที่นี้มีใครไม่รู้จัก XFig บ้างครับ หลายคนคงไม่รู้จัก ซึ่งไม่เป็นไร อธิบายกันเล็กน้อย XFig นั้นเป็นโปรแกรมวาดรูปแบบเว็กเตอร์ที่เขียนโดยคนไทยปัจจุบันเข้าใจว่าเป็นอาจารย์อยู่นิด้า ตัวโปรแกรมนั้นเป็นที่นิยมในหมู่ผู้ใช้ unix มาก ๆ สำหรับบน linux แล้วก็ยังมีคนใช้อยู่เช่นผม เป็นต้น แต่ผมใช้ผ่าน Colinux ส่วนโปรแกรมวาดรูปเวกเตอร์บน Windows นั้นก็มีหลายตัว และหนึ่งในนั้นก็คงเป็นที่รู้จักกันดีคือ Inkscape นั่นเอง สำหรับโปรแกรมตัวนี้นั้นมีออกมาให้ใช้นานแล้ว แต่ผู้ใช้ LaTeX คงจะใช้กันน้อยมาก เพราะไม่ว่าโปรแกรมวาดรู้จะดีอย่างไร ถ้าใส่สมการไม่ได้ก็กลับไปหา XFig อย่างเดิม (สำหรับการวาดบล็อคไดอะแกรม หรือวงจรไฟฟ้า ผมใช้ circuit macro ปัจจุบันเรื่องวิเคราะห์วงจรไฟฟ้าส่งคืน text book ไปหมดแล้วไม่ต้องมาถาม ไม่ได้คำตอบแน่นอน) วันนี้พึ่งได้ทราบว่า inkscape 0.48 ออกตัวจริงแล้วตั้งแต่วันที่ 23 สิงหาคม ที่ผ่านมา และทุกครั้งที่โปรแกรมตัวนี้ออกเวอร์ชันใหม่ สิ่งที่ผมจะต้องหาทุกครั้งก็คือการใส่สมการในรูปแบบของ LaTeX ว่าทำได้หรือยัง ซึ่งจริง ๆ ควรจะทำได้ตั้งนานแล้ว เพราะมีคนทำโปรแกรมเสริมประเภทนี้ออกมานานพอสมควร และข่าวดีก็มีจริงแล้วครับ เพราะในเวอร์ชันนี้มีการสนับสนุนการแปลงไฟล์ให้อยู่ในรูปแบบ pdf/ps/eps ซึ่งแยกจากไฟล์ข้อความเหมือนใน XFig เราลองมาดูกันดีกว่า ว่ามันทำงานได้ดีแค่ไหน

ผมต้องการใส่รูปของ Euler กับ Euler’s identity สมการที่สวยงามที่สุดอันหนึ่ง ดังนี้

รูป Euler เอามาจาก wikipedia ส่วนสมการนั้นใส่เอง จะเห็นได้ว่าสมการสวยงามตามลักษณะของ LaTeX ทั่วไป วิธีการทำก็ง่าย ๆ ครับ ใช้ Inkscape วาดรูปอะไรก็ได้ (ผมใช้ไม่ค่อยเป็น) จากนั้นก็ใส่คำสั่ง LaTeX โดยถ้าเป็นสมการก็ให้ใส่ $ กำกับหน้าหลังด้วย ดังในรูป

เสร็จแล้วให้จัดเก็บ (save) ในรูปแบบของ pdf หรือ eps ซึ่งในกรณีผมนั้นเลิกใช้ eps นานแล้วก็เลือก pdf เมื่อใส่ชื่อไฟล์เรียบร้อยก็กด save ตามปกติ ตัว Inkscape จะมีไดอะล็อกบล็อคขึ้นมาถามครับ ว่าจะใส่ตัวเลือกอะไรบ้าง ในกรณีให้เลือกตัวเลือกดังนี้

เลือก PDF+LaTeX แล้วก็ Export area is drawing เพิ่มเติมจากค่าปกติ เป็นอันเสร็จเรื่อง สมมติว่าเรามีไฟล์ที่จัดเก็บชื่อ euler.pdf เราจะได้ไฟล์ euler.pdf_tex เพิ่มขึ้นมาอีกหนึ่งไฟล์

เวลาเรียกใช้งานก็ทำดังนี้ครับ

\documentclass[12pt]{report}
\usepackage{xcolor}
\usepackage{graphicx}

\begin{document}
\begin{figure}
   \centering
   \def\svgwidth{5cm} % sets the image width, this is optional
   \input{euler.pdf_tex}
 \end{figure}
 \end{document}

การใช้งานคำสั่ง input ก็ให้ระวังเรื่องโฟลเดอร์ดี ๆ อาจจะกำหนด graphicpath ไปเลยก็ได้ เมื่อรัน LaTeX เราก็จะได้ผลตามที่ต้องการครับ

เป็นเรื่องน่ายินดีที่ต่อไปนี้รูปที่สร้างจาก Inkscape จะมีสมการประกอบที่สวยงามซะที

Advertisements

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