如何改变 algorithm2e 包的 algorithm 环境中语句块行的样式?

如何改变 algorithm2e 包的 algorithm 环境中语句块行的样式?

algorithm我想更改使用包的环境排版的伪代码算法中语句块侧面的线条样式algorithm2e。这是初始示例代码:

\documentclass{article}
\usepackage[ruled,noend]{algorithm2e}
\begin{document}
  \begin{algorithm}
    \caption{A simple algorithm.}
    \Begin
    {
      \ForEach{item}
      {
        \ForEach{sub-item}
        {
          do something.\\
        }
      }
    }
  \end{algorithm}
\end{document}

得出的结果为:

初始线条样式

但我想在线条上添加一些小的末端并稍微调整一下间距。以下是我想要实现的效果:

所需风格

答案1

可以通过调整vlined包选项绘制垂直和水平规则:

在此处输入图片描述

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

\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\algocf@Vline}{\vrule}{\vrule\hspace{-0.25em}}{}{}
\makeatother

\begin{document}

\begin{algorithm}
  \caption{A simple algorithm.}
  \Begin
  {
    \ForEach{item}
    {
      \ForEach{sub-item}
      {
        do something.\\
      }
    }
  }
\end{algorithm}

\end{document}

0.5em该解决方案背后的想法是绘制垂直规则,然后在设置其余代码块之前返回常规水平规则宽度的一半(默认宽度为)。

如果需要的话,还可以调整小水平线的宽度。

这对于大多数用途来说已经足够了。

相关内容