Fehler, bevor der Befehl abgeschlossen war

Fehler, bevor der Befehl abgeschlossen war

Ich möchte, dass mein neuer Befehl auch mit einem Multiparagraphen oder einem Tikz-Bild als Parameter funktioniert.

\documentclass{article}
\usepackage{paralist,xparse,calc}

\NewDocumentCommand{\HorsListe}{sO{1}m}{%
    \IfBooleanTF{#1}{%
    \par\nopagebreak[4]\addvspace{1\itemsep}%
        \hspace{-#2\leftmargin}}{%
    \par\nopagebreak[4]\addvspace{2\itemsep}%
        \hspace{-#2\leftmargin}}%
    \begin{minipage}[t]{\linewidth+#2\leftmargin}
    #3

    \addvspace{3\itemsep}
    \end{minipage}%
    \nopagebreak[2]}


\begin{document}
\begin{itemize}
\item This works

\HorsListe{Something wide}

\item This doesn't work.

\HorsListe{Something wide

    with paragraph}

\item This doesn't work too

\HorsListe{\begin{tikzpicture}

\draw (0,0) rectangle (\linewidth,0) ;

\end{tikzpicture}}

\end{itemize}
\end{document}

Antwort1

Es wird angenommen , dass die Argumente \NewDocumentCommandkurz sind. Sie müssen +sie lang machen:

\NewDocumentCommand{\HorsListe}{sO{1}+m}{ CODE HERE }

verwandte Informationen