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
该解决方案背后的想法是绘制垂直规则,然后在设置其余代码块之前返回常规水平规则宽度的一半(默认宽度为)。
如果需要的话,还可以调整小水平线的宽度。
这对于大多数用途来说已经足够了。