2010-09-18 12 views
5

मेरा गुग्लिंग एल्गोरिदम और एल्गोरिदमिक संकुल का उपयोग करके एल्गोरिदम में स्विच स्टेटमेंट कैसे करें, लेकिन मुझे लगता है कि आप कर सकते हैं। अधिकांश गाइडों ने इसे किसी भी तरह से उल्लेख नहीं किया है।स्विच स्टेटमेंट के लिए लेटेक्स एल्गोरिदमिक पैकेज का उपयोग करना?

\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} 

धन्यवाद!

उत्तर

2

यदि आप official documentation from CTAN on the algorithm package पर एक नज़र डालते हैं तो आप देखेंगे कि कोई डिफ़ॉल्ट स्विट-केस-स्टेटमेंट नहीं है। मुझे लगता है कि कारण होने के कारण, यह इतने सारे दस्तावेजों में क्यों छोड़ा गया है;)

3

मैंने अपने लेटेक्स दस्तावेज़ में निम्नलिखित परिभाषाएं लिखीं। ऐसा लगता है कि वे काम करते हैं। एल्गोरिदमिक पैकेज के आपके समावेशन कथन के बाद कहीं भी उपर्युक्त रेखाएं डालें। विशेष रूप से, एल्गोरिदम प्रस्तुति संक्षिप्त बनाने के लिए, मैं यौगिक मामलों और एक-पंक्ति मामलों के बीच अंतर करता हूं। एक लाइन के मामले \ 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 

फार्न वैंग विद्युत अभियांत्रिकी विभाग। राष्ट्रीय ताइवान विश्वविद्यालय

+0

मैंने आपकी विधि की कोशिश की, लेकिन मुझे 'LaTeX त्रुटि: कुछ गड़बड़ है - शायद \ अनुपलब्ध \ item.'' \ ENDCASE' के साथ। क्या कुछ '\ newcommands' से पहले लिखा जाना चाहिए? शायद '@' के साथ कुछ करने के लिए? – Shahbaz

संबंधित मुद्दे