无法为表格单元格创建环境

无法为表格单元格创建环境

我有一个环境,其行为取决于一些外部情况。在某些情况下,环境应该充当表格单元格(而在其他情况下,它应该充当段落)。适当的\begin{tabular}{...}\end{tabular}由另一个宏打印,这些宏也会适当地改变其行为。

但是,我无法定义适当的环境。MWE 是:

\documentclass{article}

\newenvironment{cell}{}{&}

\begin{document}

\begin{tabular}{lll}
\begin{cell}
    abc
\end{cell}
\end{tabular}

\end{document}

我做错了什么?我该如何解决?

答案1

使用此帖子:https://tex.stackexchange.com/a/8084/168600 我找到了一个解决方案:

\documentclass{article}


\usepackage{environ}
\NewEnviron{cell}{%
  \expandafter\gdef\expandafter\gtemp\expandafter{%
    \BODY\expandafter&
  }%
  \aftergroup\gtemp
}
\begin{document}


\begin{tabular}{l|l|l|l}
\begin{cell}
    abc
\end{cell}
\begin{cell}
    def
\end{cell}

\end{tabular}

\end{document}

相关内容