引用这文章中的官方demo:
\begin{algorithm}
\caption{Calculate $y = x^n$}
\label{alg3}
\begin{algorithmic}
\REQUIRE $n \geq 0 \vee x \neq 0$
\ENSURE $y = x^n$
\STATE $y \gets 1$
\IF{$n < 0$}
\STATE $X \gets 1 / x$
\STATE $N \gets -n$
\ELSE
\STATE $X \gets x$
\STATE $N \gets n$
\ENDIF
\WHILE{$N \neq 0$}
\IF{$N$ is even}
\STATE $X \gets X \times X$
\STATE $N \gets N / 2$
\ELSE[$N$ is odd] \STATE $y \gets y \times X$
\STATE $N \gets N - 1$
\ENDIF
\ENDWHILE
\end{algorithmic}
\end{algorithm}
可以看到,ENDIF 、ENDWHILE 、WHILE 和 REQUIRE 等都是大写
这样搞,需要两个宏包:
\usepackage{algorithm}
\usepackage{algorithmic}
但是我看我师兄的伪代码里边,他们的指令都是首字母大写,其余字母小写
比如这个latex demo
demo 在这里:https://www.overleaf.com/learn/latex/Algorithms
\documentclass{article}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithmic}
\State $i \gets 10$
\If{$i\geq 5$}
\State $i \gets i-1$
\Else
\If{$i\leq 3$}
\State $i \gets i+2$
\EndIf
\EndIf
\end{algorithmic}
\end{document}
EndIf 、Else 、State都是首字母大写
这样只需要导入一个 algpseudocode 包就行
但是没有上下的两根线,不好看
所以在
\begin{algorithmic}
...
\end{algorithmic}
外边套上
\begin{algorithm}
\end{algorithm}
就可以
这样做只需要导入宏包:
\usepackage{algorithm}
\usepackage{algpseudocode}
总结一下,渲染出来的样式好像没啥大区别,只是一个指令是全大写,另一个是指令只有首字母大写