LittleSweet
LittleSweet

Reputation: 554

How to use Pandoc image alignment to align two images in the same row?

From the pandoc documentation I know how to insert an image

http://johnmacfarlane.net/pandoc/README.html#images

Now I want to align two images in the same row, how can I do that? My desired output format is pdf.

Upvotes: 21

Views: 18017

Answers (4)

weiji14
weiji14

Reputation: 517

Expanding on from John's answer, if you do want a single caption under two side by side figures, a 'hack' would be to do this:

![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=60%}
![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=40%}
\begin{figure}[!h]
\caption{A single caption for the two subfigures}
\end{figure}

This results in one caption for two images placed side by side. You might need to tweak each individual image's width setting, or the !h caption placement specifier to get things looking like this:

hacked caption

I found this helpful because you don't have to download the picture off the internet as in a pure LaTeX \subfigure solution. I.e. just use pandoc markdown to get the image, and LaTeX to generate the caption.

If you want to go crazy, you can actually use the same idea above to make subfigure captions like so:

![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=60%}
![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=40%}
\begin{figure}[!h]
\begin{subfigure}[t]{0.6\textwidth}
\caption{Caption for the left subfigure}
\end{subfigure}
\hfill
\begin{subfigure}[t]{0.4\textwidth}
\caption{Caption for the right subfigure}
\end{subfigure}
\caption{A single caption for the two subfigures}
\end{figure}

enter image description here

Edit 20180910:

You'll need to include the following packages in the pandoc YAML frontmatter/header:

header-includes: |
    \usepackage{caption}
    \usepackage{subcaption}

Upvotes: 17

Shruti Kapoor
Shruti Kapoor

Reputation: 1136

You could use a preprocessor like gpp to include options like align image. Or you could do it like how John told you:

![](tests/lalune.jpg)\ ![](tests/lalune.jpg)

Upvotes: 0

John MacFarlane
John MacFarlane

Reputation: 8947

You can try something like this:

![](tests/lalune.jpg)\ ![](tests/lalune.jpg)

This will give you two side-by-side images. You won't have a caption, though; pandoc only treats an image as a captioned figure if it is by itself in a paragraph.

Upvotes: 24

gthink
gthink

Reputation: 21

One simple way is convert your file first to a .tex file, where you can adjust your image alignment with LaTeX command minipage or so. Then you could obtain your .pdf file running latex or pandoc in command line. See Pandoc Demos for example.

Upvotes: 0

Related Questions