Tạo hình vẽ/diagram và chuyển định dạng file từ pdf sang eps trên Mac OS X

Update: Ngoài cách dưới đây, có thể dùng TikZ  GIMP để vẽ hình và chuyển định dạng file.

Khi cần đưa hình vẽ vào LaTeX, mình hay sử dụng định dạng .eps và package graphicx.

Trong LaTeX sẽ chèn hình vẽ (chẳng hạn img.eps) vào một file LaTeX như sau.

\usepackage[dvips]{graphicx}
\begin{figure}[!t]
\begin{center}
\includegraphics[width=0.4\textwidth]{draw/img.eps}
\caption{System architecture}
\end{center}
\end{figure}

Trên Windows, để vẽ hình/diagram mình hay dùng Visio, sau đó in ra thành ps, dùng Adobe Acrobat để chuyển thành eps, và sau đó dùng epstool để sửa lại bounding box.

Trên máy Mac, sau một hồi mày mò mình đã tìm ra cách để thực hiện các bước ở trên. Đó là dùng công cụ Drawing của LibreOffice để vẽ hình, export ra pdf, dùng pdfcrop để crop file pdf tạo ra sau đó dùng xpdf để chuyển file pdf đã crop thành file eps. Được cái tất cả các phần mềm trên đều miễn phí nên không lo nguy cơ bảo mật trong các bản crack.

Các bước thực hiện như sau. Các bước dưới đây giả định bạn đã cài đặt MacTeX trên Mac OS X.

    1. Step 1: Download và cài đặt LibreOffice tại: https://www.libreoffice.org
    2. Step 2: Mở LibreOffice và dùng Drawing để vẽ hình. Drawing trong LibreOffice hỗ trợ vẽ diagram và flowchart khá tốt dù không xịn như Microsoft Visio.
    3. Step 3: Lưu bản drawing trong LibreOffice dưới định dạng pdf, ví dụ img.pdf
    4. Step 4: Sử dụng lệnh pdfcrop để crop file pdf vừa tạo ra
       pdfcrop img.pdf

      Lệnh này sẽ tạo ra file img-crop.pdf trong cùng thư mục với img.pdf

    5. Step 5: Download xpdf tại: http://www.foolabs.com/xpdf/download.html
    6. Step 6: Giải nén file: xpdfbin-mac-3.04.tar.gz
       tar xvfz xpdfbin-mac-3.04.tar.gz
    7. Step 7: Copy các file trong thư mục xpdfbin-mac-3.04/bin64  vào /usr/local/bin. Để copy được có thể bạn cần quyền root.
    8. Step 8: Chuyển file img-crop.pdf sang định dạng eps
       pdftops -eps img-crop.pdf

      Lệnh này sẽ tạo ra file img-crop.eps. Bạn có thể đổi tên file thành img.eps nếu thích.

Sau các bước thực hiện trên, bạn có thể đưa file ảnh .eps vào trong LaTeX một cách dễ dàng mà không cần quan tâm đến bounding box.

Advertisements

Thêm phần thông tin tác giả ở cuối bài Journal

Thường khi khi submit final version của một bài journal, bạn cần thêm thông tin về các tác giả ở cuối bài.

Sau khi search google một hồi, thấy có 1 trang recommend sử dụng package picins cũng hay nên note tạm ở đây.

Bài gốc ở đây

Khi add thông tin tác giả chỉ cần thêm vào dòng code sau đây (bạn cần phải sửa lại tên file ảnh và kích cỡ ảnh cho đúng):

\parpic{\includegraphics[width=1in,clip,keepaspectratio]{figures/joonahn.eps}}
\noindent {\bf Joon Ahn} received his B.S. degree in Electrical Engineering from Seoul National University, Seoul, Korea, in 2000. He received his M.S. degree in 2007 and is currently a Ph.D. Candidate in the Department of Electrical Engineering at the University of Southern California. He received the Best Student Paper Award from the Electrical Engineering-Systems Department at the University of Southern California in 2006. His research interests are in the areas of wireless sensor networks, mobile networks, and ad-hoc networks with emphasis on mathematical modeling and performance analysis.

Lỗi mgs.exe khi convert ps sang pdf

Khi soạn thảo Latex và chèn ảnh eps vào tài liệu. Thông thường phải biên dịch sang ps sau đó dùng trình ps2pdf để convert sang file pdf. Đôi khi ta gặp lỗi mgs.exe.

mgs.exe là trình ghostscript của MikTex để chuyển tài liệu ps sang pdf.

Lỗi đó xảy ra là do file eps của bạn có kích thước quá lớn. Bạn cần Reduce kích thước của file eps tới kích thước phù hợp. Sau đó biên dịch lại.inkscape

Có nhiều cách để reduce size của file eps. Chẳng hạn dùng gsview hay inkscape

Chuyển file visio sang định dạng eps

Khi viết paper, thông thường ta cần chuyển các bản vẽ visio (sơ đồ, diagram) sang eps để đưa vào file latex. Cách thông thường convert từ ảnh sang cho chất lượng rất thấp.
Cách sau đây có thể cho ảnh với chất lượng cao hơn:

1. Chuyển file visio sang file PosScript hoặc pdf sử dụng PosScript Printer (với tùy chọn Print to File). Có thể sử dụng HP Universal Print Driver hoặc Adobe PosScript Printer (thường đi kèm với bộ Adobe Acrobat).

2. Chuyển file từ PS sang EPS (Sử dụng GhostViewer). Tải về tại địa chỉ: http://pages.cs.wisc.edu/~ghost/gsview/get49.htm

3. Chỉnh sửa bounding box của file eps: Thông thường file eps thường có size bằng size A4 và không thể đưa vào file tex. Vì thế ta cần crop file ảnh bằng cách chỉnh sửa thông số bounding box. Tôi sử dụng công cụ epstool để fix bounding box cho file eps. Download tại: http://pages.cs.wisc.edu/~ghost/gsview/epstool.htm

Sau khi download tool này, chỉnh sửa bounding box cho file eps sử dụng lệnh:

epstool --copy --bbox file1.eps file2.eps

trong đó file file1.eps là file cần sửa và file file2.eps là output thu được.

Chất lượng file eps tạo ra bằng cách này tốt hơn hẳn so với các cách khác mà tôi đã làm (ví dụ save as file visio thành dạng ảnh sau đó convert sang eps,…). Cách này có thể làm tương tự với các file word, hay file ảnh,…