带换行符的多个输入

带换行符的多个输入

我正在尝试编写一个具有多个输入的算法algorithm2e

我想要的结果是

Algorithm
-------------------
Input: Input number 1
       Input number 2
       Input number 3

[Some clever algorithm]

我能做的最好的就是这两个解决方案之一

\begin{algorithm}
\KwIn{Input number 1}
\KwIn{Input number 2\\ Input number 3
\end{algorithm}

哪些档案

Algorithm
-------------------
Input: Input number 1
Input: Input number 2
Input number 3

知道如何获得期望的结果吗?

答案1

您可以定义一个新命令来提供所需的缩进:

\documentclass{article}
\usepackage{algorithm2e}

\newlength\mylen
\newcommand\myinput[1]{%
  \settowidth\mylen{\KwIn{}}%
  \setlength\hangindent{\mylen}%
  \hspace*{\mylen}#1\\}

\begin{document}

\begin{algorithm}
\KwIn{Input number 1}
\myinput{Input number 2}
\myinput{Input number 3 spanning more than one line just as an illustration for the example}
\end{algorithm}

\end{document}

在此处输入图片描述

答案2

\SetKwInOut{Input}{input}  
\Input{a\\
b\\
c  
}

工作正常

答案3

\newline我通过使用而不是解决了这个问题\\。这是一个有效的例子:

\documentclass{article}
\usepackage[ruled,vlined,dotocloa]{algorithm2e}
\usepackage{listings}

\begin{document}
\begin{algorithm}[!h]
    \SetAlgoLined
    \small
    \DontPrintSemicolon
    \LinesNumbered

    \KwIn{Input 1\newline
            Input 2\newline
            Input 3}

    Some smart pseudocode line 1 \;
    Some smart pseudocode line 2 \;
    Some smart pseudocode line 3 \;

    \KwOut{ Output 1\newline
            Output 2}
    \caption{My Fabulous Algorithm}

\end{algorithm}
\end{document}

答案4

\Indp只需使用包中定义的命令

    \KwIn{\\
            \Indp \Indp
            Input 1 \\ 
            Input 2 \\
            Input 3
    }

梅威瑟:

\documentclass{article}
\usepackage{algorithm2e}

\begin{document}
    abc
    \begin{algorithm}
        \KwIn{\\
            \Indp \Indp
            Input 1 \\ 
            Input 2 \\
            Input 3
        }
        \Begin{
            Instruction \;
            Instruction \;
            Instruction \;
            Instruction \;
        }
    \end{algorithm}
    abc
\end{document}

在此处输入图片描述

相关内容