1

I would like to have three pictures on two pages (A4 in landscape mode) with tikz in the following manner:

Middle picture:

  • The picture in the middle is halved (at 50 %) into two parts, one part shall be added to the right side of the first page and on the left side of the second page.
  • Both parts of middle picture shall be right at the border of the page (right on the first page/left in the second).

Outer pictures:

  • The other two pictures shall be on the left side (first page) and right side (second page), respectively.
  • Both shall have the same distance (i. e. 2 cm) to the picture in the middle.
  • Both pictures shall be right at the border of their corresponding page, left on the first page and right on the second.

All pictures:

  • All picture shall have the height of the paper.

The issue I have with my current code is that I have to adjust the pictures by myself. However, I would like tikz and LaTeX do everything for me "automatically". How can I achieve this?

This is my code:

\documentclass{article}
\usepackage[margin=0cm, top=0cm, bottom=0cm, outer=0cm, inner=0cm, landscape, a4paper]{geometry}
\pagestyle{empty}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{tikz,tikzscale}

\begin{document}

\par\noindent
\hspace{-.1cm}%
\begin{minipage}{.5\linewidth}
    \vspace{21cm}
    \begin{tikzpicture}[remember picture, overlay]
        \includegraphics[width=\linewidth, height=\paperheight, trim={18cm 0 0 0}, clip]{example-image}
    \end{tikzpicture}    
\end{minipage}\hfill
\hspace{1cm}%
\begin{minipage}{.5\linewidth}
    \vspace{21cm}
    \begin{tikzpicture}[remember picture, overlay]
        \includegraphics[height=\paperheight]{example-image}
    \end{tikzpicture}    
\end{minipage}

\par\noindent
\hspace{-13.8cm}%
\begin{minipage}{.5\linewidth}
    \vspace{21cm}
    \begin{tikzpicture}[remember picture, overlay]
        \includegraphics[height=\paperheight]{example-image}
    \end{tikzpicture}     
\end{minipage}
\hspace{1cm}%
\begin{minipage}{.5\linewidth}
    \vspace{21cm}
    \begin{tikzpicture}[remember picture, overlay]
        \includegraphics[width=10cm, height=\paperheight, trim={18cm 0 0 0}, clip]{example-image} % l b r t
    \end{tikzpicture} 
\end{minipage}

\end{document}
Til Hund
  • 1,181

1 Answers1

1

Like this?

\documentclass{article}
\usepackage[margin=0cm, top=0cm, bottom=0cm, outer=0cm, inner=0cm, landscape, a4paper]{geometry}
\pagestyle{empty}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[overlay,remember picture]
\pgfmathsetmacro{\mywidth}{2*\paperwidth/3-1cm} % kept local
\node at ([xshift=-\paperwidth/6-1cm]current page.center){%
    \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-a}};
\node at (current page.east){%
    \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-b}};
\end{tikzpicture}
~
\clearpage
\begin{tikzpicture}[overlay,remember picture]
\pgfmathsetmacro{\mywidth}{2*\paperwidth/3-1cm} % kept local
\node at ([xshift=\paperwidth/6+1cm]current page.center){%
    \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-c}};
\node at (current page.west){%
    \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-b}};
\end{tikzpicture}
\end{document}

enter image description here

EDIT: Added the gap. (Note that computing \mywidth twice is not a blunder.)

  • Hi marmot, thank you for your solution. Yes, almost. Can you please add a space of 2cm between picture A and the left part of B and between picture C and the right part of B? – Til Hund Feb 20 '19 at 15:14
  • 1
    @TilHund Sure. Sorry, I just overread it. –  Feb 20 '19 at 15:21
  • Awesome, marmot, this solution is perfect. What does the ~ do in the code? – Til Hund Feb 20 '19 at 15:44
  • 1
    @TilHund Nothing except for putting something invisible such that \clearpage generates a new page. –  Feb 20 '19 at 15:45
  • Hi, marmot, last thing: How can I label, i. e. (image) the node with picture A? – Til Hund Feb 20 '19 at 16:09
  • 1
    @TilHund Sorry, I do not understand the request. Could you please rephrase it? Do you want to put a label somewhere? If so, where? –  Feb 20 '19 at 16:11
  • Usually, one can label nodes in tikz, like node[label=image] or \node (image) at (0,0) {a}; for positing, right? How can I label the above node \node at ([xshift=-\paperwidth/6-1cm]current page.center){% \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-a}}; correctly? – Til Hund Feb 20 '19 at 16:13
  • 1
    @TilHund Labels are also just nodes. If you use them in the way you propose, the labels will end up outside the picture. You could do \node[label={[anchor=south,yshift=2em]below:pic A}] at ([xshift=-\paperwidth/6-1cm]current page.center){% \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-a}}; or just \node (picA) at ([xshift=-\paperwidth/6-1cm]current page.center){% \includegraphics[width=\mywidth pt,height=\paperheight]{example-image-a}}; \node[anchor=south] at (picA|-current page.south) {pic A};. –  Feb 20 '19 at 16:19