如何在算法后面添加一些文字?

如何在算法后面添加一些文字?

我需要在算法之后放置一些文本。这是一个 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

algorithm负载float提供[H]浮点说明符:

在此处输入图片描述

\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] 选项。在我删除包后,错误消失,文本显示正确。

相关内容