在新环境中使用 fbox

在新环境中使用 fbox

我正在尝试编写一个新环境来将文本添加到 \fbox 中,当我单独使用 \fbox 时,它运行得很好

\fbox{\begin{minipage}{0.9\textwidth}
does this work, I would love if it did
\end{minipage}}

如果我随后将其添加到名为 notes 的新命令中,Latex 似乎不喜欢它

\newenvironment{notes}
{\fbox{\begin{minipage}{0.9\textwidth}}}
{\end{minipage}}

当我在文档中的这个环境中输入某些内容时,会出现错误

\begin{notes}
Does this work, I would love if it did
\end{notes}

我收到的错误是:

! Extra }, or forgotten \endgroup.
\fbox ...xsep {#1}\kern \fboxsep \color@endgroup }
\@frameb@x \relax 
l.80 \begin{notes}

?

答案1

这显示了如何在宏(\notes)和环境(\begin{Notes})形式中执行此操作。编辑:感谢 jfbu 提供的正确语法,可以避免环境嵌套。

\documentclass{article}
\newsavebox{\mybox}
\newenvironment{Notes}
{\begin{lrbox}{\mybox}\begin{minipage}{0.9\textwidth}}
{\end{minipage}\end{lrbox}\fbox{\usebox{\mybox}}}

\newcommand\notes[1]{%
  \fbox{\begin{minipage}{0.9\textwidth}#1\end{minipage}}}
\begin{document}
\notes{Does this work, I would love if it did}

\begin{Notes}
Does this work in an environment form?  I would love if it did
\end{Notes}
\end{document}

在此处输入图片描述

相关内容