Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (2024)

In this tutorial, we are going to see how to deal with subfigures in LaTeX. In case you don’t know, subfigures are nothing but a series of figures under the same figure environment. The use of subfigures is interesting when you have a set of related images since you can put all of them one next to the other and under the same caption, so that they produce a more organized and space-optimized document.

  • First we are going to see which packages are needed to create subfigures, and some basic examples of how to actually create subfigures and how to adjust their positioning.
  • We will deal next with the relation between hyperlinks and subfigures, seeing how to reference subfigures only (without referencing the parent figure), with what we call subreferences.
  • Finally, we will see how to allow page breaks inside the same set of subfigures, in case images are too big and take up more than a single page.

Packages to create subfigures in LaTeX

1. Subfigure LaTeX package

The first LaTeX package written to deal with subfigures was the subfigure packageSubfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (1). This package:

Provided support for the manipulation and reference of small or `sub’ figures and tables within a single figure or table environment.

As its own documentation states. However, last updated on 2002, this package is now considered obsolete and was superseded by the subfig packageSubfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (2).

2. Subfig LaTeX package

The subfig package provides, basically, the same functionality. However, the name of the package was changed since it is not completely backward compatible with the older package. The major advantage of the new package is that the user interface is keyword/value-driven and easier to use.

3. Subcaption LaTeX package

The subfig package was, in turn, superseded by the more recent subcaption packageSubfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (3), which extended its functionalities. This package, written by Axel Sommerfeldt, provides means of using facilities analogous to those of the caption packageSubfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (4) when writing captions for subfigures. This means that this package also provides the functionalities of the caption package, which is a package written to provide many ways to customize the captions in floating environments. None surprisingly, the caption package is written also by Axel Sommerfeldt.

In this tutorial, we are going to make use of the subcaption package, so that we can both create captions and customize them to a high degree. We are going to see, step by step, how to do both.

How to create subfigures in LaTeX?

Let’s start explaining the basic way of creating subfigures. When loading the subcaption package, the new environment subfigure is available. It provides an easy way to create subfigures, as the following example shows:

% Create subfigures in LaTeX\documentclass{article}\usepackage{subcaption}\usepackage{graphicx}\begin{document} \begin{figure}\centering\begin{subfigure}{0.4\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Firts subfigure.} \label{fig:first}\end{subfigure}\hfill\begin{subfigure}{0.4\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Second subfigure.} \label{fig:second}\end{subfigure}\hfill\begin{subfigure}{0.4\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Third subfigure.} \label{fig:third}\end{subfigure} \caption{Creating subfigures in \LaTeX.}\label{fig:figures}\end{figure}\end{document}

The output of this code is shown below:

Comments:

Let’s see step-by-step what this code does.

  • First, we load the package subcaption for the subfigures, and the package graphicx to easily insert images using the \includegraphics command.
  • Then, inside the document, we create the usual figure environment, and pass the command \centering so that the whole environment is centred inside the document.
  • After that, we create three subfigure environments. Each of these takes a mandatory argument, which is the width to be assigned to each one of them, in this case 0.4\textwidth, that is, 40% of the width of the text in the document.
  • And each of these environments is treated inside as a usual figure environment: we load the corresponding image with \includegraphics (setting its width to the width of the text inside the environment with width=\textwidth), and then we give it a \caption and a \label.
  • Finally, we give the whole figure environment its own \caption and \label.

This would be enough to have a working example of how to insert subfigures. However, in this case, all the images would be on the same column, one on top of each other. Usually, the desired behavior is the one shown in the next illustration, so that as many figures as possible are printed on the same row. To do so, we have to put an \hfill command between the subfigure environments. This will left-align each environment, and thus make place for other images. In fact, if we change the size of each subfigure environment to 0.3\textwidth, so that all images can fit on the same row, the result will be the one shown below:

Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (6)

We can further tune the postion and separation of the different images by controling the horizontal space
that we put between them.

For instance, instead of using \hfill, and thus left-aligning one image and right-aligning the other, we can use \hspace to set a certain amount of distance between the two (but note that if this distance is too big, the second image will be printed on a separate line).

Since \hspace accepts any valid TeX dimension, including negative dimensions, we can stack the images one on top of each other as if they were a deck of cards. The next illustration shows how the previous example looks when changing \hfill for \hspace{-1cm}.

Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (7)

Vertical alignement of subfigures

The subfigure environment accepts three kinds of options so that its full syntax is

\begin{subfigure}[pos][height][inner-pos]{width}

These options are the same as the ones accepted by the minipage environment. Let’s see what they mean:

  • First, pos governs how the subfigure vertically aligns with the surrounding material. It can take three values (By default, pos=c):
    • c positions the subfigure so its vertical centre lines up with the centre of the adjacent next line,
    • t matches the top line in the subfigure with the baseline of the surrounding text,
    • b matches the bottom line in the subfigure with the baseline of the surrounding text.
  • The optional argument height stretches the height of the subfigure, and its value can be any valid TeX dimension.
  • Finally, the inner-pos controls the placement of contents inside the subfigure environment. The values it can take are:
    • t which places the contents at the top of the box,
    • c which places the contents in the vertical centre,
    • b which places the contents at the bottom,
    • s which stretches the contents out vertically.

inner-pos has the same default value as pos. Observe, however, that this option only makes sense if the natural height of the environment is modified, because only in that case there is a place to freely position the contents.

Illustrative example:

Combining the options explained here, you can compose subfigures as shown in the next illustration. If you are wondering, this is the code used to produce such output:

% Create subfigures in LaTeX\documentclass{article}\usepackage{subcaption}\usepackage{graphicx}\captionsetup{skip=100pt}\begin{document} \begin{figure}\centering\begin{subfigure}[][10pt][t]{0.3\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{First subfigure.} \label{fig:first}\end{subfigure}\hfill\begin{subfigure}[][10pt][c]{0.3\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Second subfigure.} \label{fig:second}\end{subfigure}\hfill\begin{subfigure}[][10pt][b]{0.3\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Third subfigure.} \label{fig:third}\end{subfigure} \caption{Vertical alignment of subfigures in \LaTeX.}\label{fig:figures}\end{figure}\end{document}
Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (8)

As you can see, we obtained this output by simply stretching the height of every subfigure environment to 10pt and
then placing each image in a different inner position. However, the general caption didn’t move according to these stretches, and we had to change its separation from the figures manually by using the declaration:

\captionsetup{skip=100pt}

in the preamble. This is the kind of declaration idiosyncratic of the caption package, which as we said earlier is used to customize the appearance of our captions. If you want to learn more about caption customization, just keep reading, since we are about to go into the details of the caption package.

Hyperlinks and subfigures

As we saw at the beginning of this tutorial, you can easily reference a subfigure environment as you would reference any other environment, using the \ref command.

In this case, the reference consists of the identifier of the figure environment followed by the identifier of the subfigure environment.

However, on certain occasions, you may want to only reference the identifier of the subfigure, which is by default a letter. For that purpose, you can use the \subref command. Here is an example of its usage:

% References in LaTeX of subfigures\documentclass{article}\usepackage{subcaption}\usepackage{graphicx} % to have hyperlinks and see them coloured in red\usepackage[colorlinks]{hyperref}\begin{document} Look at the Figure \ref{fig:figures} that consists of three subfigures: \ref{fig:first}, \ref{fig:second}, and \ref{fig:third}. If I don't want to repeat myself, I can also say that Figure \ref{fig:figures} consists of the subfigures \subref{fig:first}, \subref{fig:second}, and \subref{fig:third}.\begin{figure}[h!]\centering\begin{subfigure}{0.3\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{First subfigure.} \label{fig:first}\end{subfigure}\hfill\begin{subfigure}{0.3\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Second subfigure.} \label{fig:second}\end{subfigure}\hfill\begin{subfigure}{0.3\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{Third subfigure.} \label{fig:third}\end{subfigure} \caption{Subreferences in \LaTeX.}\label{fig:figures}\end{figure}\end{document}

which produces the following result:

Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (9)

Page breaks and subfigures

As a final tip, I want to share with you how you can have a page break in the middle of the same set of subfigures. To do so, we are provided the \ContinuedFloat command, which lets us divide the figure environment into two parts, so that a page break can occur in the middle, but preserving the numbering of the figure caption and continue with the numbering of the subfigure captions.

In the following example, you can see how to apply it:

% Page breaks and subfigures\documentclass{article}\usepackage{subcaption}\usepackage{graphicx}% Generate dummy text\usepackage{lipsum} \begin{document} \lipsum[5-7]\begin{figure}[h!] \centering\begin{subfigure}{0.7\textwidth} \includegraphics[width=\textwidth]{example-image} \caption{First subfigure.} \label{fig:first}\end{subfigure}\caption{Page breaks and subfigures.}\label{fig:figures}\end{figure}%%%%%%%% Continue figures %%%%%%%%\begin{figure}[h!]\ContinuedFloat \begin{subfigure}{\textwidth} \centering \includegraphics[width=0.7\textwidth]{example-image} \caption{Second subfigure.} \label{fig:second}\end{subfigure}\begin{subfigure}{\textwidth} \centering \includegraphics[width=0.7\textwidth]{example-image} \caption{Third subfigure.} \label{fig:third}\end{subfigure} \caption{Page breaks and subfigures.}\label{fig:figures}\end{figure}\lipsum[2]\end{document}

and here is the obtained result:

Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (10)
Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (11)

Conclusion

This was a tutorial focused on the use of subfigures. As you could see, the insertion of subfigures is straightforward, being the trickiest part of how to position them. However, you can always rely on LaTeX to make a good job in this matter. Also, the page breaks can be a headache, but with the tool provided in the last part, I hope you will have no
problem with that.

However, if this tutorial wasn’t enough for you, you can always look for the documentation of the caption and subcaption packages. If you want to make some tricks regarding the hyperlinks, maybe you will also be interested in the hyperref package documentation.

Subfigure in LaTeX – Full Guide | LaTeX-Tutorial.com (2024)

References

Top Articles
This 1 Sign In Astrology Can Reveal Your Most Secret Turn-Ons
6 Common Issues When Printing in EPIC - and How to Solve Them
Bank Of America Financial Center Irvington Photos
Craigslist Home Health Care Jobs
Play FETCH GAMES for Free!
Star Sessions Imx
Alan Miller Jewelers Oregon Ohio
Evil Dead Rise Showtimes Near Massena Movieplex
Academic Integrity
DL1678 (DAL1678) Delta Historial y rastreo de vuelos - FlightAware
Lesson 1 Homework 5.5 Answer Key
Best Restaurants In Seaside Heights Nj
Aita Autism
What Was D-Day Weegy
Signs Of a Troubled TIPM
How Many Cc's Is A 96 Cubic Inch Engine
Washington, D.C. - Capital, Founding, Monumental
Huge Boobs Images
Craigslist Malone New York
Snow Rider 3D Unblocked Wtf
Straight Talk Phones With 7 Inch Screen
Eva Mastromatteo Erie Pa
Prestige Home Designs By American Furniture Galleries
Scotchlas Funeral Home Obituaries
Violent Night Showtimes Near Century 14 Vallejo
Bill Remini Obituary
Sound Of Freedom Showtimes Near Movie Tavern Brookfield Square
Margaret Shelton Jeopardy Age
2015 Kia Soul Serpentine Belt Diagram
Jailfunds Send Message
Dreamcargiveaways
Dumb Money, la recensione: Paul Dano e quel film biografico sul caso GameStop
Plato's Closet Mansfield Ohio
Babbychula
Tas Restaurant Fall River Ma
New York Rangers Hfboards
Chs.mywork
Www Usps Com Passport Scheduler
Lonely Wife Dating Club בקורות וחוות דעת משתמשים 2021
Cnp Tx Venmo
All Characters in Omega Strikers
Why Are The French So Google Feud Answers
Large Pawn Shops Near Me
Leland Westerlund
Adams-Buggs Funeral Services Obituaries
Espn Top 300 Non Ppr
Rheumatoid Arthritis Statpearls
300+ Unique Hair Salon Names 2024
17 of the best things to do in Bozeman, Montana
Msatlantathickdream
Ics 400 Test Answers 2022
Bellin Employee Portal
Latest Posts
Article information

Author: Barbera Armstrong

Last Updated:

Views: 5343

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Barbera Armstrong

Birthday: 1992-09-12

Address: Suite 993 99852 Daugherty Causeway, Ritchiehaven, VT 49630

Phone: +5026838435397

Job: National Engineer

Hobby: Listening to music, Board games, Photography, Ice skating, LARPing, Kite flying, Rugby

Introduction: My name is Barbera Armstrong, I am a lovely, delightful, cooperative, funny, enchanting, vivacious, tender person who loves writing and wants to share my knowledge and understanding with you.