+1

Guide cơ bản về LaTex

Trong bài viết này chúng ta sẽ học cách làm thế nào để chèn hình ảnh đi cùng caption vào bên trong văn bản khi soạn thảo bằng latext.

  1. Captioned images / figures trong LaTeX

Thỉnh thoảng khi soạn thảo văn bản trong latext bạn sẽ cần phải insert hình ảnh vào bên trong văn bản của mình để làm cho văn bản có thể sinh động và dễ hiểu hơn. Nếu bạn sử dụng LaTeX, tất cả các hình ảnh sẽ được lập chỉ mục tự động và được gắn thẻ với các số liên tiếp khi bạn sử dụng figure environment và graphicx package.

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\begin{figure}
  \includegraphics[width=\linewidth]{boat.jpg}
  \caption{A boat.}
  \label{fig:boat1}
\end{figure}

Figure \ref{fig:boat1} shows a boat.

\end{document}

Biến môi trường figure environment đảm nhiệm việc đánh số và định vị hình ảnh trong tài liệu. Để include một hình, bạn phải sử dụng lệnh \includegraphics . Nó sẽ lấy chiều rộng hình ảnh làm tùy chọn trong ngoặc và đường dẫn đến tệp hình ảnh của bạn.

Như bạn có thể thấy, tôi đặt \linewidth trong vào dấu ngoặc, có nghĩa là hình ảnh sẽ được tự động thu nhỏ để phù hợp với chiều rộng của tài liệu. Nếu bạn đọc tinh ý thì có thể để ý thấy file ảnh của mình lúc này nằm cùng cấp với thư mục .tex. Nhưng đối với các tài liệu thực tế thì ta sẽ phải có một folder riêng để quản lí các file ảnh này, giả sử folder được tạo của mình có tên là images, nếu muốn dẫn được link ảnh nằm trong thư mục images vào bên trong văn bản bạn có thể viết images/boat.jpg vào bên trong dấu braces.

Bạn có để ý câu lệnh kế tiếp mình có set \caption, đây là câu lệnh sẽ biểu diễn đoạn text dưới image và \label. Trong trường hợp bạn muốn refer đến hình ảnh của mình thì bạn có thể sử dụng câu lệnh \ref.

LaTeX là một công cụ cực kì thông minh và hữu dụng, nó sẽ tự động đánh số một cách chuẩn xác cho tất cả các hình ảnh của bạn. Việc của bạn là chỉ cần include graphicx package...(gg_ez_nub_boi)

  1. Image positioning / setting the float

Đôi khi, bạn không muốn phải hiển thị ở vị trí chính xác khi bạn viết code của mình trong file .tex. Nếu tài liệu của bạn chứa nhiều văn bản, có thể LaTeX sẽ đưa hình ảnh lên trang tiếp theo hoặc bất kỳ trang nào khác có đủ khoảng trống. Đẻ tắt tính nằng này bạn cần phải đặt giá trị float cho figure environment.

%...
\begin{figure}[h!]
%...
  1. Multiple images / subfigures trong LaTeX

Thỉnh thoảng khi bạn viết document, việc thêm một single images không được tối ưu cho lắm. Đặc biệt là khi người đọc muốn compare một vài hình ảnh với nhau. Trong trường hợp này, biến environment subfigure sẽ giúp chúng ta giải quyết vấn đề trên, subfigure giúp chúng ta có thể đặt nhiều các images gần nhau

Đầu tiên bạn cần add subcaption package

\documentclass{article}

\usepackage{graphicx}
\usepackage{subcaption}

\begin{document}

%...

\end{document}

Tiếp đó bạn sẽ add multiple subfigure environments với figure environment

%...

\begin{figure}[h!]
  \centering
  \begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{coffee.jpg}
    \caption{Coffee.}
  \end{subfigure}
  \begin{subfigure}[b]{0.4\linewidth}
    \includegraphics[width=\linewidth]{coffee.jpg}
    \caption{More coffee.}
  \end{subfigure}
  \caption{The same cup of coffee. Two times.}
  \label{fig:coffee}
\end{figure}

%...

Và chúng ta sẽ có kết quả như sau:

Nếu bạn cảm thấy 2 hình phía trên chúng gần nhau quá thì bạn có thể set chiều width bằng "cơm" cũng được:

%...
\begin{subfigure}[b]{0.4\linewidth}
%...

Thêm nữa

%...
\begin{figure}[h!]
  \centering
  \begin{subfigure}[b]{0.2\linewidth}
    \includegraphics[width=\linewidth]{coffee.jpg}
     \caption{Coffee.}
  \end{subfigure}
  \begin{subfigure}[b]{0.2\linewidth}
    \includegraphics[width=\linewidth]{coffee.jpg}
    \caption{More coffee.}
  \end{subfigure}
  \begin{subfigure}[b]{0.2\linewidth}
    \includegraphics[width=\linewidth]{coffee.jpg}
    \caption{Tasty coffee.}
  \end{subfigure}
  \begin{subfigure}[b]{0.5\linewidth}
    \includegraphics[width=\linewidth]{coffee.jpg}
    \caption{Too much coffee.}
  \end{subfigure}
  \caption{The same cup of coffee. Multiple times.}
  \label{fig:coffee3}
\end{figure}
%...


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí