3

I am trying to make a letterhead using two different logos on a page using latex. I am using the following codes.

\ThisCenterWallPaper{0.3}{logo.png}
\setlength{\wpXoffset}{-6.1cm}
\setlength{\wpYoffset}{12.07cm}

\LRCornerWallPaper{0.3}{LRsealoffset.png}

The idea is to get the two logos to appear on the first page and the second logo to repeat on the subsequent pages. I have gotten this to work so far and I am able to adjust the position of the first logo using \setlength{\wpXoffset} command. However, I am unable to change the position of the second logo. Using the \setlength{\wpXoffset} below the \LRCornerWallPaper does not seem to work. Do you have any ideas or suggestions?

Thanks.

1 Answer 1

1

Using a different approach, based on my answer at What are the ways to position things absolutely on the page?, I introduce \atxy{x-pos}{y-pos}{content} to place something on the current page at a specified location, and then \ateveryxy{x-pos}{y-pos}{content} to do the same for all pages from the invocation forward.

\documentclass{article}
\usepackage{everypage}
\usepackage{lipsum,graphicx}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
 \AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
\newcommand\ateveryxy[3]{%
 \AddEverypageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
% VERIFIED THAT SETTING \hoffset AND \voffset DO NOT BREAK SOLUTION.
%\hoffset=0.4in
%\voffset=0.2in
\begin{document}
\atxy{0in}{0in}{\raisebox{-\height}{\includegraphics[width=2in]{example-image-A}}}
\atxy{6.5in}{0in}{\raisebox{-\height}{\includegraphics[width=2in]{example-image-B}}}
\lipsum[1-6]
\ateveryxy{3.25in}{0in}{\raisebox{-\height}{\includegraphics[width=2in]{example-image-B}}}
\lipsum[7-19]
\end{document}

Page 1

enter image description here

Subsequent pages

enter image description here

23
  • Thanks Steve. I gave this a shot, however, I ended up geting errors such as "! Undefined control sequence. \atxy #1#2#3->\AddThispageHook {\smash {\hspace *{\dimexpr -\PageLeftMargin ... l.106 ...}{\includegraphics[width=2in]{logo.png}}} ? "
    – Harry
    Commented Apr 3, 2015 at 15:36
  • 1
    @Harry \AddThispageHook is part of the everypage package. Did you place \usepackage{everypage} in your preamble? Commented Apr 3, 2015 at 15:39
  • 1
    @Harry I should have thought of that. For beginners not yet familiar with lipsum, it may seem like an important part of the solution, when in fact it is just filler text. Glad you resolved it! Welcome to the site. Commented Apr 3, 2015 at 15:55
  • 1
    @Harry I noticed that you have asked 3 questions but have not "accepted" any answers. The way to say thanks to one who provides an answer is to click the uparrow that appears to the left of their answer. Likewise, of the many answers you might receive, the way to signify that one in particular best answers your question is to click the check mark that appears to the left of the answer. Commented Apr 3, 2015 at 15:59
  • 1
    @Jonas I don't understand why that would be, but here is a possible workaround: use a macro in \ateveryxy so that the macro can be redefined to \relax when you don't want it on the page: \begin{document} \atxy{0in}{0in}{\raisebox{-\height}{\includegraphics[width=2in]{example-image-A}}} \atxy{6.5in}{0in}{\raisebox{-\height}{\includegraphics[width=2in]{example-image-B}}} \lipsum[1-6] \def\myepcmd{\raisebox{-\height}{\includegraphics[width=2in]{example-image-B}}} \ateveryxy{3.25in}{0in}{\myepcmd} \lipsum[7-12] \let\myepcmd\relax \lipsum[13-19] \end{document} Commented Jun 27, 2018 at 11:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .