%20mit%20%5CSetKwSwitch.png)
Das folgende M(not)WE sollte funktionieren. Habe ich einen Fehler gefunden?
\documentclass{article}
\usepackage{algorithm2e}
\SetKwSwitch{Switch}{Case}{Other}{Switch}{:}{Case}{Other}{}
\begin{document}
\begin{algorithm}
\Switch{X}{
\Case{1}{A}
\Other{Other}
}
\end{algorithm}
\end{document}
Antwort1
Kein Fehler: \SetKwSwitch
erfordertneunArgumente und Sie geben nur acht davon an, sodass die \par
von der leeren Zeile generierte als neunte verwendet wird. Und \par
ist in dem Kontext, in dem das neunte Argument verwendet wird, ungültig.
\newcommand{\SetKwSwitch}[9]{% #1=\Switch #2=\Case #3=\Other #4=switch #5=do #6=case #7=otherwise #8=endcase #9=endsw
% \algocf@newcmdside{#1}{3}%
\algocf@newcmdside@koif{#1}%
{\KwSty{#4}\algocf@scond\ArgSty{##2}\algocf@econd\KwSty{#5}\ifArgumentEmpty{##1}\relax{ ##1}\algocf@block{##3}{#9} {##4\relax}}%
Im Handbuch gibt es eine Beschreibung, in der das letzte (symbolische) Argument nicht in Klammern steht, also liegt hier ein Fehler vor, aber nur in der Dokumentation. Auf Seite 39, Anfang von Abschnitt 11.6, lesen Sie
\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endcase}endsw
aber es sollte
\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endcase}{endsw}
Festes Beispiel:
\documentclass{article}
\usepackage{algorithm2e}
\SetKwSwitch{Switch}{Case}{Other}{Switch}{:}{Case}{Other}{EndCase}{EndSwitch}
\begin{document}
\begin{algorithm}
\Switch{X}{
\Case{1}{A}
\Other{Other}
}
\end{algorithm}
\end{document}