Bài viết sẽ giới thiệu đến bạn các cách chèn hình trong LaTeX. Chèn hình đứng, hình ngang, hình to, hình nhỏ, hình chính, hình phụ,… và tất cả các thứ liên quan đến chèn hình trong LaTeX.
Gói lệnh sử dụng
Để có thể chèn hình trong LaTeX, bạn cần phải sử dụng gói lệnh sau, đặt nó TRƯỚC \begin{document}
\usepackage{graphicx}
Chèn hình đơn giản nhất
Bạn chỉ cần thêm dòng đánh dấu trong đoạn lệnh mẫu dưới đây là có thể chèn được hình
\documentclass[12pt]{article} \usepackage[utf8]{vietnam} \usepackage{graphicx} \begin{document} Đoạn nội dung này không có ý nghĩa, chủ yếu là để thử nghiệm và làm cho cái văn bản nó dài dài. \includegraphics{hinh1} Đoạn nội dung này không có ý nghĩa, chủ yếu là để thử nghiệm và làm cho cái văn bản nó dài dài. \end{document}
Lưu ý, hinh1 chính là file hình của bạn, file hình cần phải được để chung thư mục với file .tex. Nó thực ra là hinh1.png nhưng khi chèn vào LaTeX thì không cần ghi .png cũng được. Kết quả sẽ là
Bạn sẽ thấy hình con bướm nó bị “lệch sang trái” và có vẻ “quá to”. Vậy làm sao để thu nhỏ hình lại hoặc để nó ở bất kỳ vị trí nào? Đọc các phần tiếp theo nhé!
Vị trí đặt hình


