我使用 algorithm2e 包来处理我的算法,并想将我的算法导出为 pdf,但找不到方法。有什么办法吗?
原因是我使用提供给我的样式文件,当我使用这个样式文件时,行与行之间的空间变得很大,我的算法都不适合一页。我想将它们导出为 pdf,然后包含它们。
下面是我想要做的一个例子,它将给定的 tikz 图片导出为 pdf。我想放入一个算法并得到一个包含该算法的 pdf,就像它是图像或图形一样。
\documentclass{article}
\usepackage{tikz,nicefrac,amsmath,pifont}
\usetikzlibrary{arrows,snakes,backgrounds,patterns,matrix,shapes,fit,calc,shadows,plotmarks}
\usepackage[ruled,vlined,linesnumbered]{algorithm2e}
\usepackage[graphics,tightpage,active]{preview}
\PreviewEnvironment{tikzpicture}
\newlength{\imagewidth}
\newlength{\imagescale}
\begin{document}
\begin{tikzpicture}[<->,>=stealth,auto,shorten >=1pt]
\tikzstyle{agent}=[rectangle,draw,rounded corners,text
centered,node distance=2cm,text width=1.1cm,scale=0.9];
\tikzstyle{ont}=[ellipse,draw,node distance=2.4cm,text
width=1.7cm,scale=0.9,text centered];
\tikzstyle{edge}=[<->,scale=0.9]
\node at (0,0.5) [agent] (UA) {UA};
\node at (3,-1.5) [ont] (EO) {Environment\\Ontology};
\node at (3,2.5) [ont] (DO) {Domain\\Ontology};
\node at (7,2) [agent] (A1) {Agent\\1};
\node at (7,0.5) [agent] (A2) {Agent\\2};
\node at (7,-1) [agent] (A3) {Agent\\3};
\path
(A1) edge (UA)
edge[->,dashed] (EO)
edge[->,dashed] (DO)
(A2) edge (UA)
edge[->,dashed] (EO)
edge[->,dashed] (DO)
(A3) edge (UA)
edge[->,dashed] (EO)
edge[->,dashed] (DO)
(UA) edge[->,dashed] (EO)
edge[->,dashed] (DO);
\end{tikzpicture}
\end{document}
我没有在我的 latex 代码中使用任何类似 setspace 的包。提供的样式文件是这里。
答案1
您可以使用独立文档类;一个小例子:
\documentclass{standalone}
\usepackage{algorithm2e}
\begin{document}
\begin{algorithm}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}
\end{document}