В моем латексном документе я написал следующие определения. Кажется, что они работают. Просто вставьте приведенные выше строки в любом месте после инструкции включения алгоритмического пакета. В частности, чтобы сделать представление алгоритма кратким, я различаю составные случаи и однострочные случаи. Однострочные случаи начинаются с \ CASELINE. Составные случаи начинаются с \ CASE и заканчиваются на \ ENDCASE. Аналогично заявлениям по умолчанию.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Вы можете попробовать следующий пример.
\SWITCH {$\theta$}
\CASE {1}
\STATE Hello
\ENDCASE
\CASELINE {2}
\STATE Good-bye
\DEFAULT
\STATE Again ?
\ENDDEFAULT
\ENDSWITCH
Farn Ван Кафедра электротехники Eng. Национальный университет Тайваня
Я пробовал ваш метод, но я получаю ошибку LaTeX: что-то не так - возможно, отсутствует \ item.' с '\ ENDCASE'. Нужно ли что-то писать перед '\ newcommands'? Может быть, что-то делать с '@'? – Shahbaz