Rất đơn giản, bạn dùng câu lệnh như bên dưới
\includegraphics{hinh/hinh1}
Form chèn hình đầy đủ
Nếu bạn muốn để hình ở giữa hoặc bạn muốn liên kết đến với hình (ví dụ hình của bạn ở chương 1 đánh số là Hinh-1. Khi bạn ở chương 5, bạn muốn gọi lại Hình-1 thì phải làm sao?). Chưa kể, bạn muốn ở đầu tài liệu của mình, có 1 trang “Danh sách hình ảnh” (List of figures) liệt kê hết các hình trong văn bản của bạn (hoàn toàn tự động) thì làm sao? Dùng form sau đây
\begin{center} \begin{figure}[htp] \begin{center} \includegraphics[scale=.5]{hinh/hinh1} \end{center} \caption{Cái sẽ hiển thị bên dưới hình} \label{refhinh1} \end{figure} \end{center}
Ví dụ ta có đoạn code (bạn có thể copy rồi paste vào một file .tex để chạy thử)
Kết quả như hình dưới đây
Chèn hình nằm ngang
Để có thể chèn hình nằm ngang, bạn cần dùng gói lệnh sau (đặt trước \begin{document} )
\usepackage{pdflscape}
Sau đó bạn dùng đoạn code sau
\begin{landscape} \begin{center} \begin{figure}[b] \begin{center} \includegraphics[scale=0.75]{hinh1.png} \end{center} \caption{abc} \label{xyz} \end{figure} \end{center} \end{landscape}
Chèn nhiều hình phụ trong một hình chính
Nhiều hình phụ là sao, bạn xem hình dưới nhé. Để có thể chèn hai hình phụ nằm ngang nhau
Để có thể chèn như thế, trước tiên bạn cần gói lệnh (đặt trước \begin{document} )
\usepackage{subfig}
Sau đó bạn dùng đoạn code sau
\begin{figure} \subfloat[Caption for subfigure 1\label{fig:test1}] {\includegraphics[width=.3\linewidth]{image1}}\hfill \subfloat[Caption for subfigure 2\label{fig:test2}] {\includegraphics[width=.3\linewidth]{image2}}\hfill \subfloat[Caption for subfigure 3\label{fig:test3}] {\includegraphics[width=.3\linewidth]{image3}} \caption{A figure with three subfigures} \end{figure}
Để có thể chèn 3 hình phụ (2 hình trên, 1 hình dưới)
Bạn cần dùng gói lệnh
\usepackage{subfigure}
Sau đó bạn dùng đoạn lệnh sau
\begin{figure}% \centering \subfigure[First.]{...code chèn hình...}\qquad \subfigure[Second figure.]{...code chèn hình...}\\ \subfigure[Third.]{\label{3figs-c}...code chèn hình...}% \caption{Three subfigures.} \label{3figs} \end{figure}
Nếu bạn muốn chèn nhiều kiểu khác phức tạp hơn, hãy tham khảo tài liệu tham khảo của gói lệnh subfigure ở link này.
Chèn hình wrap (hình lấn chữ)
Ví dụ như dưới đây
Bạn dùng gói lệnh
\usepackage{wrapfig}
Với đoạn code sau
\begin{wrapfigure}{l}[0pt]{0.25\linewidth} \includegraphics[scale=0.3]{hinh/hinh1} \end{wrapfigure}
Tiếp theo, Math2IT sẽ giới thiệu tiếp đến các bạn cách chèn hình nâng cao hơn trong LaTeX như xoay hình, hình ở bên trái, caption ở bên phải,…
Xoay hình theo góc tự chọn
Để có thể xoay tròn hình, rất đơn giản, bạn thêm tuỳ chọn angle như dòng lệnh dưới đây. Thay số 45 bởi những góc mà bạn muốn.
\includegraphics[angle=45]{test.png}
Hình một bên, chú giải một bên
Bình thường thì chú thích của hình sẽ ở bên dưới hình như ví dụ ở trên. Bây giờ bạn muốn cái chú thích đó ở bên trái (hoặc bên phải) ngang hàng với hình thì làm sao? Có hai cách để bạn chọn.
Cách 1
Dùng gói lệnh sau, đặt trước \begin{document}
\usepackage{floatrow}
Cách sử dụng, xem đoạn code sau đây, trong đó
- 4cm, 5cm lần lượt là chiều rộng của hình và độ dài cái chú thích, bạn cũng có thể thay bằng textwidth (chiều rộng của trang).
- right, top : vị trí của cái chú thích, ở đây là ở bên phải hình và ở phía trên. Bạn có thể thay right bởi left (bên trái), thay top bởi center (giữa), bottom (dưới).
\begin{figure} \floatbox[{\capbeside\thisfloatsetup{capbesideposition={right,top},capbesidewidth=4cm}}]{figure}[\FBwidth] {\caption{A test figure with its caption side by side}\label{fig:test}} {\includegraphics[width=5cm]{test}} %file test.png \end{figure}
Cách 2
Cách này có nhược điểm là cái chú thích nó chỉ có thể ở dưới bên phải chứ không tự động canh giữa hình được. Dùng gói lệnh sau, cũng đặt trước \begin{document}
\usepackage{sidecap}
Cách dùng
\begin{SCfigure} \centering \caption{ ... caption text ... } \includegraphics[width=0.3\textwidth]% {test} %file hình \end{SCfigure}
Tuỳ chỉnh với listoffigures
\listoffigures cho phép bạn liệt kê tất cả các hình trong tài liệu ở một chỗ nào đó. Cái này giống như một mục lục thu nhỏ chỉ dành riêng cho hình ảnh vậy. Bạn có thể đặt câu lệnh này ở bất cứ đâu bạn muốn, thông thường thì nó được đặt ở đầu tài liệu như đoạn code ví dụ sau
\listoffigures \listoftables \tableofcontents
Nếu có một hình nào đó mà caption của nó quá dài trong khi bạn chỉ muốn hiện ở \listoffigures ngắn thôi thì làm sao? Rất đơn giản, dùng như đoạn code sau
\caption[Cái hiện ở listoffigures]{Cái hiện ở bên dưới hình}
Còn nếu bạn không muốn một hình nào đó hiện trong \listoffigures thì bạn cần dùng gói lệnh caption và cách sử dụng như sau
\usepackage{caption} %Cái này đặt trước \begin{document} \caption[]{Cái hiện ở bên dưới hình}
Thay đổi caption mặc định dưới hình
Theo mặc định, bên dưới mỗi hình sẽ là Hình 1. hoặc Figure 1. Bây giờ bạn muốn bỏ chúng đi hoặc thay đổi chúng thì làm sao? Rất đơn giản, bạn thêm dòng sau đây trước \begin{document}
\renewcommand{\figurename}{Ảnh.}
Thay Ảnh. bởi bất cứ chữ nào bạn muốn thay hoặc bỏ trống nếu như bạn không muốn hiện chúng ra.
Cách khác đơn giản hơn nhưng phải dùng thêm gói lệnh
\usepackage[figurename=Ảnh.]{caption}
NỘI DUNG CHÍNH