\includegraphics 的替代方案

\includegraphics 的替代方案

我正在使用 TiZ 在页眉中包含图像,并发现如果图像滚动到下一页,则 TiZ 将其包含在下一页的页眉位置(基本上,TiZ 似乎只是抓取了错误的图像)。有没有其他方法\includegraphics可以替代它,以便我可以绕过这个问题?

最小示例:

\documentclass[12pt, letterpaper]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usepackage{atbegshi}

\usetikzlibrary{calc}

\newcommand\HeadAndFoot{
\begin{tikzpicture}[overlay,remember picture]
% logo
\node[anchor=north west, xshift=250, yshift=-20] (logo) at (current page.north west) {\includegraphics[width=100pt]{figA}};
\end{tikzpicture}
}


\pagestyle{empty}
\AtBeginShipout{\HeadAndFoot}

\begin{document}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}


\end{document} 

figA.png 为 401x146 像素 figB.png 为 630x128 像素

当我这样做时,我得到了一个没有徽标的标题页(预期),第二页在徽标位置有“figB”(惊喜),第三页在徽标位置有“figA”。

答案1

由于您使用的是tikz,因此您还拥有pgf基本的图层命令,因此,\includegraphics您可以使用 声明图像\pgfdeclareimage,然后使用 来使用它,而不是使用\pgfuseimage。 (考虑到您重复使用应用了相同缩放比例的同一图像,这实际上更有意义。)

\documentclass[12pt, letterpaper]{article}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usepackage{atbegshi}

\usetikzlibrary{calc}

\pgfdeclareimage[width=100pt]{A}{figA}
\pgfdeclareimage[width=\textwidth]{B}{figB}

\newcommand\HeadAndFoot{
\begin{tikzpicture}[overlay,remember picture]
% logo
\node[anchor=north west, xshift=250, yshift=-20] (logo) at (current page.north west) 
{\pgfuseimage{A}};
\end{tikzpicture}
}


\pagestyle{empty}
\AtBeginShipout{\HeadAndFoot}

\begin{document}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\pgfuseimage{B}

\end{document} 

这使用了figA第二页和第三页顶部的图像。

至于问题的原因,起初我以为可能是与选项的交互remember picture,但没有它也可以重现该问题:

\documentclass[12pt, letterpaper]{article}
\usepackage[draft]{graphicx}
\usepackage{atbegshi}

\newcommand\HeadAndFoot{\includegraphics[width=100pt]{figA}}


\pagestyle{empty}
\AtBeginShipout{\HeadAndFoot}

\begin{document}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\includegraphics[width=\textwidth]{figB}

\end{document} 

所以我猜这与发货有关。您使用图像作为水印还是页眉?如果是页眉,那么将其合并到页面样式中可能会更简单。

相关内容