调整浮点数中的规则高度

调整浮点数中的规则高度

我正在使用float包来获取带有规则的浮动环境。我想调整ruled样式中规则的高度以适应包的浮动。也就是说,我希望底部规则与顶部规则一样粗(就像在booktabs表格中一样)。

我已经使用低级 TeX 命令进行了一些自定义,使浮点数后面带有点。但我无法对规则高度使用类似的技巧。

我的 MWE 如下。

\documentclass{article}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage{float}
\floatstyle{ruled}

\floatname{AlgoEnv}{Algorithm}
\newfloat{AlgoEnv}{htbp}{loa}[section]

\makeatletter
\renewcommand\floatc@ruled[2]{{\@fs@cfont #1.} #2\par}

% doesn't seem to work
\def\@fs@post{\hrule height.8pt depth0pt \kern2pt}

\makeatother

\begin{document}
\section{First}

\begin{AlgoEnv}
\caption{blabla}
description
\end{AlgoEnv}

\end{document}

结果如下。

enter image description here

如您所见,底线与中间线相似,而顶部线更粗。

答案1

您必须\floatstyle{ruled}在应用样式之前修补宏定义:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage{etoolbox}
\usepackage{float}

\makeatletter
\patchcmd{\fs@ruled}
 {\def\@fs@post{\kern2pt\hrule\relax}}
 {\def\@fs@post{\kern2pt\hrule height 0pt depth .8pt\relax}}
 {}{}
\makeatother
\floatstyle{ruled}

\floatname{AlgoEnv}{Algorithm}
\newfloat{AlgoEnv}{htbp}{loa}[section]

\begin{document}
\section{First}

\begin{AlgoEnv}
\caption{blabla}
description
\end{AlgoEnv}

\end{document}

enter image description here

相关内容