Chèn hình ảnh trong Latex

Xin chào mọi người. Trong bài viết này Dự muốn chia sẻ kinh nghiệm cùng mọi người về cách chèn hình ảnh trong LaTex. Chúng ta có thể chèn nhiều loại hình ảnh khác khau như a) *eps. *.ps, b) *. png, *.jpg, *.pdf,… dùng package graphics (hoặc psfig, pdffig) của LaTex. Thường thì để chạy những LatTex files chứa file hình thuộc nhóm a) thì ta thực hiện lệnh latex, còn cho những file có chứa hình nhóm b) thì ta chạy bằng lệnh pdflatex. Dưới đây, mình muốn đưa ra một ví dụ cụ thể chèn file matlab.eps vào LaTex, file này được export từ Matlab (các bạn co thể download matlab.eps bằng cáck click vào nó)

Một ví dụ đơn giản để chèn file hình matlab.eps trong LaTex có thể viết như sau:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[htb]
\begin{center}
\includegraphics[width=115mm]{matlab}
\caption{This is a figure.}
\end{center}
\end{figure}
\end{document}

File tex mang nội dung trên ở đây eps_example.tex.

Ở đây, htb LaTex hiểu rằng vị trí ưu tiên cho matlab.eps là: here, top rồi bottom. Còn câu cú đầy đủ của lệnh \includegraphics như sau:
\includegraphics[parameters]{filename}
Ở đây parameters là môt danh sách của các options được ngăn cách bởi dấu phẩy: bb=llx lly urx ury (ll=lower left, up=upper right ), width=h_length, height=v_length, angle=angle, scale=factor, clip=true/false, draft=true/false. Và llx lly urx ury,h_length, height=v_length, angle, factor, true/false là những tham số mình chọn. Thường thì các giá trị llx lly urx ury của bb (bounding box) mình không cần phải đụng tới, thường nằm ở mấy dòng đấu tiên của file hình eps. File hình dạng eps thường nhỏ hơn nhiều sơ với file dạng *jpg,*.gif nhiều vì nó được viét dưới dạng câu lệnh. Nếu bạn mở file matlab.eps bằng chương trình Wordpad hoặc Notepad thì sẽ thấy những câu lệnh của matlab.eps và các tham số cho bounding box thường nằm ở mấy dòng đầu tiên. Còn tham số angle ở đây mang đơn vị là độ, ví du angle=-90 thì sẽ quay hình 90 độ cùng chiều kim đồng hồ.

Các bạn thử chạy file rồi nghịch với các tham số của lệnh includegraphics xem sao, mình thích dùng file dưới dạng pdf nên thường chạy : latex -> dvips ->pspdf để có file pdf.

Giả sử trong file hình matlab.eps, có một số chỗ mình muốn sửa đổi thành các công thức Toán trong file latex. Ví dụ, mình muốn đổi Curve1111 Curve2222 thành e^{-0.2t}\sin(t) e^{-0.2t} \cos(t) thì sao? Cái này khó quá phải không vì làm sao mà LaTex có thể chỉnh sửa trong file hình gốc *matlab.eps* được? Điều kỳ diệu nằm trong package *PSfrag* của LaTex. Các bạn thử chạy ví dụ psfrag_example.tex của John Leis thì sẽ thấy điều kỳ diệu này.

Dự

PS. Bài kỳ tới: Vẽ hình trong LaTex.

