Я хотел бы использовать синтаксис спецификации столбцов табличной среды 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}