[翻译] [LaTeX] !h float specifier changed to !ht

您所在的位置:网站首页 翻译begin [翻译] [LaTeX] !h float specifier changed to !ht

[翻译] [LaTeX] !h float specifier changed to !ht

2023-12-30 11:18| 来源: 网络整理| 查看: 265

原  文:`!h’ float specifier changed to `!ht’ 译  者:Xovee 翻译时间:2020年6月4日

`!h’ float specifier changed to `!ht’

当 LaTeX 在处理浮动元素(例如图片、表格等)的浮动指示符(例如 \begin{figure}[ht] 中的 ht)时出现了问题,就会抛出这个错误。在处理浮动元素时,LaTeX 会将其放置到合适的位置,从而避免正文中出现过大的间隙,或者过于密集的排版。浮动指示符参数可以让我们指定如何在正文中放置浮动元素,下面是可用的放置选项:

SpecifierPermissionhh 是 here 的首字母,也就是将浮动元素大致放置在它在正文中出现的地方,tt 是 top 的首字母,也就是将浮动元素放置在页面的顶部bb 是 bottom 的首字母,也就是将浮动元素放置在页面的底部pp 是 special 的首字母,也就是将浮动元素放置在一个专门放置浮动元素的特殊页面!强制改变 LaTeX 内部制定的 好 的浮动元素的位置标准H将浮动元素精确地放置在其在正文中出现的地方。这个参数需要引入 float 包(\usepackage{float})。这个参数也等价于 h!

LaTeX 会尽量按着用户所指定的方式去放置浮动元素,不过有时候也有例外。当 LaTeX 将浮动元素放置在期望的位置时遇到了问题,它可能会选择另外一种方式去放置浮动元素。当这种情况发生时,会出现类似于下面的报错信息:

\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{graphicx} \begin{document} \section{Introduction} \vspace{10cm} \begin{figure}[h] \centering \includegraphics{image.PNG} \end{figure} \end{document}

在这里插入图片描述 对于 LaTeX 来说,h 是一个非常严格的参数。为了解决这个错误,你可以放松这个限制,例如,将 h 更改为 ht,也就是说,将浮动元素放置在 here,或者,放置在 top。如果有必要的花,你甚至可以将限制放的更开:htbp 或者 !htbp。

如果你有特殊的需求,将浮动元素精确地放置在页面的某个地方,你可以选择如下几个方案:

使用 float 包: 当我们在序言中使用了 float 包时,我们可以使用一个更强大的指示符 H 来代替 h,H 可以保证浮动元素精确地出现在某个地方。

\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage{float} \begin{document} \section{Introduction} \begin{figure}[H] \centering \includegraphics{image.PNG} \end{figure} \end{document}

使用 placeins 包: 我们可以使用 placeins 包中的 \FloatBarrier 命令。这个命令会设置一个屏障,浮动元素的位置不能超过这个屏障。如果我们在浮动元素的上下放置这个命令,那么浮动元素将会困在这两个屏障之中:

\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage{placeins} \begin{document} \section{Introduction} \FloatBarrier \begin{figure} \centering \includegraphics{image.PNG} \end{figure} \FloatBarrier \end{document}

改变参数: 为了让图片出现在文字之间,而不是章节的末尾(默认),我们可以在序言中更改 float palcement 参数。下面是几个比较有用的选项:

\renewcommand\topfraction{.9} \renewcommand\textfraction{0.35} \renewcommand\floatpagefraction{0.8}


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3