我有一个高大的人物,我想让它出现在单独的页面上,但不是在文章的最后,并且想要较小的顶部和底部边距仅有的对于浮动页面。我可以\begin{figure}[p]
将其放在浮动页面上。
我确实尝试过诸如此类的技巧\newgeometry ... \restoregeometry
,但它们要么会剪切上一页的文本(请参阅下面的 MWE),要么会影响前/后页的边距(我无法在 MWE 中重现这一点)。在下面的 MWE 中,第二页的文本被剪切,只显示 4 行文本,然后我得到了下一页的图形,然后再次显示文本。我希望文本仍然正常流动,即第二页有全文。
\documentclass[12pt,a4paper,oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage[left=1.8in,right=1.8in,top=1.75in,bottom=1.65in]{geometry}
\begin{document}
\blindtext[1]
\blindtext[1]
\blindtext[1]
\blindtext[1]
\newgeometry{top=10mm, bottom=15mm}
\begin{figure}
\includegraphics[height=10cm]{image.png}
\caption{bleh}
\end{figure}
\restoregeometry
\blindtext[1]
\blindtext[1]
\blindtext[1]
\blindtext[1]
\blindtext[1]
\end{document}
如果没有,\newgeometry
我可以通过使用负片来获得/模拟较小的顶部边距\vspace
,并且仍然使文本流动而不会在上一页被剪切,但底部边距是最大的罪魁祸首,因为我想将页码推得更低。
我将非常感激能够得到一些提示。
答案1
部分问题在于\blindtext
创建一个大的单个段落而不是多个段落。
我不确定为什么,但\clearpage
最后的额外内容似乎是必要的。我确实注意到 afterpage\clearpage
在内部重新定义了。
\documentclass[12pt,a4paper,oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage[left=1.8in,right=1.8in,top=1.75in,bottom=1.65in]{geometry}
\usepackage{afterpage}
\begin{document}
\lipsum[1-3]
\afterpage{\newgeometry{top=10mm, bottom=15mm}
\begin{figure}[p]
\includegraphics[height=10cm]{example-image}
\caption{bleh}
\end{figure}
\restoregeometry\clearpage}
\lipsum[4-10]
\end{document}
此解决方案将小页面和页脚叠加在空白页面上。第一个按钮\raisebox
与\vfill
s 一起移动到修改后的文本区域的中心。第二个\raisebox
按钮执行页脚,假设几何形状不会改变\footskip
。
\documentclass[12pt,a4paper,oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage[left=1.8in,right=1.8in,top=1.75in,bottom=1.65in,showframe]{geometry}
\usepackage{afterpage}
\makeatletter
\newcommand{\setcaptype}[1]% #1 = figure or table
{\def\@captype{#1}}
\makeatother
\begin{document}
\lipsum[1-3]
\afterpage{\clearpage\thispagestyle{empty}
\null\vfill
\noindent\raisebox{\dimexpr 1.75in-1.65in}[10mm][15mm]% center of new text area
{\begin{minipage}[c]{\textwidth}
\setcaptype{figure}
\includegraphics[height=10cm]{example-image}
\caption{bleh}
\end{minipage}}
\vfill% add footer manually
\noindent\raisebox{\dimexpr 15mm-1.65in-\footskip}[0pt][0pt]{\makebox[\textwidth][c]{\thepage}}
\newpage}
\lipsum[4-10]
\end{document}