16 Responses to “Chèn hình ảnh trong Latex”

  1. Thang Huynh Says:

    Mấy cái files ko còn download được, anh Dự upload lại giùm được không?
    Cảm ơn!

  2. dxpham Says:

    Thank you for pointing that out. It should be working now.

  3. Chèn hình trong Latex « Không đơn giản là giấc mơ Says:

    […] Chèn hình trong Latex January 3, 2008 — eizodream Trả lời cho câu hỏi của Tuấn Anh về cái vụ hình “tưng tưng” Về nhà, tôi đeo đẳng ông Google hỏi ổng ai trả lời chuyện này được thì ổng phát biểu: 1-Theo ý kiến của ông https://gvietmathnet.wordpress.com […]

  4. PVT Says:

    Nếu dùng file dor esp mà dùng lệnh latex –> dvips –> ps2pdf thì thỉnh thoảng hình sẽ có một số chổ không giống như trong file. Vì dụ như mất cái dot lines sẽ bị chuyển thành solid lines. Hơi bị bực một tí.

  5. PVT Says:

    Ah, mới phát hiện ra. Nếu files hình được vẽ trong Maple mà có dùng lệnh polygonplot(…., linestyle=plot) thì khi chạy tex files, các lines trong hình dạng dot sẽ chuyển thì solid lines. Tuy nhiên, nếu các lines tạo ra do maple dùng lệnh line(…, linestyle=dot) thì không có gì thay đổi. Do đó, để vẽ polygons khi dùng maple và muốn include nó vào tex thì ta dùng lệnh line() để vẽ các lines…

  6. NGUYEN H.T.Tai Says:

    Mình có một ghi chú nhỏ là nhiều khi file eps có kích thước rất lớn. Ví dụ khi bạn vẽ toàn bộ các giá trị tính được từ quá trình mô phỏng. Khi đó tập tin png/jpeg sẽ là lựa chọn tốt hơn.

  7. Hoàng Sơn Says:

    anh Dự ơi em làm như anh chỉ ở trên nhưng sao vẫn ko được mong anh giúp em >.<

  8. Anonymous Says:

    lam sao chen anh vao tabular

  9. kimthach Says:

    các bạn xem xét chỉ dùm cách chèn hình vào các tabular dùm với. chèn vào cái chổ mình ghi chử chèn đó.cam ơn nhiều nhé

    \documentclass[12pt, a4paper]{article}
    \usepackage[utf8]{vietnam}
    \usepackage[twoside,inner=2cm, outer=1.5cm,top=1.5cm,bottom=1.5cm]{geometry}
    \usepackage{fancybox}
    \usepackage{amsmath}
    \usepackage{graphicx}
    \usepackage{amsfonts}
    \newcommand{\vt}[1]{\overrightarrow{#1}}
    \newcommand{\vta}{véctơ }
    \newcommand{\boncot}[3]{
    \begin{tabular}{ | p{.37\textwidth} | p{.29\textwidth} | p{.31\textwidth} |}
    \hline
    \begin{minipage}{.36\textwidth}
    #1
    \end{minipage}
    &
    \begin{minipage}{.28\textwidth}
    #2
    \end{minipage}
    &
    \begin{minipage}{.30\textwidth}
    #3
    \end{minipage}
    \\
    \hline
    \end{tabular}
    \\
    }

    \begin{document}

    \noindent
    \begin{minipage}[b]{7cm}
    \centerline{\textbf{\fontsize{13}{0}\selectfont Sở giáo dục \& đào tạo Daklak}}
    \centerline{{\bf Trường THPT CưM’gar}}
    \centerline{\fontsize{13}{0}\selectfont {GV: Nguyễn Kim Thạch}}

    \end{minipage}\hspace{1cm}
    \begin{minipage}[b]{10cm}
    \centerline{\textbf{\fontsize{13}{0}\selectfont \S 1 CÁC ĐỊNH NGHĨA}}
    \centerline{ \textit{\fontsize{13}{0}\selectfont Tiết 1}}

    \centerline{ \today}
    \end{minipage}

    \vspace{0.5cm}

    \noindent

    \section{Mục đích yêu cầu}
    \subsection{Kiến thức}
    \begin{itemize}
    \item Nắm được khái niệm véctơ, giá của véctơ, \vta cùng phương, \vta cùng hướng, độ dài véctơ, hai \vta bằng nhau, \vta không.
    \end{itemize}
    \subsection{Kỹ năng}
    \begin{itemize}
    \item Phân biệt được véctơ và đoạn thẳng, chỉ ra được các \vta cùng phương, cùng hướng, bằng nhau dựa vào một hình cho trước.
    \item Dựng được véctơ $\overrightarrow{OA}=\vec a$ khi cho trước điểm A và $\vec a$.
    \end{itemize}
    \subsection{Tư duy}
    \begin{itemize}
    \item Phân biệt được \vta và đoạn thẳng.
    \item Liên hệ giữa ba điểm phân biệt thẳng hàng và hai \vta cùng phương hình thành tư duy lôgíc trừu tượng.
    \end{itemize}
    \subsection{Thái độ}
    \begin{itemize}
    \item Liên hệ với phương hướng trong đời sống thực tế.
    \item Rèn luyện tính cẩn thận chính xác.
    \end{itemize}
    \section{Phương pháp}
    \begin{itemize}
    \item Gợi mở vấn đáp.
    \item Hoạt động nhóm
    \end{itemize}
    \section{Chuẩn bị của giáo viên và học sinh}
    \begin{itemize}
    \item Giáo viên: SGK, hệ thống các câu hỏi
    \item Học sinh: Đọc trước bài.
    \end{itemize}
    \section{Tiến trình lên lớp}
    \subsection{Ổn định lớp}
    \subsection{Bài mới}

    \
    \textbf{HOẠT ĐỘNG 1: Khái niệm véctơ.} \\

    \boncot{ VD1
    % chèn dùm hình ảnh vào chổ này với

    }{- Trả lời ví dụ 1

    – Trả lời ví dụ 2

    – Học sinh đưa ra khái niệm

    – HS nêu ví dụ tương tự
    }{\textbf{\underline{Mệnh đề:}}\\ Mệnh đề là một câu khẳng định đúng hoặc một câu khẳng định sai.\\
    Một câu khẳng định đúng gọi là một mệnh đề đúng.\\
    Một câu khẳng định sai gọi là một mệnh đề sai.\\
    Một mệnh đề không thể vừa đúng vừa sai.}\\

    \end{document}

  10. dxpham Says:

    U, dong lenh nay xai duoc hau het moi noi, ngy trong tabular luon do: \includegraphics[scale=.5]{hinh.eps}

  11. Doathonky Says:

    Mình gặp khó khăn khi chèn ảnh vào văn bản Latex. Khi chèn vào theo cú pháp mọi người nói ở trên và chạy F5, sau đó chạy F8, cuối cùng chạy R10 để tạo file*pdf thì không được. Trong khi đó Gview thì lại xem được. Ai biết chỉ giúp mình với. Liệu có phải thiếu gói lệnh nào không??? Cám ơn nhiều!!!

  12. Khuyen Says:

    Mình muốn chèn nhiều hình ảnh vào một slide và quay ở những góc độ khác nhau, nhưng mình không biết nên làm thế nào ạ.
    Bạn nào giúp mình với.
    Cám ơn các bạn.


Leave a comment