![为什么 `\;` 在 algorithm2e 中没有给出新的换行符?](https://linux22.com/image/366441/%E4%B8%BA%E4%BB%80%E4%B9%88%20%60%5C%3B%60%20%E5%9C%A8%20algorithm2e%20%E4%B8%AD%E6%B2%A1%E6%9C%89%E7%BB%99%E5%87%BA%E6%96%B0%E7%9A%84%E6%8D%A2%E8%A1%8C%E7%AC%A6%EF%BC%9F.png)
这是最小的工作示例:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[algo2e]{algorithm2e}
\begin{document}
\newcommand{\nextnode}{\ensuremath{\text{Next}}}
\newcommand{\intree}{\ensuremath{\text{InTree}}}
\begin{algorithm}[H]
\KwData{}
\KwResult{}
asdf\;
$\nextnode[r] \leftarrow nil$\;
$\intree[r] \leftarrow true$\;
\caption{}
\end{algorithm}
\end{document}
输出如下:
我期望有换行符,但是它就是没有发生。
为什么?
答案1
您已algorithm2e
使用选项加载了包algo2e
。这会将环境名称更改为algorithm2e
。使用该名称可按预期工作:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[algo2e]{algorithm2e}
\begin{document}
\newcommand{\nextnode}{\ensuremath{\text{Next}}}
\newcommand{\intree}{\ensuremath{\text{InTree}}}
\begin{algorithm2e}[H]
\KwData{}
\KwResult{}
asdf\;
$\nextnode[r] \leftarrow nil$\;
$\intree[r] \leftarrow true$\;
\caption{}
\end{algorithm2e}
\end{document}