在下面的例子中,您会看到coffin
输入的enumerate
有错误。我可以使用 来解决这个问题\@parboxrestore
。
- 有没有解释解决方案?
- 这个解决方案是否应该成为棺材的默认解决方案?
\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