如何强制两个数字在 LaTeX 中保持在同一页面上?
Posted
技术标签:
【中文标题】如何强制两个数字在 LaTeX 中保持在同一页面上?【英文标题】:How to force two figures to stay on the same page in LaTeX? 【发布时间】:2010-12-19 19:17:38 【问题描述】:我有两张图片要在页面上显示为数字。每个都占用了不到一半的可用空间,因此该页面上的任何其他内容都没有太多空间,但我知道两个数字都有足够的空间。我试图用 [ht] 和 [hb] 放置数字,同时使用 [h] 和 [ht] 但我仍然无法将这两个图像放在同一页面上,而是它们之间至少有几个段落。
如何强制这两个数字保持在同一页面上?
【问题讨论】:
最近在 TeX.SX 上提出了一个类似的问题,我相信使用\afterpage
命令的 answer 是最好的答案。
【参考方案1】:
您可以将两个图形放在一个图形环境中。例如:
\beginfigure[p]
\centering
\includegraphicsfig1
\captionCaption 1
\includegraphicsfig2
\captionCaption 2
\endfigure
每个标题都会生成一个单独的数字编号。
【讨论】:
这是一个值得记住的好答案:)。从来没想过,但它看起来很干净:)。 另一种可能性是 subfigure 包和图形环境中的命令,例如\subfloat[Caption]\includegraphicsfile
。
看来你不能\标记两个不同的数字独立,虽然
更改了“正确答案”标志,因为这似乎是最好的。
@Mulone - 如果您将\label
放在\caption
环境中,您似乎可以。【参考方案2】:
如果你想拥有相同主题的图片,你可以使用subfigure
包和构造:
\beginfigure
\subfigure[first image]\includegraphicsimage\labelfirst
\subfigure[second image]\includegraphicsimage\labelsecond
\captionmain caption\labelmain_label
\endfigure
例如,如果您想将两张不同的图片放在一起,您可以使用:
\beginfigure
\beginminipage.5\textwidth
\includegraphicsimage
\captionfirst
\endminipage
\beginminipage.5\textwidth
\includegraphicsimage
\captionsecond
\endminipage
\endfigure
对于列中的图像,您将在源中包含 [1] [2] [3] [4],但它看起来像
[1] [3]
[2] [4]。
【讨论】:
你也可以在这里使用 Jerred Russel 提到的构造:***.com/questions/1673942/latex-table-positioning Point is in usingfloat
package。【参考方案3】:
我在尝试混合数字和文本时遇到了这个问题。对我有用的是没有“!”的“H”选项。选项。
\beginfigure[H]
'H' 试图强制数字恰好位于您在代码中放置的位置。
这需要您包括
\usepackagefloat
选项解释here
【讨论】:
是的,float
包绝对是这里的正确答案。我经常感叹使用 !符号,就像在\beginfigure[h!]
中一样,在TeX 中也可以重写为\please
,因为编译器仍然只是自己决定将图像放在哪里。这次它只是对你眨眼,而不是无视你。 float
包将确保它做你想做的事。【参考方案4】:
如果您希望它们都在同一个页面上,并且它们基本上都会占据整个页面,那么最好的办法是告诉 LaTeX 将它们都放在自己的页面上!
\beginfigure[p]
如果页面上有两个图形,而它们上方或下方只有几行文字,可能会违反合理的排版原则(例如,丑陋)。
顺便说一句,[!h]
起作用的原因是因为它告诉 LaTeX 覆盖其通常的限制,即在带有文本的页面上应该为浮动分配多少空间。如上所述,存在限制是有原因的。这并不是说它们可以有所放松。请参阅FAQ。
【讨论】:
更准确地说,[p]
只告诉编译器将它们放在只有浮动的页面上。这可能会也可能不会导致这两个图的页面分开,具体取决于它们的大小。【参考方案5】:
尝试添加!
,例如[h!]
.
【讨论】:
不行,latex会用[ht]代替,然后继续把图放在单独的页面上。 在 Wiley 期刊模板中工作。【参考方案6】:先尝试 [h!],否则你会以丑陋的方式做到这一点。
LateX 在放置具有此类约束的图像时有点困难,因为它自己管理放置。如果我想在那个地方有一个人物,我通常会做类似|:
text in front of image here
\newpage
\figure1
\figure2
text after images here
我知道这可能不是正确的方法,但它就像一个魅力:)。
//编辑
如果您想在页面顶部添加一些文本,您也可以这样做,但只需使用 /clearpage。当然,您也可以将它们缩放得更小一点,这样就不会再发生了。也许看不见的空白比你想象的要大一些,我总是尝试缩小我的图像,直到它们出现在同一页面上,只是为了确定没有像 1% 的重叠只是让所有这些都不需要.
【讨论】:
谢谢,[h!] 成功了!我赞成你的回答,因为即使在这种情况下我不需要它,“丑陋的方式”似乎也是一个好东西。【参考方案7】:尝试使用float
包,然后为您的身材使用[H]
选项。
\usepackagefloat
...
\beginfigure[H]
\centering
\includegraphicsfig1
\captionWrite some caption here\labelfig1
\endfigure
正如这个有见地的答案已经建议的那样!
https://tex.stackexchange.com/questions/8625/force-figure-placement-in-text
【讨论】:
以上是关于如何强制两个数字在 LaTeX 中保持在同一页面上?的主要内容,如果未能解决你的问题,请参考以下文章
Symfony SecurityBundle:注销后如何保持在同一页面上?