50 关于wrapstuff宏包使用时似乎无法让「被环绕的文本」中包含「enumerate」环境的疑问?

发布于 2025-08-24 18:34:51

如题,该问题的MWE如下:

\documentclass[fontset=fandol]{ctexart}
\usepackage{wrapstuff}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{wrapstuff}
\newcommand*{\mytxt}{我能吞下玻璃而不伤身体。}
\newcommand*{\mytxtt}{\mytxt\mytxt\mytxt\mytxt\mytxt\mytxt\mytxt\mytxt}
\setlength{\parindent}{0pt}
\begin{document}

\mytxtt

\bigskip

\begin{wrapstuff}[r,top=4]
\includegraphics[width=5.5cm,height=2cm]{example-image}
\end{wrapstuff}
2.(2024南宁模拟) \mytxtt(\qquad)

(A) \mytxt

(B) \mytxt

(C) \mytxt

(D) \mytxt

\wrapstuffclear

\bigskip

\mytxtt

% \bigskip

% \begin{wrapstuff}[r,top=4]
% \includegraphics[width=5.5cm,height=2cm]{example-image}
% \end{wrapstuff}
% 2.(2024南宁模拟) \mytxtt(\qquad)%
% \begin{enumerate}[label={\Alph*.}]%
% \item \mytxt
% \item \mytxt
% \item \mytxt
% \item \mytxt
% \end{enumerate}
% \wrapstuffclear

\bigskip

\end{document}

当使用笨拙

\begin{wrapstuff}[r,top=4]
\includegraphics[width=5.5cm,height=2cm]{example-image}
\end{wrapstuff}
2.(2024南宁模拟) \mytxtt(\qquad)

(A) \mytxt

(B) \mytxt

(C) \mytxt

(D) \mytxt

\wrapstuffclear

时,可以实现如下的效果:

image.png

但当使用enumerate环境时,立刻得到:

! Extra }, or forgotten \endgroup.
\vbox_set_end: ...r_group_end: \c_group_end_token

l.40 \begin{enumerate}[label={\Alph*.}]
                                       %
?

是否可以允许在wrapstuff的「文本」内部使用enumerate一类的列举环境呢?

查看更多

关注者
0
被浏览
59
1 个回答
M
M 2小时前
这家伙很懒,什么也没写!

猜测是 wrapstuff 在处理环绕正文匹配 group 的时候遇到了不匹配的问题,具体需要分析源码,可以直接向作者github提issue,但貌似好久没更新了~

如果你把enumeratewrapstuff两个环境间的题干去掉,就没有这个错了,说明后面跟单一的完整环境是可以被正确处理的,而单一的完整段落显然是可以被正确处理的,那干脆显式地在题干后强制添加\par或者强制添加一个空行来满足现有的处理逻辑,从结果来看似乎猜测还是有点靠谱的~

纯属拙见,仅供参考~

\documentclass{ctexart}
\usepackage{wrapstuff}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{wrapstuff}
\newcommand*{\mytxt}{我能吞下玻璃而不伤身体。}
\newcommand*{\mytxtt}{\mytxt\mytxt\mytxt\mytxt\mytxt\mytxt\mytxt\mytxt}

\begin{document}

\mytxtt
 \begin{wrapstuff}[r,top=2]
 \includegraphics[width=5.5cm,height=4.5cm]{example-image}
 \end{wrapstuff}
 2.(2024南宁模拟) \mytxtt(\qquad)\par
 %2.(2024南宁模拟) \mytxtt(\qquad)
 %
 \begin{enumerate}[label={\Alph*.}]%
 \item \mytxt
 \item \mytxt
 \item \mytxt
 \item \mytxt
 \end{enumerate}
\mytxtt  
\wrapstuffclear
\par\mytxtt
\par\mytxtt

\end{document}

局部截取_20250824_214107.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览