Envolver células tabulares em macro

Envolver células tabulares em macro

Gostaria de usar a sintaxe de especificação de coluna do ambiente tabular do livro de memórias para agrupar automaticamente as células de uma tabela em uma macro. Isso é possível? Eu tentei o seguinte

\documentclass{memoir}
\newcommand\bracketit[1]{[#1]}
\begin{document}
\begin{tabular}{l>{\bracketit\bgroup}c<{\egroup}}
    1 & A \\
    2 & B \\
\end{tabular}
\end{document}

que falha com

! Missing } inserted

Eu esperava que fosse equivalente a

\documentclass{memoir}
\newcommand\bracketit[1]{[#1]}
\begin{document}
\begin{tabular}{lc}
    1 & \bracketit{A} \\
    2 & \bracketit{B} \\
\end{tabular}
\end{document}

mas sem a digitação. Claro que com o simples \bracketitnão há necessidade de macro, eu poderia inserir os colchetes diretamente. Porém, a macro que desejo aplicar não é tão simples e está fora do meu alcance ( mhchem.sty's \ce). O que tento fazer é possível?

Responder1

Isto é possível com ocollcellpacote:

\documentclass{memoir}
\usepackage{collcell}
\newcommand\bracketit[1]{[#1]}
\begin{document}
  \begin{tabular}{l>{\collectcell\bracketit}c<{\endcollectcell}}
    1 & A \\
    2 & B \\
  \end{tabular}
\end{document}

informação relacionada