l3coffins——如果棺材内容是列表,宽度错误

l3coffins——如果棺材内容是列表,宽度错误

在下面的例子中,您会看到coffin输入的enumerate有错误。我可以使用 来解决这个问题\@parboxrestore

  1. 有没有解释解决方案?
  2. 这个解决方案是否应该成为棺材的默认解决方案?

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}
\usepackage{kantlipsum}
\begin{document} 
\ExplSyntaxOn
\coffin_new:N \l_xframed_store_one_coffin 

\NewDocumentEnvironment { xframed } { }
 {
  \vcoffin_set:Nnw \l_xframed_store_one_coffin { .7\linewidth }
 }
 {
  \vcoffin_set_end:
  \fboxsep0pt\fbox{\coffin_display_handles:Nn \l_xframed_store_one_coffin { red }}
}
\ExplSyntaxOff

\begin{xframed}
\kant[2]
\end{xframed}


\begin{xframed}
\begin{enumerate}
\item foo
\item bar \verb+1+
\end{enumerate}
\end{xframed}

\makeatletter
\begin{xframed}
\@parboxrestore
\begin{enumerate}
\item foo
\item bar \verb+1+
\end{enumerate}
\end{xframed}

\end{document}

答案1

修复实际上并不需要全部\@parboxreset:一个简单的

\linewidth\hsize

会的。我们可能需要修改这一点,l3coffins因为除非加载了 LaTeX3模块,否则棺材代码中l3galley就没有什么可修改的了。\linewidth

相关内容