I'm translating some text that use the comment package, it's usage seems like that:
\begin{en}
... some English text
\end{en}
\begin{zh}
... corresponding Chinese text
\end{zh}
By using \excludecommand{en} or \includecommand{en} before \begin{document}, we can control the text out or in the final PDF document.
But this too trouble to add \begin{}/\end{} for every paragraph, what I want is following:
\en{
... some English text
}
\zh{
... corresponding Chinese text
}
this is much more simple to type. and I create the commands like this:
\newcommand{\zh}[1]{\begin{zh}#1\end{zh}}
\newcommand{\en}[1]{\begin{en}#1\end{en}}
But this cause compile error like runaway argument, how to make it work under this situation by using newcommand?

\let\OldEn\enand use\OldEn, instead of\begin{en}and\enden, instead of\end{en}. Also, while code snippets are useful in explanations, it is always best to compose a fully compilable MWE that reproduces the problem including the\documentclassand the appropriate packages so that those trying to help don't have to recreate it. – Peter Grill Mar 19 '14 at 14:18}any reasnobel editor shoudl allow you to enter \begin{en} \end{en} with 1 or 2 keystrokes – David Carlisle Mar 19 '14 at 14:28\includecommentand\exclude.... 2. your runaway arguments are because you have an end-paragraph (double-\n) inside the command argument; use\newcommand*instead of just\newcommand... or keep to 1 paragraph per\enor\zhcommand, and have the paragraph breaks outside the commands