我想用 画垂直线\SetAlgoLined
,但是 LaTeX 告诉我Undefined control sequence
。
然后我\usepackage{algorithm2e}
在序言的末尾添加了以下内容。然后它说Command
\algorithm already defined
。
\usepackage{graphicx}
\usepackage{xthesis}
\usepackage{xtocinc}
\usepackage{mystyle}
\usepackage{url}
\usepackage{subfigure}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage[printonlyused]{acronym}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{float}
\usepackage{epstopdf}
\usepackage{amssymb,amsmath}
\usepackage{graphicx,epsfig}
\usepackage{multicol}
\usepackage{ifthen}
\usepackage{algorithm2e}
我使用的是 Windows 7 + TexWorks。我有另一张纸可以完美地与algorithm2e
和配合使用\SetAlgoLined
:
\usepackage{cite}
\usepackage{url}
\usepackage{ifthen}
\usepackage{multicol}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{graphicx,epsfig}
\usepackage{amssymb,amsmath}
\usepackage{subfigure}
\usepackage{epstopdf}
\usepackage{float}
\usepackage{algorithm2e}
\usepackage{multirow}
只是不知道为什么会发生这种情况?请帮忙。
答案1
由于algorithm
和algorithm2e
包都定义了一个algorithm
环境,因此,如果不采取额外的预防措施而简单地加载它们,就会导致像您所遇到的名称冲突。
不过,你仍然可以同时使用这两个包(如果你真的两者都需要),但您需要将选项传递algo2e
给algorithm
:
\usepackage[algo2e]{algorithm2e}
此选项将包algorithm
中的环境名称更改为,从而避免与已经定义环境的包发生冲突;该选项还将算法列表的命令名称更改为。algorithm2e
algorithm2e
algorithm
\listofalgorithmes
完整示例:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage[algo2e]{algorithm2e}
\begin{document}
\begin{algorithm}%>- from algorithm package
test
\end{algorithm}
\begin{algorithm2e}%>- from algorithm2e package
test
\end{algorithm2e}
\end{document}
答案2
这algorithms
捆(提供algorithm
和algorithmic
包)与不兼容algorithm2e
后者是独立的,既提供浮动环境algorithm
(也由algorithms
'algorithm
包提供),也提供编程结构(如If
、Else
、While
等)。
就算法布局而言,您必须选择 - 使用algorithms
捆绑包中的元素构建算法,或者algorithm2e
。