以下是我想做的事情:我使用文档类别“报告”和信函页面大小。我希望一个特定的部分由两页组成,每页上有一个流程图。流程图是用外部程序制作的,并保存为 PNG;每幅图像都是信函大小,需要以全尺寸包含在内才能清晰易读。当然,两页中的第一页将有章节编号和标题,两页都有页码;流程图的设计避开了页码出现的位置和标题出现的位置,以便于以全尺寸包含它们。
所以基本上我想告诉 LaTeX 的是:“用两页空白页创建一个部分,添加页码,在两页中的第一页上添加部分标题,然后取这张图片并将其叠加在第一页上,然后取另一张图片并将其叠加在第二页上。”
我以前没有使用过 LaTeX 的任何图形;从我读过的内容来看,似乎可以使用 tikZ 和“记住图片”+“叠加”来实现这一点,但我找不到任何足够详细的文字来让我明白该怎么做。我也尝试了软件包文档,但我无论如何也搞不清楚节点。
这编辑是对 Herr K 的回答的回应。给定的代码唯一没有解决的是章节标题的问题。考虑以下修改。我\section{Flowcharts}
在序言中添加了 和 两行,以便每个章节都从新页面开始:
\documentclass{report}
\usepackage{tikz}
\usepackage{mwe} % this package provides dummy images for illustration purposes
\usepackage{titlesec} %allows for more robust sectioning
\newcommand{\sectionbreak}{\clearpage} %starts each section on new page
\begin{document}
\lipsum[1-2]
\section{Flowcharts}
% 1st image
\clearpage
\tikz[remember picture,overlay]{\node[]at(current page.center){\includegraphics{example-image-letter-numbered}};} % replace example-image* with your own image file
% 2nd image
\clearpage
\tikz[remember picture,overlay]{\node[]at(current page.center){\includegraphics{example-image-letter-numbered}};} % replace example-image* with your own image file
\end{document}
如果我包括第一个\clearpage
,那么新部分的第一页将留空,并且流程图将打印在第二页和第三页上。
如果我删除第一个\clearpage
,则不会显示该部分标题。
答案1
也许这对于您的用例来说有点过头了,但我编写了一个名为的包,pdfoverlay
可轻松在多页 PDF 文件上叠加文本。但它对单页 PDF 甚至单页 PNG 也同样有效。
尝试这样的操作:
\documentclass{report}
\usepackage{pdfoverlay}
\begin{document}
This is page 1.
\clearpage
\pdfoverlaySetPDF{example-image-letter.pdf}
\chapter{This is a chapter heading}
\clearpage
\pdfoverlaySetPDF{example-image-a4.pdf}
\null % You need some object on the page for LaTeX to output the page.
\clearpage
\end{document}
答案2
您提到的 TikZ 解决方案:
\documentclass{report}
\usepackage{tikz}
\usepackage{mwe} % this package provides dummy images for illustration purposes
\begin{document}
\lipsum[1-2]
% 1st image
\clearpage
\tikz[remember picture,overlay]{\node[]at(current page.center){\includegraphics{example-image-letter-numbered}};} % replace example-image* with your own image file
% 2nd image
\clearpage
\tikz[remember picture,overlay]{\node[]at(current page.center){\includegraphics{example-image-letter-numbered}};} % replace example-image* with your own image file
\end{document}
编辑以回应评论:
由于被图片覆盖,部分标题未显示。解决此问题的一种方法是\section
在放置第一张图片后发出命令,这需要暂时暂停命令\sectionbreak
:
\documentclass{report}
\usepackage{tikz}
\usepackage{mwe} % this package provides dummy images for illustration purposes
\usepackage{titlesec} %allows for more robust sectioning
\newcommand{\sectionbreak}{\clearpage} %starts each section on new page
\begin{document}
\lipsum[1-2]
% 1st image
\clearpage
\tikz[remember picture,overlay]{\node[]at(current page.center){\includegraphics{example-image-letter-numbered}};} % replace example-image* with your own image file
{
\renewcommand\sectionbreak{} % temporarily suspends section break
\section{Flowcharts} % add section title after image so that it won't be covered
}
% 2nd image
\clearpage
\tikz[remember picture,overlay]{\node[]at(current page.center){\includegraphics{example-image-letter-numbered}};} % replace example-image* with your own image file
\end{document}