Algoritma dan pseudokod
Balut pseudokod dalam persekitaran algorithm dengan \caption untuk mendapat "Algorithm 1"; di dalamnya, Scissor LaTeX membaca perintah huruf besar algorithmic (\STATE, \FOR) hanya dalam susun atur persidangan, jadi untuk dokumen lain letakkan langkahnya dalam blok verbatim.
Persekitaran algorithm
Pakej algorithm menyediakan persekitaran bernombor untuk pseudokod, seperti rajah: \caption memberikannya nombor ("Algorithm 1"), dan \label selepas kapsyen membolehkan anda merujuknya dengan \ref. Dalam Scissor LaTeX, algoritma kekal di tempat anda menulisnya dan kapsyennya diletakkan di bawahnya.
Apa yang dimasukkan di dalamnya bergantung pada pakej yang anda gunakan untuk langkah-langkahnya, dan di situlah sokongannya berbeza:
| Pakej | Perintah | Dalam Scissor LaTeX |
|---|---|---|
| algorithm | persekitaran algorithm, \caption, \label | Berfungsi: bernombor "Algorithm N", kapsyen di bawah. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... (huruf besar) | Sebahagian: dibaca hanya dalam dokumen dengan susun atur persidangan; di tempat lain ia perintah yang tidak dikenali. |
| algpseudocode (algorithmicx) | \State, \If, \For, \EndFor, \Return ... | Tidak disokong: dilangkau dengan mesej, dan langkah-langkahnya bercantum dalam satu baris. |
| algorithm2e | \KwIn, \For{..}{..}, \eIf ... | Tidak disokong: dilangkau dengan mesej. |
Pseudokod yang berfungsi di mana-mana
Cara paling boleh dipercayai untuk menunjukkan pseudokod dalam mana-mana dokumen Scissor LaTeX ialah blok verbatim di dalam algorithm. Anda mengekalkan nombor dan kapsyen, dan baris-barisnya mengekalkan inden.
Algoritma dengan langkah verbatim
\begin{algorithm}
\caption{Sum of a list}
\label{alg:sum}
\begin{verbatim}
s := 0
for each a in xs:
s := s + a
return s
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:sum} adds the numbers of a list.Untuk pseudokod dengan formula, lstlisting berfungsi dengan cara yang sama, atau tulis langkah-langkahnya sebagai teks biasa di luar persekitaran algorithm, sebagai senarai bernombor.
Langkah sebagai senarai bernombor, dengan matematik
\textbf{Input:} numbers $a_1, \dots, a_n$.
\begin{enumerate}
\item Set $s \gets 0$.
\item For $i = 1, \dots, n$: set $s \gets s + a_i$.
\item Return $s$.
\end{enumerate}algorithmic dalam susun atur persidangan
Susun atur yang meniru gaya persidangan (arXiv, IEEE, NeurIPS, ICML dan lain-lain) membaca perintah huruf besar pakej algorithmic: kata kunci seperti for, do, end for dan return dicetak tebal, dan setiap perintah memulakan baris baharu. Nombor baris tidak dilukis, dan baris-barisnya dipusatkan. Tab Masalah menamakan susun atur yang digunakan.
algorithmic dalam dokumen gaya arXiv
\documentclass{article}
\usepackage{arxiv}
\usepackage{algorithm,algorithmic}
\begin{document}
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}
\STATE $s \gets 0$
\FOR{$i = 1$ to $n$}
\STATE $s \gets s + a_i$
\ENDFOR
\RETURN $s$
\end{algorithmic}
\end{algorithm}
\end{document}
Tab Masalah: Layout in the style of the arXiv preprint style (final mode). Not official. To compile elsewhere, add arxiv.sty from github.com/kourgeorge/arxiv-style.
algpseudocode tidak disokong
algpseudocode, pakej yang paling biasa dalam kertas kerja terkini, menggunakan perintah huruf campuran seperti \State dan \EndFor. Scissor LaTeX tidak mengenalinya: namanya dilangkau, formula dan perkataannya dikekalkan, dan semuanya bercantum dalam satu baris. Tab Masalah menyenaraikan perintah yang dilangkau.
algpseudocode: langkah-langkahnya bercantum
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i = 1$ to $n$}
\State $s \gets s + a_i$
\EndFor
\State \Return $s$
\end{algorithmic}
\end{algorithm}Tab Masalah: Skipped 4 unknown commands: \State, \For, \EndFor, \Return
Jika anda memerlukan dokumen yang berfungsi di sini dan juga dalam pemasangan TeX, tulis langkah-langkahnya dalam verbatim seperti yang ditunjukkan di atas; ia boleh dikompil di mana-mana.
Perbezaan daripada pemasangan TeX
Halaman pakejnya ialah algorithm, algorithmic dan algpseudocode. Manualnya ada di CTAN: algorithms, algorithmicx dan algorithm2e.
Lihat juga pakej algoritma, Penyenaraian kod dan Susun atur persidangan.
Soalan dan jawapan
Bagaimanakah saya menulis algoritma dalam LaTeX?
Gunakan persekitaran algorithm dengan \caption, dan letakkan langkah-langkahnya di dalam. Dalam Scissor LaTeX, langkah-langkahnya paling baik dalam blok verbatim, atau dengan perintah \STATE algorithmic dalam susun atur persidangan.
Mengapakah baris \State saya bercantum?
\State datang daripada algpseudocode, yang tidak disokong oleh Scissor LaTeX. Nama perintahnya dilangkau, jadi langkah-langkahnya bergabung menjadi satu baris. Gunakan verbatim untuk langkah-langkahnya sebagai ganti.
Bolehkah saya merujuk algoritma mengikut nombor?
Boleh. Letakkan \label{alg:name} selepas \caption dan tulis Algorithm~\ref{alg:name}.
Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.