原 文:No positions in optional float specifier
译 者:Xovee
翻译时间:2020年6月5日
No positions in optional float specifier
这是一个标准的 LaTeX 报错,当你在浮动元素的浮动指示符中没有指定浮动的方式时,就会遇到这个报错,例如,\begin{figure}[ht] 中的 ht。
浮动指示符定义了浮动元素在页面中浮动的方式,下面是指示符的一些选项:
Specifier | Permission |
---|---|
h | h 是 here 的首字母,也就是将浮动元素大致放置在它在正文中出现的地方, |
t | t 是 top 的首字母,也就是将浮动元素放置在页面的顶部 |
b | b 是 bottom 的首字母,也就是将浮动元素放置在页面的底部 |
p | p 是 special 的首字母,也就是将浮动元素放置在一个专门放置浮动元素的特殊页面 |
! | 强制改变 LaTeX 内部制定的 好 的浮动元素的位置标准 |
H | 将浮动元素精确地放置在其在正文中出现的地方。这个参数需要引入 float 包(\usepackage{float} )。这个参数也等价于 h! |
我们在创建浮动元素的时候,可以在其后的方括号中设定浮动指示符,例如 \begin{figure}[h]。你也可以一次性使用多个浮动指示符,例如 \begin{figure}[!htb],这个命令告诉 LaTeX,将图片放置在页面图片出现的位置(here),或者顶部(top),或者底部(bottom)。如果你没有指定浮动指示符,例如 \begin{table}[],那么就会触发一个报错:
如何去解决这个错误
移除方括号
解决这个错误最简单的方法即是移除方括号:\begin{table},而不是 \begin{table}[]。
添加一个浮动指示符
你也可以给浮动元素指定一个浮动指示符,将浮动指示符放置在浮动元素环境之后的方括号中,例如 \begin{table}[h] 或者 \begin{table}[!htb]。