Export Simulink Diagram to use in LaTeX Document


ภาพจาก Simulink ของ Matlab เป็นหนึ่งในภาพที่การจับภาพจากหน้าจอไปลงเอกสารได้รับความนิยมมาก ๆ ส่วนใหญ่ก็จะได้กรอบของหน้าต่างติดมาด้วย พอมาใช้ในเอกสารจริง การย่อขยายรูปภาพก็จะทำให้ได้รูปที่ดูไม่ดีนัก จริง ๆ แล้วถ้าดูเอกสารของ Simulink บริษัท Mathworks นั้นจะไม่พบว่ามีการจับภาพจากหน้าจอมาใส่แต่อย่างใด ในบทความนี้จะนำเสนอวิธีการดึงรูปจาก Simulink ในรูปแบบเวกเตอร์มาใส่เอกสารบน LaTeX ให้ได้รูปที่ดี และสามารถใช้ได้ทั้ง LaTeX และ pdfLaTeX

หลังจากสร้าง Simulink ไฟล์เรียบร้อยแล้ว ก็ใส่จัดเก็บในชื่อที่ต้องการ ในที่นี้จะใช้ thaitug คำสั่งที่ต้องใช้งานคือ

print -sthaitug -depsc2 thaitug.ps

ตัวเลือก -sthaitug คือ Simulink ไฟล์ที่เราต้องการในที่นี้คือ thaitug.mdl ส่วน -depsc2 เราต้องการพิมพ์ออกเป็น postscript level 2 ไฟล์แบบมีสีด้วย ส่วน thaitug.ps คือไฟล์ที่ต้องการจัดเก็บ ทั้งหมดทำบน workspace ของ Matlab ซึ่งไฟล์รูปภาพแบบ postscript สามารถเรียกดูได้ด้วยโปรแกรม ghostview นอกจากนั้นยังสามารถจัดการแปลงให้อยู่ในรูปแบบอื่น ๆ ได้โดยตรง(ในที่นี้จะไม่กล่าวถึง) เมื่อได้รูป .ps แล้ว เราก็ต้องแปลงให้อยู่ในรูปแบบ .eps และลบส่วนของรูปที่เป็นสีขาวออกให้หมด เพื่อให้ได้รูปที่ไม่มีขอบโล่ง ๆ นั่นเอง สามารถทำได้โดยการใช้คำสั่ง ที่ command prompt ของ windows

ps2epsi  thaitug.ps thaitug1.eps

เมื่อได้รูป .eps ที่ไม่มีขอบแล้ว ให้ใช้คำสั่ง

epstool --copy --bbox thaitug1.eps thaitug.eps

เพื่อจัดแต่งรูป เพราะบางกรณีคำสั่ง ps2epsi จะตัดขอบเกิน ทำให้บางส่วนของรูปภาพหายไปเล็กน้อย สำหรับโปรแกรม epstool นั้นสามารถ
โหลดได้จากเว็บของ Ghostscript

สุดท้ายก็ใช้คำสั่ง

epstopdf thaitug.eps

เพื่อแปลงรูป .eps ไปเป็น .pdf สำหรับคนที่ใช้ pdflatex รูปสุดท้ายที่ได้จะเป็นดังนี้ครับ

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

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