algorithm2e 中的可用宽度

algorithm2e 中的可用宽度

我想在里面使用环境algorithm2e,但结果发现它太宽了。我尝试绘制一些框来查看宽度,结果发现\textwidth在算法中它太大了。framed但是环境遵循正确的大小。

我的问题是:如何访问算法区域中的可用宽度?

一个使用 <code>frames</code> 环境的示例,该环境运行良好,但宽度为 <code>\textwidth</code> 的框太大。

以下是 MWE:

\documentclass[a4paper,draft]{article}
\usepackage[ruled]{algorithm2e}
\usepackage{framed} 

\begin{document}
  \begin{algorithm}[h]
    \begin{framed}
      something in a framed environment
    \end{framed}
    \fbox{\parbox{\textwidth}{
      something with textwidth
    }}
    \caption{Some algorithm.}
  \end{algorithm}
\end{document} 

答案1

环境algorithm会增加其内容的左边距和右边距,因此您必须从中减去它们textwidth

\documentclass[a4paper,draft]{article}
\usepackage[utf8]{inputenc}
\usepackage[ruled]{algorithm2e}

\usepackage{framed}

\begin{document}

  \begin{algorithm}[h]
    \begin{framed}
      something in a framed environment
    \end{framed}
Some text… Some text… Some text… Some text… Some text… Some text… Some text… Some text…Some text… Some text… Some text… Some text… \\[1ex]
    \fbox{\parbox{\dimexpr\textwidth-2\algomargin\relax}{something with textwidth }}\\[1ex]

    \caption{Some algorithm.}
  \end{algorithm}
\end{document} 

在此处输入图片描述

相关内容