I'm looking for the most efficient way to stitch multiple images together in ImageMagick, on top of a background image, such that the spacing / padding between the overlaid images is consistent?

I've investigated use of +append, convert -composite, and convert with -page and -layers merge.

The following command (convert -composite) works, but requires precalculation of image dimensions in order to specify absolute offsets. Really, I want a 10 pixel gap between the end of the FIRST layered image and the start of the second layered image, but the only way I can see to achieve that is by specifying the absolute offset from the top-left corner of the canvas.

```
convert \
  background.jpg \
  first.jpg -gravity Northwest -geometry  +10+10 -composite \
  second.jpg                   -geometry +300+10 -composite \
  third.jpg                    -geometry +590+10 -composite \
  output.jpg

```

I am looking for some sort of operator so that the horizontal offset can be interpreted relative to the "last" image in the layering, so instead of specifying `+300+10` for the second image and `+590+10` for the third, I can somehow specify a `+10+10` offset.

I thought gravity would allow me to achieve that (`-gravity Northwest`), in the same way that `float: left;` works in CSS positioning, but that is not the case.

I have also had some success with the following:

```
convert \
  -page  +10+10 first.jpg  \
  -page +300+10 second.jpg \
  -page +590+10 third.jpg  \
  -background transparent  \
  -layers merge \
   layered.png

convert background.jpg layered.png -gravity Center -composite output.jpg

```

Both the techniques described require pre-calculation of absolute offsets, which is a bit of a pain. Is there a better way to do this?