我正在为我编写的一些伪代码编写 LaTeX 文档。我有一堆 while 循环,但 latex 格式化它们的方式看起来像:
while(x)
while(y)
while(z)
而我希望它能做到:
while(x)
while(y)
while(z)
所以我尝试使用\endwhile
,并收到以下错误:
Undefined control sequence.
l.44 \ENDWHILE
我在用
\usepackage{algorithm}
\usepackage{program}
使用后wikibooks - 算法与伪代码网站,他们在其中使用\endwhile
,所以我想知道我做错了什么。
答案1
嗯,你实际上只需要一这两个包中,随便选一个都可以。
例如algorithmic
:
\documentclass{article}
\usepackage{algorithmic}
\begin{document}
\begin{algorithmic}
\WHILE{condition}
\WHILE{condition}
\STATE\COMMENT{do something}
\ENDWHILE
\ENDWHILE
\WHILE{condition}
\STATE\COMMENT{do something else}
\ENDWHILE
\end{algorithmic}
\end{document}
例如program
:
\documentclass{article}
\usepackage{program}
\begin{document}
\begin{program}
\WHILE condition \DO
\WHILE condition \DO
\COMMENT{do something}
\OD
\OD
\WHILE condition \DO
\COMMENT{do something else}
\OD
\end{program}
\end{document}
答案2
万一其他人遇到这个问题,你会发现你需要 while-do 语句
while{x} \DO
a,b,c = z
while{z} \DO
z = 1 \OD
\OD
while{y} \DO
y += 1 \OD
这似乎为我解决了缩进问题。