20 关于wrapstuff宏包在文本中出现嵌套其他环环境时会报错的问题

发布于 2025-01-17 20:27:55

想要使用wrapstuff宏包实现图文环绕,如果此处的"文"中有其他嵌入环境,则会出现匹配错误,如下例子:

\documentclass{ctexart}
\usepackage[showframe]{geometry}
\usepackage{tcolorbox}
\usepackage{wrapstuff}
\begin{document}
    \begin{wrapstuff}[r]
        \includegraphics[width=8cm,height=5cm]{example-image.pdf}
    \end{wrapstuff}
    some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text
    \[ \sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6} \]
    some text some text some text some text some text some text some text some text 
    % \wrapstuffclear 
    \begin{tcolorbox}
    some text some text some text some text some text some text some text some text
    \end{tcolorbox}
    
    这里发现的问题在于,\texttt{wrapstuff}宏包似乎在 环绕的文本中 不支持嵌套其他环境。个人感觉是否\texttt{wrapstuff}环境是否应该提供更加显式的结束编组而不只是靠\texttt{wrapstuffclear}命令。
\end{document}

这导致了:

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

而使用minipage完全可以实现类似的效果:

image.png

是否当出现需要在"文"环境中嵌套其他环境(如tcolorbox)时,wrapstuff的优势并没有那么明显呢?

查看更多

关注者
0
被浏览
234
羊羊羊
羊羊羊 2025-01-18
这家伙很懒,什么也没写!
\documentclass{ctexart}
\usepackage{geometry}
\usepackage{tcolorbox}
\usepackage{wrapfig}
\usepackage{graphicx}

\begin{document}


\begin{wrapfigure}{r}{8cm} % 使用 wrapfig 替代 wrapstuff
    \includegraphics[width=\linewidth]{example-image.pdf}
\end{wrapfigure}

巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉

这是一个数学公式的示例:
\[
\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}
\]

\begin{tcolorbox}[colback=blue!5!white, colframe=blue!75!black, title=巴拉巴拉巴拉]
巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉
\end{tcolorbox}

巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉

\end{document}

image.png

2 个回答
啸行
啸行 2025-01-19
这家伙很懒,什么也没写!

我尝试了一下这样的代码:

\documentclass{ctexart}
\usepackage{tcolorbox}
\usepackage{wrapstuff}

\begin{document}
  简单说一下勾股定理.
  \begin{wrapstuff}[r]
    \includegraphics[width=0.45\linewidth]{example-image.pdf}
  \end{wrapstuff}
  我们定义直角三角形的两条直角边为 $a$, $b$ 而斜边为 $c$,
  那么有
  \[ a^2 + b^2 = c^2. \]
  如果设 $a=3$, $b=4$, 那么容易求出 $c=5$.
  
  \begin{tcolorbox}[width=0.45\linewidth]
    古代有``勾三股四弦五''的说法.
  \end{tcolorbox}  
\end{document}

image.png

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览