Napisałem następujące definicje w moim dokumencie z lateksu. Wygląda na to, że działają. Wystarczy wstawić powyższe linie w dowolnym miejscu po stwierdzeniu włączenia pakietu algorytmicznego. Zwłaszcza, aby prezentacja algorytmu była zwięzła, rozróżniam przypadki złożone i przypadki jednoliniowe. Przypadki jednolinijkowe zaczynają się od \ CASELINE. Przypadki złożone zaczynają się od \ CASE, a kończą na \ ENDCASE. Podobne do instrukcji domyślnych.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% The following definitions are to extend the LaTeX algorithmic
%% package with SWITCH statements and one-line structures.
%% The extension is by
%% Prof. Farn Wang
%% Dept. of Electrical Engineering,
%% National Taiwan University.
%%
\newcommand{\SWITCH}[1]{\STATE \textbf{switch} (#1)}
\newcommand{\ENDSWITCH}{\STATE \textbf{end switch}}
\newcommand{\CASE}[1]{\STATE \textbf{case} #1\textbf{:} \begin{[email protected]}}
\newcommand{\ENDCASE}{\end{[email protected]}}
\newcommand{\CASELINE}[1]{\STATE \textbf{case} #1\textbf{:} }
\newcommand{\DEFAULT}{\STATE \textbf{default:} \begin{[email protected]}}
\newcommand{\ENDDEFAULT}{\end{[email protected]}}
\newcommand{\DEFAULTLINE}[1]{\STATE \textbf{default:} }
%%
%% End of the LaTeX algorithmic package extension.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Możesz wypróbować następujący przykład.
\SWITCH {$\theta$}
\CASE {1}
\STATE Hello
\ENDCASE
\CASELINE {2}
\STATE Good-bye
\DEFAULT
\STATE Again ?
\ENDDEFAULT
\ENDSWITCH
Farn Wang Dział Elektryka inż. Narodowy Uniwersytet Tajwan
Próbowałem Twojej metody, ale otrzymuję komunikat "Błąd LaTeXa: Coś jest nie tak - być może brakujący element \" \ ENDCASE ". Czy coś musi być napisane przed '\ newcommands'? Może coś wspólnego z '@'? – Shahbaz