![for 循环的“结束”词缩进不正确](https://linux22.com/image/398494/for%20%E5%BE%AA%E7%8E%AF%E7%9A%84%E2%80%9C%E7%BB%93%E6%9D%9F%E2%80%9D%E8%AF%8D%E7%BC%A9%E8%BF%9B%E4%B8%8D%E6%AD%A3%E7%A1%AE.png)
我正在使用包在 latex 中编写伪代码,但是,如果此-loop 包含语句,则我在缩进 -loop的最后一个单词algorithm
时会遇到问题。如果它不包含语句,则一切看起来都很好。end
for
for
if
if
没有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}