xgalley 打破列表周围的间距

xgalley 打破列表周围的间距

xgalley与标准软件包相比,我希望使用一种更灵活、更手动的方式将文本环绕在图形周围wrapfig。但是,简单地加载软件包会导致列表构造的垂直间距出现问题,如下所示。我认为进一步的测试将在不同情况下产生更多问题。这个问题可以修复吗,或者它xgalley太过实验性,根本无法在 LaTeX2e 中使用?

\documentclass{article}

\usepackage{xgalley,lipsum}

\begin{document}

\lipsum

\begin{itemize}
\item\lipsum
\end{itemize}

\end{document}

在此处输入图片描述

答案1

随着l3galley改变一切在添加垂直列表时,不幸的是,很多代码都会出现问题。这里的问题是,\@item两次运行\addvspace相邻的,而当前设置在用于添加单个“用户”调整l3galley的基础上工作\addvspace。(这可能需要重新审视。)幸运的是,目前修复它很简单:

\documentclass{article}

\usepackage{lipsum}
\usepackage{xgalley}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@item
  {\addvspace\@topsep\addvspace{-\parskip}}
  {\addvspace{\@topsep - \parskip}}
  {}{}
\makeatother

\begin{document}

\lipsum

\begin{itemize}
\item\lipsum
\end{itemize}

\end{document}

其工作原理是,l3galley的版本\addvspace采用表达式而不是单个维度作为其参数。

请注意,其余itemize环境也需要进行调整,以允许所有厨房代码正常工作。

相关内容