sphinx-subfigure#
A sphinx extension to create figures with multiple images:
Provides a simple format for complex image layouts.
Supports HTML fully, with responsive layouts, for different screen sizes
LaTeX is supported, except for images that span multiple rows.
degrades gracefully for other formats.
Supports figure numbering and referencing.
Supports image sub-captions, via
alt
text.
Usage#
Install sphinx-subfigure
with pip install sphinx-subfigure
,
then add sphinx_subfigure
to your conf.py
file’s extensions
variable:
extensions = ["sphinx_subfigure"]
numfig = True # optional
Now add a subfigure
directive to your document:
.. subfigure:: AA|BC
:layout-sm: A|B|C
:gap: 8px
:subcaptions: above
:name: myfigure
:class-grid: outline
.. image:: imageA.png
:alt: Image A
.. image:: imageB.png
:alt: Image B
.. image:: imageC.png
:alt: Image C
Figure Caption
Each image is automatically assigned an area identifier (A, B, C, etc.).
Layouts are formed by composing the areas into a grid, with rows delimited by
|
.Each area must be used exactly once in the layout, and form a single rectangle.
“Empty” areas can be designated with
.
Additional layouts can be defined with
:layout-sm:
,:layout-lg:
,:layout-xl:
, and:layout-xxl:
, for different screen sizes (HTML only).
Fig. 1 Figure Caption#
The figure can now be referenced in the document:
:ref:`myfigure`, :numref:`myfigure`
Options#
Options for subfigure
directive:
name |
type |
description |
---|---|---|
|
string |
Layout for small screens |
|
string |
Layout for large screens |
|
string |
Layout for extra large screens |
|
string |
Layout for extra extra large screens |
|
length |
Space between image areas |
|
length |
Width of figure |
|
left|center|right |
Alignment of figure |
|
above|below |
Position of image captions |
|
string |
Label name of the figure |
|
space-delimited |
CSS class(es) for the figure |
|
space-delimited |
CSS class(es) for the grid |
|
space-delimited |
CSS class(es) for each area |
More Examples#
Fig. 2 Image spanning multiple columns: AA|BC
#
Fig. 3 Image spanning multiple rows: AB|AC
#
Fig. 4 Sub-figure with empty area: A.B|CDE
#
Fig. 5 Sub-figure with captions below#
Fig. 6 Sub-figure with no captions#
Fig. 7 Sub-figure with adaptive layouts#


Fig. 8 Sub-figure using myst-parser syntax: 
#