如何避免将 \parskip 应用于 \listoffigures 等?

如何避免将 \parskip 应用于 \listoffigures 等?

后续问题为什么\listof{}{}\listoffigures的风格不同?...

通过上述问题,我终于设法按需要设计了我的,\listof{}{}\listoffigures仍有一个问题尚未解决:如何避免对我的文档进行全局设置,例如\setlength{\parskip}{3mm}应用于图表列表、表格列表等?

MWE:取消注释\setlength{\parskip}{3mm}会影响\listoffigures但不会影响\listof{algo}{List of Algorithms}

\documentclass[12pt,a4paper,twoside,openright]{report}
 \usepackage[english]{babel}
 \usepackage{float}
  \newfloat{algo}{tbp}{loa}[chapter]
%  \setlength{\parskip}{3mm}
%  \setlength{\parindent}{3mm}
  \frenchspacing
  \sloppy
 \usepackage{etoolbox}
 \makeatletter
  \patchcmd{\@chapter}%
  {\addtocontents{lof}}%
  {\addtocontents{loa}{\protect\addvspace{10pt}}%
   \addtocontents{lof}}%
  {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}}
 \makeatother


 \begin{document}
  \listoffigures
  \listof{algo}{List of Algorithms}

  \chapter{foo}
   \begin{figure}
    \centering
    \rule{1cm}{1cm}
    \caption{A figure}
   \end{figure}
   \begin{algo}
    (algo)
    \caption{An algorithm}
   \end{algo}
   \begin{figure}
    \centering
    \rule{1cm}{1cm}
    \caption{Another figure}
   \end{figure}
   \begin{algo}
    (algo)
    \caption{Another algorithm}
   \end{algo}

  \chapter{bar}
   \begin{figure}
    \centering
    \rule{1cm}{1cm}
    \caption{Yet another figure}
   \end{figure}
   \begin{algo}
    (algo)
    \caption{Yet another algorithm}
   \end{algo}

 \end{document}

答案1

\parskip首先,您不应该将其设置为固定值,使用parskip包可能更好。只需将列表放在一个组中,然后将 parskip 设置为零即可。

\documentclass[12pt,a4paper,twoside,openright]{report}
\usepackage[english]{babel}
\usepackage{float}
\newfloat{algo}{tbp}{loa}[chapter]

\usepackage{parskip}

\frenchspacing

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@chapter}
  {\addtocontents{lof}}
  {\addtocontents{loa}{\protect\addvspace{10pt}}\addtocontents{lof}}
  {}{}
\makeatother


\begin{document}
\begingroup\setlength{\parskip}{0pt plus .1pt}
\listoffigures
\listof{algo}{List of Algorithms}
\endgroup

\chapter{foo}
...

我永远不会使用非零 parskip非零缩进(老实说,我会绝不使用非零 parskip)。此外,\sloppy即使 TeX 可以做得更好,对整个文档进行声明也会导致排版效果很差。

相关内容