排版预格式化文本块或伪代码的简单方法

排版预格式化文本块或伪代码的简单方法

我正在寻找一个软件包或一种简单的方法来排版伪代码块或只是预格式化的文本。我知道有很多软件包排版算法,但我需要的只是一种控制缩进和换行符的方法。能够用垂直线标记缩进的块也很好(这个是用算法2e): 在此处输入图片描述

我不想通过为所有我将要使用的伪代码术语(、、等)定义 LaTeX 命令来使用额外的间接级别\If\While\ExtractNextElementFrom想将算法写成简单的嵌套散文。

还应该可以在里面使用基本格式(如强调)和数学模式。

我还希望能够从所有行中去除相同数量的缩进(以区分源缩进和布局缩进)。

我目前想知道是否可以通过某些制表环境来实现这一点,或者通过定义自己的环境将缩进的块插入另一个缩进的块内...有没有更好的方法?

答案1

没有垂直线但设置简单:

在此处输入图片描述

\documentclass{article}


\makeatletter
\newenvironment{zzz}{\@vobeyspaces\obeylines}{}
\makeatother
\begin{document}

\begin{zzz}
if \textbf{this}
  set $x$ to $y^2$
else
  if \textbf{that}
    while $z <0$ do
      something
    end
  fi
fi
\end{zzz}
\end{document}

相关内容