伪代码后的额外水平空间

伪代码后的额外水平空间

我的伪代码末尾有一个额外的水平空白,我无法使用负数 \hspace 将其删除。这是我的最小代码:

\documentclass[journal,transmag]{IEEEtran}
\usepackage[ruled,linesnumbered]{algorithm2e}
\usepackage{amsmath}
\usepackage{amssymb}

\begin{document}
something.
%
\SetKwInput{KwInputs}{Inputs}
\SetKwInput{KwOutput}{Output}
\SetKwInput{kwInit}{Init}
\SetAlCapSkip{1em}
\SetNlSty{textbf}{}{}
\SetNlSkip{0.8em}
\IncMargin{1em}
\begin{algorithm}[t]
\DontPrintSemicolon
\Indm
\KwInputs{inputs}
\KwOutput{outputs}
\Indp
$\theta_k=\tau_{k}$\;
\end{algorithm}
something else.

\end{document}

我怎样才能去掉“其他东西”前面的空格?

谢谢。

答案1

%至之后的每一行末尾\begin{algorithm}都留一个空格。

\documentclass[journal,transmag]{IEEEtran}
\usepackage[ruled,linesnumbered]{algorithm2e}
\usepackage{amsmath}
\usepackage{amssymb}

\begin{document}
something.
%
\SetKwInput{KwInputs}{Inputs}%
\SetKwInput{KwOutput}{Output}%
\SetKwInput{kwInit}{Init}%
\SetAlCapSkip{1em}%
\SetNlSty{textbf}{}{}%
\SetNlSkip{0.8em}%
\IncMargin{1em}%
\begin{algorithm}[t]
\DontPrintSemicolon
\Indm
\KwInputs{inputs}
\KwOutput{outputs}
\Indp
$\theta_k=\tau_{k}$\;
\end{algorithm}
something else.

something. something else. % for checking
\end{document}

在此处输入图片描述

不过,我通常建议放置这样的漂浮物体段落之间,即前面有一个空行,下面有一个空行。因此,对于你的情况,

something. Something else.

\SetKwInput{KwInputs}{Inputs}
\SetKwInput{KwOutput}{Output}
\SetKwInput{kwInit}{Init}
\SetAlCapSkip{1em}
\SetNlSty{textbf}{}{}
\SetNlSkip{0.8em}
\IncMargin{1em}
\begin{algorithm}[t]
[...]
\end{algorithm}

Another paragraph starts here.

在这种情况下,行尾产生的空格不会产生任何作用。

答案2

对于 IEEEtran 类,使用“\par”将内容分成两个不同的段落。附上屏幕截图供您参考。希望这对您有所帮助。

在此处输入图片描述

相关内容