我想在我的文章中插入一张大图。这张图片的大小约为670pt*2200pt,所以不能在一页内显示(使用图形环境),我调整了它的宽度,这样\textwidth
水平方向的效果就让我满意了,但是垂直方向,图片还是被裁剪在页面的末尾。我不想调整高度,因为我需要这张图片连续显示在几个pdf页面中。
Markdown 语言可以完美完成这个任务,我只插入了这张图片并将 markdown 转换为 pdf。但我的大部分工作都是在 LaTeX 环境中完成的,所以有谁能告诉我如何实现这个功能?
答案1
您可以按通常的方式使用图片,但是\includegraphics
具有剪辑选项,可以仅显示图片的某些区域。见下文:
\includegraphics[trim={Lmm Bmm Rmm Tmm}, clip, width=\textwidth]{picture}
L、B、R 和 T 分别表示左边距、下边距、右边距和上边距。
答案2
\documentclass{article}
\usepackage{adjustbox}
\usepackage{blindtext}
\begin{document}
\blindtext \blindtext \blindtext
\noindent
\adjustbox{trim=3pt {\dimexpr\height-9\baselineskip} 0pt 0pt, clip}{\includegraphics[width=\linewidth]{example-image-b}}
\noindent
\adjustbox{trim=3pt 0pt 0pt 9\baselineskip, clip}{\includegraphics[width=\linewidth]{example-image-b}}
\blindtext
\end{document}
答案3
这是一种手动缝合后续页面上碎片的方法。
程序:
将原始图像存储在一个框中(称为
\origimgbox
)。这为我们在整个构建过程中提供了一些工作依据。除了图像所在的最后一页之外的每一页上,构建一个包含“当前图像”的框(称为
\curimgbox
),并将该“当前图像”添加到“累积图像”框(称为\cumimgbox
)。最后一张图像只是设置为剩余的图像
\curimgbox
。
我们构造框来测量已放置内容和剩余内容的高度。此外,由于图像从页面底部向上放置(通过) minipage
,因此 s 设置为其底线。当然,整页放置可以使用,因此我们仅使用计算第一个部分图像[b]
\smash
\textheight
\curimgbox
zref
的savepos
模块(通过\zsaveposy
和可扩展的\zposy
宏)。
\documentclass{article}
\usepackage[paper=a6paper, showframe]{geometry}% Just for this example
\usepackage{lipsum,zref-savepos}
\usepackage[export]{adjustbox}
\newsavebox{\curimgbox}
\newsavebox{\cumimgbox}
\newsavebox{\origimage}
\begin{document}
\savebox{\origimage}{\begin{minipage}[b]{\textwidth}
\nointerlineskip
\makebox[\textwidth]{-- top 1 --} \\
\includegraphics[width=\textwidth]{example-grid-100x100pt}\\
\makebox[\textwidth]{-- gap 2 --} \\
\includegraphics[width=\textwidth]{example-grid-100x100pt}\\
\makebox[\textwidth]{-- gap 3 --} \\
\includegraphics[width=\textwidth]{example-grid-100x100pt}\\
\makebox[\textwidth]{-- gap 4 --} \\
\includegraphics[width=\textwidth]{example-grid-100x100pt}\\
\makebox[\textwidth]{-- bot 5 --}
\end{minipage}}
\sloppy
\lipsum[1]
\mbox{}\zsaveposy{top}
\vfill
\noindent\zsaveposy{bot}%
\savebox{\curimgbox}{\begin{minipage}[b]{\textwidth}
\adjustbox{trim=0pt % llx
{\dimexpr\ht\origimage-\zposy{top}sp+\zposy{bot}sp-.5\baselineskip} % lly
0pt % urx
0pt, % ury
clip}{\usebox{\origimage}}%
\end{minipage}}%
\smash{\usebox{\curimgbox}}%
\savebox{\cumimgbox}{\usebox{\curimgbox}}%
%%% next page
\clearpage
\mbox{}
\vfill
\noindent
\savebox{\curimgbox}{\begin{minipage}[b]{\textwidth}
\adjustbox{trim=0pt % llx
{\dimexpr\ht\origimage-\ht\cumimgbox-\textheight} %lly
0pt %urx
{\ht\cumimgbox},% ury
clip}{\usebox{\origimage}}%
\end{minipage}}%
\savebox{\cumimgbox}{\begin{minipage}[b]{\textwidth}
\nointerlineskip
\usebox{\cumimgbox}\\\usebox{\curimgbox}
\end{minipage}}%
\smash{\usebox{\curimgbox}}
%%% next page
\clearpage
\mbox{}
\vfill
\noindent
\savebox{\curimgbox}{\begin{minipage}[b]{\textwidth}
\adjustbox{trim=0pt %llx
{\dimexpr\ht\origimage-\ht\cumimgbox-\textheight} %lly
0pt % urx
{\ht\cumimgbox},% ury
clip}{\usebox{\origimage}}%
\end{minipage}}%
\savebox{\cumimgbox}{\begin{minipage}[b]{\textwidth}
\nointerlineskip
\usebox{\cumimgbox}\\\usebox{\curimgbox}
\end{minipage}}%
\smash{\usebox{\curimgbox}}
%%% last page
\clearpage
\noindent
\savebox{\curimgbox}{\begin{minipage}[t]{\textwidth}
\adjustbox{trim=0pt %llx
0pt %lly
0pt % urx
{\ht\cumimgbox},% ury
clip}{\usebox{\origimage}}%
\end{minipage}}%
\usebox{\curimgbox}
\lipsum[2]
\end{document}
在上面的例子中,构建了一个伪原始图像,它由许多线分隔符(top 1
,gap 2
, ... ,bot 5
)和矩形图像(example-grid-100x100pt
来自mwe
)。