
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{framed}
\setlength\FrameSep{5mm}
\begin{document}
\begin{oframed} Some text...
\begin{center}
\begin{algorithm}
\DontPrintSemicolon
\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
\Input{The input to the algorithm}
\Output{The output of the algorithm}
\BlankLine
\caption{This is what the algorithm does}
\end{algorithm}
\end{center}
Some other text...
\end{oframed}
\end{document}
Есть ли способ удалить ошибку «Неопределенная управляющая последовательность», сохранив при этом рамку (поскольку алгоритм является частью большого блока, содержащего также и другие тексты, я не хочу удалять блок)?
решение1
algorithm
является одним из типов float
и float
всегда имеет проблему внутри \vbox
и minipage
, вы должны использовать пакет float
и использовать опцию [H]
и измененный MWE
это:
\documentclass{book}
\usepackage{float}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{framed}
\setlength\FrameSep{5mm}
\begin{document}
\begin{oframed} Some text...
\begin{center}
\begin{algorithm}[H]
\DontPrintSemicolon
\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
\Input{$12$ numbered coins, $11$ of which have same weight}
\Output{Number of the fake coin}
\BlankLine
\caption{Finding the fake coin in $3$ measurements}
\end{algorithm}
\end{center}
Some other text...
\end{oframed}
\end{document}