我有这个代码:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[portuguese, ruled, linesnumbered, boxruled]{algorithm2e}
\begin{document}
\begin{algorithm}[H]
\SetAlgoLined
\Entrada{Parâmetros}
\Saida{$P_t$}
\Inicio{
$t \leftarrow$ GeraNovaPopulação(); \\
Avalia($P_t$); \\
\Enqto{\textbf{\textit{não}} CriterioParadaAtingido()}{
$Q_t \leftarrow$ Variação($P_t$); \\
Avalia($Q_t$); \\
$P_{t + 1} \leftarrow$ Atualiza($Q_t$, $P_t$); \\
$t \leftarrow t + 1$; \\
}
}
\caption{Pseudocódigo de uma MOEA.\label{algo:moea-pseudocode}}
\end{algorithm}}
\end{document}
它会产生以下输出:
我想知道是否可以减小水平线的宽度,即将其缩小到最大。
编辑:
正如@Werner 在评论中所说以及@marmot 所提到的,期望的输出是:
答案1
这algorithm2e
包裹完全管理自己的浮动机制,因此没有与浮动相关联的常规句柄或钩子。因此,实现所需目的的最简单方法是将ed包装algorithm
在内部,在其中指定块宽度:center
minipage
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[portuguese, ruled, linesnumbered, boxruled]{algorithm2e}
\begin{document}
\begin{center}
\begin{minipage}{.725\linewidth}
\begin{algorithm}[H]
\SetAlgoLined
\Entrada{Parâmetros}
\Saida{$P_t$}
\Inicio{
$t \leftarrow$ GeraNovaPopulação(); \\
Avalia($P_t$); \\
\Enqto{\textbf{\textit{não}} CriterioParadaAtingido()}{
$Q_t \leftarrow$ Variação($P_t$); \\
Avalia($Q_t$); \\
$P_{t + 1} \leftarrow$ Atualiza($Q_t$, $P_t$); \\
$t \leftarrow t + 1$; \\
}
}
\caption{Pseudocódigo de uma MOEA.\label{algo:moea-pseudocode}}
\end{algorithm}
\end{minipage}
\end{center}
\end{document}
0.725\linewidth
您可以根据自己的需要调整其值。
上述方法依赖于你的algorithm
设置为停留[H]
在 ere(放置在文本内部)的事实。如果你想让它浮动但又受到约束,你必须采取如下方法:
\begin{figure}[<float spec>]
\centering
\begin{minipage}{.725\linewidth}
\begin{algorithm}[H]
% <your algorithm>
\end{algorithm}
\end{minipage}
\end{figure}