
我正在尝试使用 Windows 7 上的 TexWorks 0.4.4 和 MiKTex 2.9 中的包编写简单的伪代码,algorithmicx
但出现了此错误:
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.39 \State
$sum\gets 0$
我的文档粘贴在下面,有什么问题?
\documentclass{article}
\usepackage{algorithmicx}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{algpascal}
\usepackage{algc}
\usepackage{algcompatible}
\usepackage[utf8]{inputenc}
\usepackage[brazilian]{babel}
\title{Pseudocódigos}
\author{}
\date{}
\begin{document}
\maketitle
\tableofcontents
\section{Introdução}
\section{Pilha}
\subsection{Empilhar}
Oia.
Just testing
\begin{algorithm}
\begin{algorithmic}[1]
\Procedure {Termial}{$n$}
\State $sum\gets 0$
\State $i\gets 1$
\While{i\le n}
\State $sum\gets sum+i$
\State $i\gets i+1$
\EndWhile
\EndProcedure
\end{algorithmic}
\end{algorithm}
\subsection{Desempilhar}
\end{document}
答案1
经过一番调查,我发现,
- 加载
algpseudocode
后algcompatible
,以及 $
添加您的 中缺少的内联数学分隔符 ( )\While
,
解决了问题;您的输入文件现在可以顺利编译(对我来说)。
\documentclass{article}
\usepackage{algorithmicx}
\usepackage{algorithm}
\usepackage{algpascal}
\usepackage{algc}
\usepackage{algcompatible}
\usepackage{algpseudocode}
\usepackage[utf8]{inputenc}
\usepackage[brazilian]{babel}
\title{Pseudocódigos}
\author{}
\date{}
\begin{document}
\maketitle
\tableofcontents
\section{Introdução}
\section{Pilha}
\subsection{Empilhar}
Oia. Just testing
\begin{algorithm}
\begin{algorithmic}[1]
\Procedure {Termial}{$n$}
\State $sum\gets 0$
\State $i\gets 1$
\While{$i\le n$}
\State $sum\gets sum+i$
\State $i\gets i+1$
\EndWhile
\EndProcedure
\end{algorithmic}
\end{algorithm}
\subsection{Desempilhar}
\end{document}