admin管理员组文章数量:1630551
原 文:`!h’ float specifier changed to `!ht’
译 者:Xovee
翻译时间:2020年6月4日
`!h’ float specifier changed to `!ht’
当 LaTeX 在处理浮动元素(例如图片、表格等)的浮动指示符(例如 \begin{figure}[ht] 中的 ht)时出现了问题,就会抛出这个错误。在处理浮动元素时,LaTeX 会将其放置到合适的位置,从而避免正文中出现过大的间隙,或者过于密集的排版。浮动指示符参数可以让我们指定如何在正文中放置浮动元素,下面是可用的放置选项:
Specifier | Permission |
---|---|
h | h 是 here 的首字母,也就是将浮动元素大致放置在它在正文中出现的地方, |
t | t 是 top 的首字母,也就是将浮动元素放置在页面的顶部 |
b | b 是 bottom 的首字母,也就是将浮动元素放置在页面的底部 |
p | p 是 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}
本文标签: floatLaTeXspecifierhtchanged
版权声明:本文标题:[翻译] [LaTeX] !h float specifier changed to !ht 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729057710a1184162.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论