我需要修复此LaTeX代码的对齐方式。
编译时,输出与Date1 WrittenBy
Date2 WrittenBy
Date3 WrittenBy
,if
,for
语句的对齐方式错误。
else
答案 0 :(得分:2)
您的问题在于您混合了不同包装的符号,这些包装本质上是不兼容的。您应该选择 algorithm2e
或 algorithmicx
(提供algpseudocode
和algcompatible
),而不是两者。
以下是algorithm2e
实现您可能会遇到的内容:
\documentclass{article}
\usepackage{algorithm2e,amsmath}
\SetKwInOut{Input}{Input}
\SetKwInOut{Output}{Output\,}
\SetKwInOut{Data}{Data}
\SetKwProg{Tree}{Tree}{}{EndTree}
\begin{document}
\begin{algorithm}[H]
\caption{The ASP\_Tree algorithm}
\Input{TV database and min\_sup}
\Output{Bla bla bla}
\Data{bla bla bla}
\Tree{$TV_i, min\_sup$}{
$[\text{Root}] \gets [\text{NULL}]$\;
\For {$i = 1$ to $N$} {
$\text{Root} \gets TV_1$\;
$i \gets i + 1$\;
\uIf {$TV_i > \textup{Root}$}{
$\text{Root} \gets TV_i$\;}
\uElseIf{$TV_i \leq \textup{Root}$}{
$i \gets i+1$\;}
\Else{
do something interesting\;
}
}
}
\end{algorithm}
\end{document}