有时在创建文档时使用固定浮点数会更方便(例如从多个 MS Word 文档复制时),这样就不会丢失,然后在最后能够“释放”它们。
我的问题是:“如何实现这一点而不需要在工作结束时手动替换H
浮点数的每个规范(假设您在编写文档时使用包及其浮点数规范)。”ht!
float
H
我到目前为止的尝试是加载float
包并定义两个新命令。
\usepackage{float}
\newcommand{\floatingfloat}{\text{ht!}}
\newcommand{\fixedfloat}{\text{H}}
\begin{document}
\begin{table}[\fixedfloat]
\caption {Some caption.}
\label{tab:1}
\begin{center}
\begin{tabular}{@{}rl@{}}
\toprule
Numbers & More umbers
\midrule
1 & 5 \\
2 & 8 \\
6 & 3 \\
\bottomrule
\end{tabular}
\end{center}
\end{table}
\end{document}
然而,这会返回一个错误:“未知的浮点选项......”
任何帮助将不胜感激!
答案1
正如 @Zarko 和 @samcarter 指出的那样,有一个简单的方法可以做到这一点:
\usepackage{float}
\makeatletter
\def\fps@figure{H}
\def\fps@table{H}
\makeatother
\begin{document}
\begin{table}
\caption {Some caption.}
\label{tab:1}
\begin{center}
\begin{tabular}{@{}rl@{}}
.
.
\end{tabular}
\end{center}
\end{table}
\begin{figure}
\centering
\includegraphics[width=10cm]{"path"}
\caption{Some caption.}
\label{fig:1}
\end{figure}
\end{document}
在实际创建文档时,我们必须在前言中添加 5 行:usepackage{float}, \makeatletter ...
以使浮点数“固定”。然后在最后,我们只需H
用ht!
或其他位置规范替换并重新编译即可再次获得“浮动”浮点数。