algorithm2e 缩进/换行

algorithm2e 缩进/换行

我遇到了以下问题:我正在使用 algorithm2e 编写几个算法。我有许多较长的 if 语句和较长的 if 条件。这些行已断开,但新行未正确缩进:

\begin{document}

  \begin{algorithm}[H]
    \SetAlgoLined
    \KwInput{Parameters...}

    \KwOutput{$\emptyset$}

    \If{the lines through $x_{1}, x_{2}$ and $y_{1}, y_{2}$ intersect in a single point $z$
        which lies on the circle $C$
       }
    {
      Do something \;
    }
    \caption{Algoritm test...}
  \end{algorithm}

\end{document}

我可以使用 \ 在某些位置强制换行,但这也不能解决缩进问题。我看到了这里提供的解决方案:如何使用 algorithm2e 在条件下断行?

但我不明白代码中发生了什么,我无法重现我的问题的结果。我该如何正确缩进代码(是否可以使用类似 mbox 的东西?)?

答案1

对我而言,效果与描述一致https://tex.stackexchange.com/a/101023。如果这是你想要的,我们应该将其作为重复关闭。如果不是,你必须更好地解释你想要什么,你尝试过什么,以及你在哪里遇到了困难。

% arara: pdflatex    

\documentclass{article}
\usepackage{algorithm2e}
\SetKwInput{KwInput}{Input} % just a guess
\SetKwInput{KwOutput}{Output} % just a guess
\usepackage{showframe} % for demonstration
\usepackage{microtype}

\begin{document}
    \begin{algorithm}[H]
        \SetAlgoLined
        \KwInput{Parameters...}     
        \KwOutput{$\emptyset$}
        \If{the lines through $x_{1}, x_{2}$ and $y_{1}, y_{2}$ intersect in a single point $z$ which lies\\
            \mbox{}\phantom{\textbf{if}} on the circle $C$
        }
        {
            Do something;
        }
        \caption{Algoritm test...}
    \end{algorithm} 
\end{document}

在此处输入图片描述

相关内容