Algoritmalar ve sözde kod
"Algorithm 1" elde etmek için sözde kodu \caption içeren bir algorithm ortamına koyun; Scissor LaTeX bunun içinde algorithmic'in büyük harfli komutlarını (\STATE, \FOR) yalnızca konferans düzenlerinde okur, bu yüzden diğer belgelerde adımları bir verbatim bloğuna yazın.
algorithm ortamı
algorithm paketi, sözde kod için bir şekil gibi numaralanan bir ortam sağlar: \caption ona bir numara verir ("Algorithm 1"), başlıktan sonra gelen bir \label ise ona \ref ile gönderme yapmanızı sağlar. Scissor LaTeX'te algoritma yazdığınız yerde kalır ve başlığı altına yerleştirilir.
İçine ne gireceği, adımlar için kullandığınız pakete bağlıdır ve destek de tam burada farklılaşır:
| Paket | Komutlar | Scissor LaTeX'te |
|---|---|---|
| algorithm | algorithm ortamı, \caption, \label | Çalışır: numaralı "Algorithm N", başlık altta. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... (büyük harf) | Kısmen: yalnızca konferans düzenli belgelerde okunur; diğerlerinde bilinmeyen komutlardır. |
| algpseudocode (algorithmicx) | \State, \If, \For, \EndFor, \Return ... | Desteklenmez: bir iletiyle atlanır ve adımlar tek satırda birleşir. |
| algorithm2e | \KwIn, \For{..}{..}, \eIf ... | Desteklenmez: bir iletiyle atlanır. |
Her yerde çalışan sözde kod
Herhangi bir Scissor LaTeX belgesinde sözde kod göstermenin en güvenilir yolu, algorithm içinde bir verbatim bloğudur. Numara ve başlık korunur, satırlar da girintilerini korur.
Adımları verbatim olan bir algoritma
\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.Formüller içeren sözde kod için bir lstlisting de aynı şekilde çalışır; ya da adımları algorithm ortamının dışında, numaralı bir liste olarak sıradan metinle yazın.
Matematik içeren, numaralı liste olarak adımlar
\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}Konferans düzenlerinde algorithmic
Konferanslara benzeyen düzenler (arXiv, IEEE, NeurIPS, ICML ve diğerleri) algorithmic paketinin büyük harfli komutlarını okur: for, do, end for ve return gibi anahtar sözcükler kalın yazılır ve her komut yeni bir satır başlatır. Satır numaraları çizilmez ve satırlar ortalanır. Sorunlar sekmesi kullanılan düzenin adını belirtir.
arXiv tarzı bir belgede algorithmic
\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}
Sorunlar sekmesi: 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 desteklenmez
Son yıllardaki makalelerde en yaygın paket olan algpseudocode, \State ve \EndFor gibi büyük-küçük harf karışık komutlar kullanır. Scissor LaTeX bunları tanımaz: adları atlanır, formüller ve sözcükler korunur ve her şey tek bir satırda birleşir. Sorunlar sekmesi atlanan komutları listeler.
algpseudocode: adımlar birleşir
\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}Sorunlar sekmesi: Skipped 4 unknown commands: \State, \For, \EndFor, \Return
Belgenin hem burada hem de bir TeX kurulumunda çalışması gerekiyorsa adımları yukarıda gösterildiği gibi verbatim içinde yazın; bu her yerde derlenir.
TeX kurulumundan farklı olanlar
Paket sayfası algorithm, algorithmic ve algpseudocode sayfasıdır. Kılavuzlar CTAN'dadır: algorithms, algorithmicx ve algorithm2e.
Ayrıca bkz. algoritma paketleri, Kod listeleri ve Konferans düzenleri.
Sorular ve yanıtlar
LaTeX'te bir algoritma nasıl yazılır?
\caption içeren algorithm ortamını kullanın ve adımları içine koyun. Scissor LaTeX'te adımlar en iyi bir verbatim bloğunda ya da bir konferans düzeninde algorithmic'in \STATE komutlarıyla çalışır.
\State satırlarım neden birleşiyor?
\State, Scissor LaTeX'in desteklemediği algpseudocode paketinden gelir. Komut adları atlanır, bu yüzden adımlar tek bir satırda birleşir. Adımlar için bunun yerine verbatim kullanın.
Bir algoritmaya numarasıyla gönderme yapabilir miyim?
Evet. \caption'dan sonra \label{alg:name} koyun ve Algorithm~\ref{alg:name} yazın.
Bu sayfadaki her örnek, site oluşturulurken Scissor LaTeX tarafından dizilir. Son güncelleme: 2026-11-07.