Tôi đã viết các định nghĩa sau trong tài liệu latex của mình. Có vẻ như chúng hoạt động. Chỉ cần chèn các dòng ở trên bất cứ nơi nào sau khi tuyên bố đưa vào gói thuật toán. Đặc biệt, để trình bày thuật toán ngắn gọn, tôi phân biệt giữa các trường hợp ghép và các trường hợp một dòng. Các trường hợp một dòng bắt đầu bằng \ CASELINE. Các trường hợp ghép bắt đầu với \ CASE và kết thúc bằng \ ENDCASE. Tương tự như các câu lệnh mặc định.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bạn có thể thử ví dụ sau.
\SWITCH {$\theta$}
\CASE {1}
\STATE Hello
\ENDCASE
\CASELINE {2}
\STATE Good-bye
\DEFAULT
\STATE Again ?
\ENDDEFAULT
\ENDSWITCH
Farn Wang Phòng điện. Đại học Quốc gia Đài Loan
Nguồn
2012-02-18 16:41:34
Tôi đã thử phương pháp của bạn, nhưng tôi nhận được 'LaTeX Lỗi: Đã xảy ra lỗi - có thể thiếu \ item.' bằng' \ ENDCASE'. Có cái gì cần phải được viết trước '\ newcommands'? Có lẽ một cái gì đó để làm với '@'? – Shahbaz