Algorithm 对switch语句使用Latex算法包?
我的谷歌搜索没有想到如何在使用算法和算法包的算法中执行switch语句,但我假设你可以。大多数导游都没有提到这一点Algorithm 对switch语句使用Latex算法包?,algorithm,latex,Algorithm,Latex,我的谷歌搜索没有想到如何在使用算法和算法包的算法中执行switch语句,但我假设你可以。大多数导游都没有提到这一点 \begin{algorithm} \caption{send(...) method} \begin{algorithmic} \IF{dest equals..} %\SWITCH{nature} \STATE cast data... \STATE extract data... \STATE copy... %\ENDSWITCH \ELSE \STATE match de
\begin{algorithm}
\caption{send(...) method}
\begin{algorithmic}
\IF{dest equals..}
%\SWITCH{nature}
\STATE cast data...
\STATE extract data...
\STATE copy...
%\ENDSWITCH
\ELSE
\STATE match dest....
%\SWITCH{nature}
\STATE cast data...
\STATE extract data...
\STATE send...
%\ENDSWITCH
\ENDIF
\end{algorithmic}
\end{algorithm}
谢谢 如果查看,您会注意到,没有默认的SWITCH CASE语句。我想这就是为什么在这么多的文献中被遗漏的原因;) 我在latex文档中编写了以下定义。 看起来它们很管用。 只需在算法包的include语句之后的任意位置插入上述行。特别是,为了使算法表示简洁,我区分了复合情况和单行情况。单行案例以\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{ALC@g}}
\newcommand{\ENDCASE}{\end{ALC@g}}
\newcommand{\CASELINE}[1]{\STATE \textbf{case} #1\textbf{:} }
\newcommand{\DEFAULT}{\STATE \textbf{default:} \begin{ALC@g}}
\newcommand{\ENDDEFAULT}{\end{ALC@g}}
\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
王法恩
电气工程系。
国立台湾大学我尝试了你的方法,但我得到了
LaTeX错误:出了点问题--可能是缺少了\项。
带有\ENDCASE
。是否需要在\newcommands
之前编写一些内容?可能与@
有关?