我在序言中创建了一个新的浮点类型,内容如下:
\floatstyle{plain}
\newfloat{myfloat}{thpb}{myfloat}[chapter]
\floatname{myfloat}{\bf My Float}
然后我使用以下命令在文档开头创建所有这些新浮点数的列表:
\listof{myfloat}{My Floats}
我想更改 myfloat 列表中元素之间的间距,以使其与我的 listoffigures 和 listoftables 中的间距相匹配。
我正在使用基于书籍类别的课程(更具体地说:http://www.eg.bucknell.edu/physics/thesis/buthesis.cls)。
答案1
要使新的浮点数列表实现相同的格式,必须重新定义两个命令:\listof
from float.sty
(我假设您正在使用此包构建新的浮点类型)和\@chapter
from book.cls
(其上的标准类buthesis.cls
是 build)。第一个重新定义仅将\parskip
from 0pt
(使用 float 创建的新列表的默认值)更改为0.2in
(这是 的值)。第二个重新定义只是在新列表的每个章节的开头buthesis.cls
添加一个垂直空间。10pt
必须添加到前言中的相关代码(在float
包加载之后)如下:
\makeatletter
\renewcommand*{\listof}[2]{%
\@ifundefined{ext@#1}{\float@error{#1}}{%
\@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
\float@listhead{#2}%
\begingroup\setlength{\parskip}{0.2in}% default: 0pt
\@starttoc{\@nameuse{ext@#1}}%
\endgroup}}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\addtocontents{myfloat}{\protect\addvspace{10\p@}}%adds space to the new list
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\makeatother