¿Operadores tabulares en un código de entorno personalizado?

¿Operadores tabulares en un código de entorno personalizado?

Mi pregunta se refiere a la combinación de latabularentorno y el \DeclareDocumentEnvironmentcomando (desde elxparsepaquete).

¿Cómo configuro un entorno que contiene en su código algunos de los operadores deltabularentorno, como &o \\?

Aquí está mi ejemplo mínimo (no) funcional de lo que pensé que podía hacer, pero aparece un error:

\documentclass{article}
\usepackage{xparse,booktabs}
\DeclareDocumentEnvironment{env}{mm}{\toprule #1 & #2 &}{\\ \bottomrule}

\begin{document}
\begin{tabular}{lll}
\begin{env}{one}{two}
three
\end{env}
\end{tabular}
\end{document}

¿Alguna idea de lo que podría hacer para que este entorno funcione dentro deltabular¿ambiente?

Gracias de antemano,

Pierric

Respuesta1

Se \toprule quejarán si antes encontraron algo que no se puede expandir. Puede solucionar el problema utilizando comandos antiguos y simples:

tabular

\documentclass{article}
%\usepackage{xparse,booktabs}
%\DeclareDocumentEnvironment{env}{mm}{\toprule #1 & #2 &}{\\ \bottomrule}

\usepackage{booktabs}
\newcommand{\env}[2]{\toprule #1 & #2 &}
\newcommand{\envend}{\\ \bottomrule}

\begin{document}\thispagestyle{empty}
\begin{tabular}{lll}
\env{one}{two}
three
\envend
\env{four}{five}
six
\envend
\end{tabular}
\end{document}

información relacionada