Jean-Côme Charpentier a écrit :
GL a écrit :
[...]
Je crois que j'y suis :
J'ai un doute.
Zut ! J'ai mal lu... mais si vous aviez fait un exemple *complet*, je
ne me serai pas vautré. Ce qui n'est pas complètement une excuse.
J'ai quand même un doute :-)
\documentclass{article}
\newenvironment{fakeenv}{\fakebegin}{}
\def\fakebegin#1\end{\gdef\fakecontent{#1}\end}
\begin{document}
% Ça fonctionne
\begin{fakeenv}
coucou & toto
\end{fakeenv}
\begin{tabular}{|c|c|}
\hline
\fakecontent \\\hline
\end{tabular}
% Ça merde
\begin{fakeenv}
\begin{center}
coucou \\ toto
\end{center}
\end{fakeenv}
\end{document}
La gestion (fine) des curr@env est quand même plus ou moins
indispensable si on veut garder la possibilité d'emboîter des
environnements (ce qui n'est pas déraisonnable comme demande).
L'extension amsmath fait cela grâce à \collect@body. C'est donc une
possibilité pour une solution un peu plus propre de votre problème.
Deuxième essai :
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newenvironment{fakeenv}
{\collect@body\fakecontent}
{}
\newcommand*\fakecontent[1]{#1}
\makeatother
\begin{document}
\begin{fakeenv}
\begin{center}
coucou \\ \textbf{toto}
\end{center}
\end{fakeenv}
\fakecontent
\end{document}
Jean-Côme Charpentier
--
Sinon, tant qu'à se vautrer dans le plus infâme n'importe quoi (je
profite que Josselin n'est pas là pour lâcher la bride à tous mes
instincts les plus pervers) :
-+- Jean-Côme in fr.comp.text.tex -+-