2

I've been trying to put several small images on top of a large one.

One way I found to place one picture on top of another one was to use the stackengine package. I couldn't figure how to place several of them on the same figure though. What I tried was something like this bellow:

\documentclass[a4paper]{article}
\usepackage{latexsym,amsmath,epsfig} 
\usepackage{graphicx}     
\usepackage{stackengine}
\parskip 1em

\begin{document}

def\big{\includegraphics[width=0.99\textwidth]{Re80ro40mu50}}
def\little1{\includegraphics[width=0.15\textwidth]{image0001}
def\little2{\includegraphics[width=0.15\textwidth]{image0004}}
\def\stackalignment{l}
\bottominset{\little1}{\big}{0.25\textwidth}{0.17\textwidth}
\topinset{\little}{\big}{2cm}{3cm}
\bottominset{\little2}{\big}{0.25\textwidth}{0.17\textwidth}\par
\def\stackalignment{r}
\topinset{\little}{\big}{2cm}{1cm}
\bottominset{\little}{\big}{1cm}{2cm}

\end{document}

But what it does is it makes 4 figures, and places the small figure differently in each (instead of putting them on the same).

Another way I tried was to use boxes, like bellow:

\documentclass[a4paper]{article}
\usepackage{latexsym,amsmath,epsfig} 
\usepackage{graphicx}     
\usepackage{stackengine}
\parskip 1em

\begin{document}

\begin{figure}
\centering
\setbox1=\hbox{\includegraphics[width=0.99\textwidth]{Re80ro40mu50}}
\includegraphics[width=0.99\textwidth]{Re80ro40mu50}\llap{\makebox[0.85\wd1][l]{\raisebox{3.4cm}{\includegraphics[height=2cm]{image0001}}}}\llap{\makebox[0.7\wd1][l]{\raisebox{3.8cm}{\includegraphics[height=2cm]{image0004}}}}\llap{\makebox[0.53\wd1][l]{\raisebox{5cm}{\includegraphics[height=2cm]{image0008}}}}\llap{\makebox[0.4\wd1][l]{\raisebox{9cm}{\includegraphics[height=2cm]{image0011}}}}\llap{\makebox[0.3\wd1][l]{\raisebox{2.8cm}{\includegraphics[height=2cm]{image0014}}}}
\caption{Drag coefficient history during the deformation of the droplet}
\end{figure}nter code here

\end{document}

This one actually works, but if want to rotate the whole image by adding angle=270 in the \includegraphics options, so that I get a full-page image in large, it gives an error and complains about the options for graphics package. (Angle option works without adding the small images on top, so if it's just one picture.)

I would be really greatful if someone could tell me why I cannot rotate the images in the 2nd version, or how can I add all small images to the big one in the same figure. (Or any ways to add more than one small images /also rotated/ to one big rotated image!)

Thanks!

6

A sideways house (my own artwork!) with two smaller houses on top.

enter image description here

\documentclass{article}

\usepackage{graphicx}

\begin{document}



\begin{figure}

\begin{picture}(200,200)

\put(50,50){\includegraphics[angle=90]{house}}

\put(175,200){\includegraphics[scale=.25]{house}}

\put(100,80){\includegraphics[scale=.25]{house}}

\end{picture}

\end{figure}

\end{document}
  • Gotta love that house! :) – Paulo Cereda Nov 8 '13 at 9:44
3

Make sure you have the latest version of stackengine, currently V3.21. It has been evolving rapidly. One such area is on making nested insets easier. While \bottominset and \topinset are still supported, their functionality has been taken over with \stackinset.

The syntax is

\stackinset{H-origin}{H offset}{V origin}{V offset}{inset material}{anchor material}

H-origin is either l, c, or r

H offset is a length

V-origin is either t, c, or b

V offset is a length

inset material is what you want to overlay (can be text or an image)

anchor material is the base object over which to overlay (can be text or an image)

From the stackengine documentation:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.