我正在尝试对一本书进行布局,对所有内容的放置方式和位置有相当严格的要求,因此我试图\figure
非常精确地控制周围的文本,并在其周围留出非常明确的空白。我遇到的问题是所有图形下方的空白都比上方多得多。我希望它们相同。
(如果有人能找到涵盖控制周围空间的属性的文档,\figure
请告诉我。)
通过深入的网络搜索,我发现提到了参数\belowcaptionskip
、\abovecaptionskip
、\intextsep
、\floatsep
。\textfloatsep
我已将它们全部设置为零,但浮动下方仍然有更多空间,我无法弄清楚是什么原因造成的。(我可能不希望这些为零,但为了测试,我想消除它们的影响。)
下面是一个最小示例,首先它仅包含一个图形\includegraphics
,您会看到图形上方和下方大约有 0.1 英寸。我不明白为什么那里会有那个空间。是否有其他设置可以控制它。但至少它是对称的,所以我可以控制它。文本中空间的总大小为 2.2 英寸。
但是当我将相同的图形放在\figure
顶部时,顶部的空间消失了,而其下方出现了额外的空间。实际上,图像似乎向上移动并部分重叠了文本,底部出现了额外的空间(数量不完全相同)。(同样,最终我可能会重新添加空间,但我希望上下的空间数量相同。)图形结果如下所示:
在我看来,它上面有 -0.03 英寸(基本上比原始包含图形向上移动了 -0.13 英寸),下面有 0.18 英寸(基本上在下面增加了 0.08 英寸)。文本中空间的总大小为 2.16 英寸(比单独包含的图形小一点。)
为什么将图像放入图中(当我知道的所有参数都设置为零时)会导致它失去其上方的白色空间并增加其下方的白色空间(但数量不相等)。
我正在尝试解决的问题之一是,当当前页面上有足够的空间时,如何防止图像移动到下一页。我担心,如果我尝试在\vspace
底部添加底片来解决这个问题,它最终还是会“大于”空间,而其实它并不需要。
使用它来产生相同的结果:
\documentclass[paper=7in:10in,11pt,pagesize=pdftex,openright,headings=twolinechapter,chapterprefix=true]{scrbook}
\usepackage{graphicx}
\usepackage{needspace}
\usepackage{longtable}
\usepackage{framed}
\usepackage{setspace}
\usepackage{showframe}
%page is 7 x 10. With these margins the printed area
%is 5.75 inches by 9 inches.
\usepackage[inner=0.75in,outer=0.50in,top=0.75in, bottom=0.75in, footnotesep=.3in, footskip=.4in]{geometry}
%Page size settings
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\def\mygraphpaper{%
\begin{tikzpicture}
\draw[line width=.4pt,draw=black!30] (0,0) grid[step=0.1in] (\paperwidth,\paperheight);
\draw[line width=.4pt,draw=red!50] (0,0) grid[step=1in] (\paperwidth,\paperheight);
\end{tikzpicture}%
}
\usepackage{tikz}
\usepackage{background}
\backgroundsetup{
angle=0,
contents=\mygraphpaper,
color=green,
scale=1,
}
\belowcaptionskip = 0pt
\abovecaptionskip = 0pt
\intextsep = 0pt
\floatsep = 0pt
\textfloatsep = 0pt
\begin{document}
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ IncludeGraphics
\begin{center}
\noindent\includegraphics[width=2in]{example-image-1x1.png}
\end{center}
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT Float
\begin{figure}[!ht]
\begin{center}
\noindent\includegraphics[width=2in]{example-image-1x1.png}
\end{center}
\end{figure}
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL
\begin{figure}[!ht]
\begin{center}
\noindent\includegraphics[width=2in]{example-image-1x1.png}
\end{center}
\end{figure}
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL
\end{document}
修改 1
Fran 指出\begin{center}
环境增加了一些垂直空间。我将其更改为\centering
,果然,空间变小了,但图形仍然不平衡。这是测试\includegraphics
,看起来顶部大约有 0.04 英寸,底部大约有 0.06 英寸,总尺寸为 2.1 英寸:
这是使用的图形版本\centring
,看起来它顶部大约 -0.04 英寸(仍然重叠),底部大约 0.02 英寸,总尺寸为 1.98 英寸(比图像小!):
稍微花点功夫\vspace
也许可以解决这个问题,但这是正确的方法吗?
谢谢弗兰!
答案1
对于类似的问题,我找到了使用xcoffins
包的解决方案。
简而言之,它将材料(文本、表格、图形、tikzfigures 等)放在特殊的盒子里。(称为棺材,名字选得不好)
它有几个优点:
(1)它允许以多种方式合并这些框(这里没有必要)
(2)框不是浮动的,而是在当前插入点处排版,并添加了偏移量。(此处使用)。您可以将框放置在物理页面的任何位置,包括难以到达的位置,例如角落。
在这个特殊情况下,有三个步骤:
(1)用 赋值\NewCoffin
。
(2) 填写\SetHorizontalCoffin
。
(3)用 排版和偏移\TypesetCoffin
。
第一个图形是在 AAX 之后排版的,没有偏移。
第二个是水平居中,并在顶部和底部添加了垂直空间以显示功能,这在工作的最后润色时非常有用。
% !TeX TS-program = pdflatex
\documentclass[paper=7in:10in,11pt,pagesize=pdftex,openright,headings=twolinechapter,chapterprefix=true]{scrbook}
\usepackage{graphicx}
\usepackage{needspace}
\usepackage{longtable}
\usepackage{framed}
\usepackage{setspace}
\usepackage{showframe}
\usepackage{xcoffins} %<<<< added
\NewCoffin\FigA %<<<< allocate
%page is 7 x 10. With these margins the printed area
%is 5.75 inches by 9 inches.
\usepackage[inner=0.75in,outer=0.50in,top=0.75in, bottom=0.75in, footnotesep=.3in, footskip=.4in]{geometry}
%Page size settings
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\def\mygraphpaper{%
\begin{tikzpicture}
\draw[line width=.4pt,draw=black!30] (0,0) grid[step=0.1in] (\paperwidth,\paperheight);
\draw[line width=.4pt,draw=red!50] (0,0) grid[step=1in] (\paperwidth,\paperheight);
\end{tikzpicture}%
}
\usepackage{tikz}
\usepackage{background}
\backgroundsetup{
angle=0,
contents=\mygraphpaper,
color=green,
scale=1,
}
\belowcaptionskip = 0pt
\abovecaptionskip = 0pt
\intextsep = 0pt
\floatsep = 0pt
\textfloatsep = 0pt
\begin{document}
\SetHorizontalCoffin\FigA{\includegraphics[width=2in]{example-image-1x1.png}}
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT No offsets
AAX \TypesetCoffin\FigA
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT Centered and vertical offsets
\vspace*{1ex} % upper space
\noindent\TypesetCoffin\FigA(0.5\textwidth-1in,-1ex) % center + no lower space
ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT ZZZ LLL ZZZ MMM ZZZ TTT
\end{document}
其他例子