latex算法中的输入和输出

latex算法中的输入和输出

在 Latex 中,我正在编写一个伪代码,我希望以以下方式输出(输入和输出):在此处输入图片描述

这是我的代码:

\documentclass[sigconf]{acmart}
\usepackage{amsmath}

\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}\label{algo:ProclivityProp2}
\caption{Graph}
\begin{algorithmic}
    \State Input T matrix of measurements 
    \State Output  $\hat X$ \quad matrix of graph signals\\
                   $\hat W$ \quad matrix of outliers\\
\end{algorithmic}
\end{algorithm}
\end{document}

这是我的输出:我的输出

当我在代码中使用 \Input{..} 或 \Output{..} 时,出现以下错误:

! Undefined control sequence.<recently read> \Input \Input  
! Undefined control sequence \Output

我怎样才能获得所需的输出(第一张图片)?

答案1

最简单的方法是生成输出,其中“输入”和“输出”标题位于它们自己的行上,这可能足以满足您的目的:

示例输出

\documentclass[sigconf]{acmart}
\usepackage{amsmath}

\usepackage{algorithm}
\usepackage{algpseudocode}

\algblock{Input}{EndInput}
\algnotext{EndInput}
\algblock{Output}{EndOutput}
\algnotext{EndOutput}
\newcommand{\Desc}[2]{\State \makebox[2em][l]{#1}#2}

\begin{document}
\begin{algorithm}\label{algo:ProclivityProp2}
\caption{Graph}
\begin{algorithmic}
  \Input
  \Desc{T}{matrix of measurements}
  \EndInput
  \Output
  \Desc{$\hat X$}{matrix of graph signals}
  \Desc{$\hat W$}{matrix of outliers}
  \EndOutput
\end{algorithmic}
\end{algorithm}
\end{document}

相关内容