注:我看过这个问题的先前答案这里但它并不符合我的目的。我怀疑其他人也有同样的情况。
我正在写一篇论文,出版商要求使用 RevTex 4.1。我已经用该algorithm2e
软件包编写了几页算法。但当我把它们放到论文中时,所有的缩进都失败了。这是一个最小的工作示例:
\documentclass[aip,jcp]{revtex4-1}
\usepackage[ruled,vlined,linesnumbered,commentsnumbered]{algorithm2e}
\begin{document}
\begin{algorithm}
\ForEach{i}{
\ForEach{j}{
hello world\;
}
}
\caption{This is wrong: no indentation}
\end{algorithm}
\end{document}
这使:
我是否必须用algorithmic
语法(或其他东西)重写一页又一页的算法,或者是否有解决此问题的方法?
答案1
一种解决方法是使用预览包创建算法的 pdf,然后使用 将该 pdf 包含在文档中\includegraphics
。请注意,您必须使用相同的字体、文本宽度等,以防止算法块的标记与文档其余部分之间出现差异。
以下代码示例创建pdf。
\documentclass{article}
\usepackage[active,tightpage]{preview}
\usepackage{algorithm2e}
\begin{document}
\begin{preview}
\begin{algorithm}[H]
% Your algo here
\end{algorithm}
\end{preview}
\end{document}
添加:
要将算法作为浮点数合并到主 tex 文件中,您可以使用图形环境。但是,在这种情况下,标题会显示“图 X:...”而不是“算法 X:...”。此外,您可能希望对算法和图形使用不同的计数器。为此,请使用以下命令。
\documentclass{article}
\begin{document}
\usepackage{newfloat}
\DeclareFloatingEnvironment[
name=Algorithm
]{algorithm}
\renewcommand{\thealgorithm}{\Roman{algorithm}}
\begin{algorithm}
\hrule
\includegraphics{algo.pdf}
\hrule
\caption{\label{alg:myalg} caption}
\end{algorithm}
\end{document}