如何在 paracol 中创建没有分隔符问题的 LaTeX3 环境?

如何在 paracol 中创建没有分隔符问题的 LaTeX3 环境?

我想把这个回答进入环境。因此,我用来xparse定义 LaTeX3 环境,但我遗漏了一些东西,因为它会产生错误。

看来,我对分隔符和环境结束存在疑问。

在这里有一个 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

答案1

请注意,您只需要xparse旧的乳胶版本。

\NewDocumentEnvironment在 中被定义ltcmd.dtx为 LaTeX 格式的一部分,无需任何包即可使用。

问题在于您省略了引用代码中的参数{}的使用。[{...}]

此处{}的 是分隔参数(隐藏任何嵌套],以便可选参数在需要时结束)。您不能使用隐式组(例如\bgroup或 )\group_begin:来实现这种用途。正如您需要{}中一样,\fbox{abc}您不能使用\fbox\bgroup abc\egroup

相关内容