我需要在算法之后放置一些文本。这是一个 MVE:
\documentclass[12pt,addpoints]{exam}
\usepackage[section]{algorithm}
\usepackage{fixltx2e}
\usepackage{algpseudocode}
\begin{document}
Some text before the algortihm.
\begin{algorithm}
\caption {An algorithm.}
\begin{algorithmic}[H]
\Function{theAlgorithm}{} :
\State test
\EndFunction\\
\end{algorithmic}
\end{algorithm}
Some more text after the algorithm.
\end{document}
输出格式如下:
Some text before the algorithm. Some text after the algorithm.
---THE ALGORITHM---
我希望有:
Some text before the algorithm.
---THE ALGORITHM---
Some text after the algorithm.
我曾尝试将它放入具有不同放置约束的图中,但到目前为止没有任何效果。
答案1
\documentclass{article}
\usepackage[section]{algorithm}
\usepackage{algpseudocode}
\begin{document}
\section{Some section}
Some text before the algortihm.
\begin{algorithm}[H]
\caption{An algorithm.}
\begin{algorithmic}
\Function{theAlgorithm}{} :
\State test
\EndFunction
\end{algorithmic}
\end{algorithm}
Some more text after the algorithm.
\end{document}
请注意,它是与 一起使用的algorithm
,而不是algorithmic
(由algpseudocode
)。
一般来说,让浮点数做它们最擅长的事情……浮动。然而,你似乎正在使用exam
文档类,这可能需要一些位置方面的限制。无论如何,考虑阅读常见问题解答如何影响 LaTeX 中图形和表格等浮动环境的位置?。
答案2
事实证明,我在代码中包含了 \usepackage{fixltx2e},这禁止我放置 [H] 选项。在我删除包后,错误消失,文本显示正确。