使用eso-pic在页边距内的中心背景图像

时间:2014-09-24 19:09:48

标签: latex

在我的论文中,我已经发表了论文。我将页面作为单独的EPS文件提取出来,然后缩小它们,使它们适合页边距内的一页(\pageScale)。

\hfill{}\includegraphics[scale=\pageScale]{Integrative-Theory-Associative/eps-pages/page-1}\hfill{}

虽然这样可行,但页面看起来非常小,以适应边距。我想将图形的大小增加到边距之外,这样页眉和页码信息会与插入页面的边距重叠。

eso-pic允许我用插入的页面填充整个页面,但页眉和页码与插入页面中的文本重叠:

\mbox{}
\AddToShipoutPictureBG*{
  \includegraphics{Integrative-Theory-Associative/pdf-pages/page-1.pdf}
}
\newpage

Example Output

我想缩小页面中心并使图形居中,使它们尽可能大,而图形中的文本不在标题后面并且在边距内。

我不介意手动确定图形的正确比例,但我无法想象如何将较小图形的中心放在边距的中心。 \AtPageCenter  不符合我的预期,以图形中心为中心,而不是图形左下方的中心。

1 个答案:

答案 0 :(得分:1)

在下面的示例中,我使用了adjustbox的一些实力来调整包含的内容:

enter image description here

\documentclass{article}
\usepackage{fancyhdr,lipsum}% Just for this example
\fancyhf{}
\fancyhead[C]{This is some random header text}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{.4pt}
\renewcommand{\footrulewidth}{.4pt}
\pagestyle{fancy}

\usepackage[export]{adjustbox}
\usepackage{eso-pic}

\newcommand{\pictureincenteroftextblock}[2][]{%
  \AddToShipoutPictureBG*{%
    \AtTextLowerLeft{%
      \raisebox{.5\textheight}{%
        \hspace*{.5\textwidth}%
        \makebox[0pt]{\includegraphics[max width=\textwidth,max height=\textheight,valign=c,#1]{#2}}%
      }%
    }%
  }%
}

\begin{document}
\lipsum[1-5]

\clearpage

\mbox{}% Just put something on this page.
\pictureincenteroftextblock{example-image-a}

\clearpage

\mbox{}% Just put something on this page.
\pictureincenteroftextblock{example-image-10x16}

\clearpage

\mbox{}% Just put something on this page.
\pictureincenteroftextblock{example-image-1x1}

\clearpage

\mbox{}% Just put something on this page.
\pictureincenteroftextblock{example-image-a4}

\end{document}

使用[export]选项,adjustbox会将其键值添加到graphicx\includegraphics选项中。我使用的是max widthmax height,如果宽度或高度超过这些最大值,同时仍保持包含的图像,它将缩小包含的图像(或PDF中的页面)图像/页面宽高比。此外,valign=c将以align ertically v方式c \raisebox内容。

eso-pic用于将图像放置在背景中,从文本块的左下角开始。然后,通过标准间距命令,将其提升到位置(\hspace)并将其推到(\makebox[0pt])到文本块的中心。最后,图像水平居中({{1}})。