使用回忆录的 \newfloat 和 \newlistof 时缺少空格

使用回忆录的 \newfloat 和 \newlistof 时缺少空格

我创建了一个新的浮动环境和新的列表,如回忆录手册中所述。我的问题是列表标题和其项目之间的间距与图表列表的间距不同。下面是一个示例,说明了我的意思:

测试.tex

\documentclass[a4paper]{memoir}

\usepackage{xltxtra}
\usepackage{polyglossia}

% New list of source code listings
\newcommand{\sourcename}{Source Code Listing}
\newcommand{\listsourcename}{List of Source Code}

\newfloat[chapter]{source}{los}{\sourcename}
\newlistof{listofsources}{los}{\listsourcename}
\newlistentry{source}{los}{0}

\chapterstyle{pedersen}

\begin{document}

\frontmatter

\listoffigures
\clearpage
\listofsources

\mainmatter

\chapter{One}   

\begin{figure} \caption{Some  fig} \end{figure}
\begin{figure} \caption{Other fig} \end{figure}

\begin{source} \caption{Some  src} \end{source}
\begin{source} \caption{Other src} \end{source}

\end{document}

编译使用:

xelatex test.tex && xelatex test.tex

下面是标题的图像。

有没有什么简单的方法可以将新列表的样式设置为与图形列表相同的样式?

答案1

\insertchapterspace必须重新定义,以便los每当新章节开始时它还会添加一些垂直空间。编辑:memoir提供\addtodef可用于修改定义的宏\insertchapterspace

\documentclass[a4paper]{memoir}

\newcommand{\sourcename}{Source Code Listing}
\newcommand{\listsourcename}{List of Source Code}

\newfloat[chapter]{source}{los}{\sourcename}
\newlistof{listofsources}{los}{\listsourcename}
\newlistentry{source}{los}{0}

\addtodef{\insertchapterspace}{}%
    {\addtocontents{los}{\protect\addvspace{10pt}}}

\usepackage{graphicx}

\chapterstyle{pedersen}

\begin{document}

\frontmatter

\listoffigures
\clearpage
\listofsources

\mainmatter

\chapter{One}   

\begin{figure} \caption{Some  fig} \end{figure}
\begin{figure} \caption{Other fig} \end{figure}

\begin{source} \caption{Some  src} \end{source}
\begin{source} \caption{Other src} \end{source}

\end{document}

相关内容