for 循环的“结束”词缩进不正确

for 循环的“结束”词缩进不正确

我正在使用包在 latex 中编写伪代码,但是,如果此-loop 包含语句,则我在缩进 -loop的最后一个单词algorithm时会遇到问题。如果它不包含语句,则一切看起来都很好。endforforifif

没有if语句且缩进正确的示例:

正确缩进

带有语句和不正确缩进的示例if

缩进不正确

用于生成后者的代码如下(只需删除if部分即可获得用于第一个例子的代码):

\begin{algorithm}[H]
    \caption{Test algorithm}
    \SetAlgoLined

    \For{$ t \in T $}{
        $t \gets $ 1

         \If{ (t) \in P} {
            t \gets 0

         }
    }

\end{algorithm}

您知道如何解决这个问题吗?谢谢

答案1

从您对 的使用情况来看,\SetAlgoLined我假设您确实在使用该algorithm2e包。如果我使用此包创建 MWE,我会收到以下错误消息Missing $ inserted.,该消息是由第 12 行和第 13 行在文本模式下使用\in和引起的\gets。如果我添加缺少的$s,MWE 可以完美编译并给出所需的结果:

在此处输入图片描述

\documentclass{article}
\usepackage[ruled]{algorithm2e}

\begin{document}
\begin{algorithm}[H]
    \caption{Test algorithm}
    \SetAlgoLined

    \For{$ t \in T $}{
        $t \gets $ 1

         \If{ $(t) \in P$} {
            $t \gets 0$

         }
    }

\end{algorithm}
\end{document}

相关内容