Como criar um ambiente LaTeX3 em paracol sem problemas de delimitador?

Como criar um ambiente LaTeX3 em paracol sem problemas de delimitador?

Eu gostaria de transformar issoresponderem um ambiente. Portanto, eu uso xparsepara definir um ambiente LaTeX3, mas estou faltando uma coisinha porque gera erros.

Parece que tenho problemas com delimitadores e finais de ambientes.

Aqui um MWE:

\documentclass{article}

  \usepackage{graphicx,float}
  \usepackage{amsmath}
  \usepackage{paracol}
     \setlength{\columnseprule}{0.4pt}
     \setlength{\columnsep}{2em}

  \usepackage{xparse}
     \ExplSyntaxOn
     \NewDocumentEnvironment{outParaCol}{+b}
     {
        \group_begin:
        \switchcolumn[0]*[#1]
     }
     {
        \group_end:
     }
     \ExplSyntaxOff


\begin{document} 

\begin{paracol}{2}
  \begin{leftcolumn}
     For several days in succession fragments of a defeated army had passed through the town. 
     
     They were mere disorganized bands, not disciplined forces. 
     The men wore long, dirty beards and tattered uniforms; they advanced in listless fashion, without a flag, without a leader.
     All seemed exhausted, worn out, incapable of thought or resolve, marching onward merely by force of habit, and dropping to the ground with fatigue the moment they halted.
  \end{leftcolumn}
  \begin{rightcolumn}
     Pendant plusieurs jours de suite des lambeaux d'armée en déroute avaient traversé la ville. 

     Ce n'était point de la troupe, mais des hordes débandées. 
     Les hommes avaient la barbe longue et sale, des uniformes en guenilles, et ils avançaient d'une allure molle, 
     sans drapeau, sans régiment. Tous semblaient accablés, éreintés, incapables d'une pensée ou d'une résolution,   marchant seulement par habitude, et tombant de fatigue sitôt qu'ils s'arrêtaient. 
  \end{rightcolumn}

  \begin{outParaCol} % not working %  Missing delimiter (. inserted). <to be read again> \tex_par:D 
  % \switchcolumn[0]*[{ % working
     \begin{equation}
           a+B \left[\frac{1}{2}\right]
     \end{equation}
  % }] % end of switchcolumn
  \end{outParaCol}

  \begin{outParaCol} % not working % Paragraph ended before \@float@HH was complete. <to be read again> \par 
  % \switchcolumn[0]*[{ % working
     \begin{figure}[H]
     \centering
     \includegraphics[width=\linewidth]{example-image}
     \setlength{\columnwidth}{\dimexpr 0.5\textwidth-0.5\columnsep}%
        \caption{A caption}
     \end{figure}
  %  }] % end of switchcolumn
  \end{outParaCol}

  \begin{leftcolumn}
     One saw, in particular, many enlisted men, pea\-ceful citizens, men who lived quietly on their income, bending beneath the weight of their rifles; and little active volunteers,   easily frightened but full of enthusiasm, as eager to attack as they were ready to take to flight; and amid these, a sprinkling of red-breeched soldiers,       the pitiful remnant of a division cut down in a great battle; somber artillerymen, side by side with nondescript foot-soldiers; and, here and there, the gleaming helmet of a heavy-footed dragoon who had difficulty in keeping up with the quicker pace of the soldiers of the line.
  \end{leftcolumn}
  \begin{rightcolumn}
     On voyait surtout des mobilisés, gens pacifiques, rentiers tranquilles, pliant sous le poids du fusil; des petits moblots alertes, faciles à l'épouvante et prom\-pts à l'enthousiasme, prêts à l'attaque comme à la fuite; puis, au milieu d'eux, quelques culottes rouges, débris d'une division moulue dans une gran\-de bataille; des artilleurs sombres alignés avec des fantassins divers; et, parfois, le casque brillant d'un dragon au pied pesant qui suivait avec peine la marche plus légère des lignards.
  \end{rightcolumn}

\end{paracol}
\end{document}
%EoF

Responder1

Observe que você só precisa xparsede versões antigas de látex.

\NewDocumentEnvironmenté definido (em ltcmd.dtx) como parte do formato LaTeX e pode ser usado sem qualquer pacote.

O problema é que você omitiu o {}usado no [{...}]argumento do código referenciado.

Aqui {}estão delimitando um argumento (ocultando qualquer aninhado ]para que o argumento opcional termine onde necessário). Você não pode usar grupos implícitos como \bgroupou \group_begin:para tal uso. Assim como você precisa {}, \fbox{abc}você não pode usar \fbox\bgroup abc\egroup.

informação relacionada