Я написал некоторый код Latex для некоторого псевдокода, который я написал, который использует:
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
Мне интересно, есть ли стандарт для алгоритмов в латексе или просто в целом?
Должен ли я использовать квадратный корень или sqrt(state), должен ли я получать доступ к элементу массива, state[i]
должен ли я использовать дроби или просто символ деления?
Вот код:
\makeatletter
\def\BState{\State\hskip-\ALG@thistlm}
\makeatother
%this changes the style of the comments
\begin{algorithm}
\caption{Manhattan Distance}\label{euclid}
\begin{algorithmic}[1]
\Procedure{ManDist}{$state$} \Comment{The current puzzle configuration }
\State$total\gets 0$
\State$puzzleLength\gets sizeOf(state)$
\State$dimensions\gets \sqrt{puzzleLength}$
\For{$i\gets 1, puzzleLength$} \Comment{Loops through each tile of the puzzle}
\State $tileValue\gets state[i]$
\State $expectedRow\gets \dfrac{(tileValue -1)}{dimensions}$
\State $expectedCol\gets (tileValue -1)\bmod dimensions$
\State $rowNum \gets \dfrac{i}{dimensions}$
\State $rowNum\gets i \bmod dimensions$
\State $total\gets total \texttt{+} \mid{expectedRow-rowNum}\mid\texttt{+}\mid{expectedCol-colNum}\mid$
\EndFor
\State \textbf{return} $total$\Comment{The heuristic is the total}
\EndProcedure
\end{algorithmic}
\end{algorithm}