通过重新定义 \topfigurerule 和 \bottomfigurerule
可在页面顶部或底部的文本和图形之间画上一水平线。尽管 \topfigurerule 和 \bottomfigurerule 是已经定义的
LATEX 命令,但是它们奇特的定义方式要求在重定义时用
\newcommand 而不是 \renewcommand。
为了不破坏版面,这些命令所加的标尺的高度必须为零。例如要 划一条 0.4pt 的水平线,就必须加上一 -0.4pt 的距离:
\newcommand{\topfigrule}{\hrule\vspace{-0.4pt}}
因为 \topfigrule 在 \textfloatsep 之前被执行,上面的
命令没有在图形与水平线之间留出距离。下面的命令则在图形与水平线之间 留出了 5pt 的空间。
\newcommand{\topfigrule}{%
\vspace*{5pt}\hrule\vspace{-5.4pt}}
\newcommand{\botfigrule}{%
\vspace*{-5.4pt}\hrule\vspace{5pt}}
在这里 \topfigrule 的定义中,首先向下移动 5pt (进入到 \textfloatsep
的区域)来给出图形与水平线之间的距离,然后画上一高为 0.4pt 的水平线, 最后再向上移动 5.4pt 以补偿前面向下的位移。同样地, \botfigrule
在图形与水平线之间留出了 5pt 的空间。 由于上面的命令使得图形与水平线之间的距离为 5pt ,所以水平线与文本
之间的距离为 \textfloatsep - 5pt (见第 18.1 节)。
水平线的线宽缺省为 0.4pt,并可用 \hrule 命令的 height 选项
来改变。
\newcommand{\topfigrule}{%
\vspace*{5pt}{\hrule height0.8pt}\vspace{-5.8pt}}
\newcommand{\botfigrule}{%
\vspace*{-5.8pt}{\hrule height0.8pt}\vspace{5pt}}
需要注意下面几点:
|