algorithm2e 中的边距

algorithm2e 中的边距

我越来越相信这个algorithm2e设计很糟糕,主要是因为它在很多方面都是重新发明轮子(例如,字幕)。唉,现在改变已经太晚了。所以这是我的下一个问题:

如何去除以下算法难看的边距?(标题两侧的边距,以及算法右侧的边距)

\documentclass{scrartcl}
\usepackage[ruled]{algorithm2e}
\usepackage{lipsum}

\setlength{\algomargin}{0em}

\begin{document}
    \begin{algorithm}
        \caption{\lipsum[1]}
        \For{$x$}{$y$\tcp*[r]{$z$}}
    \end{algorithm}
    \lipsum[2]
\end{document}

在此处输入图片描述

答案1

在此处输入图片描述

此答案需要etoolbox加载才能\patchcmd使用:

\documentclass{scrartcl}
\usepackage[ruled]{algorithm2e}
\usepackage{lipsum}

\usepackage{etoolbox} % For \patchcmd

\makeatletter
\patchcmd{\algocf@makecaption@ruled}{\hsize}{\textwidth}{}{} % Caption to stretch full text width
\patchcmd{\@algocf@start}{-1.5em}{0em}{}{} % For // to right margin
\makeatother

\SetAlCapHSkip{0pt} % Reset left skip of caption
\setlength{\algomargin}{0em}

\begin{document}
    \begin{algorithm}
        \caption{\lipsum[1]}
        \For{$x$}{$y$\tcp*[r]{$z$}}
    \end{algorithm}
    \lipsum[2]
\end{document}

相关内容