Обернуть ячейки таблицы в макрос

Обернуть ячейки таблицы в макрос

Я хотел бы использовать синтаксис спецификации столбцов табличной среды memoir для автоматического переноса ячеек таблицы в макросе. Это возможно? Я попробовал следующее

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

который терпит неудачу с

! Missing } inserted

Я надеялся, что это будет эквивалентно

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

но без набора текста. Конечно, с простым \bracketit, нет необходимости в макросе, я мог бы вставить скобки напрямую. Однако макрос, который я хочу применить, не так прост и находится вне моих рук ( mhchem.sty's \ce). Возможно ли вообще то, что я пытаюсь сделать?

решение1

Это возможно сcollcellупаковка:

\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}

Связанный контент