%20%D1%81%20%5CSetKwSwitch.png)
Следующий M(not)WE должен работать. Я нашел ошибку?
\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}
решение1
Ошибок нет: \SetKwSwitch
требуетсядевятьаргументов, а вы предоставляете только восемь из них, поэтому \par
сгенерированное пустой строкой принимается как девятое. И \par
является незаконным в контексте, где используется девятый аргумент.
\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}}%
В руководстве есть описание, где последний (символический) аргумент не заключен в скобки, так что ошибка есть, но только в документации. На странице 39, начало раздела 11.6, вы читаете
\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endcase}endsw
но это должно быть
\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endcase}{endsw}
Исправленный пример:
\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}