Latex遇到的问题

关于各种宏包

如果要用 \geq 大于/小于号,

需要添加宏包

\usepackage{amsmath} \usepackage{amssymb}

 

伪代码

伪代码有多种包可用,但是不能混用

比如使用algorithm2e,需要先导入
\usepackage[linesnumbered,boxed,ruled,commentsnumbered]{algorithm2e}

方括号中的 ruled 是让标题显示在上面,否则算法的标题则在下面。 linesnumbered  让算法中显示行号。 boxed, 让算法排版时好像插入在一个盒子里。

举个例子

\IncMargin{1em} % 使得行号不向外突出
\begin{algorithm}
	
	\SetAlgoNoLine % 不要算法中的竖线
	随机初始化$Q(s)$和$\pi(s)$ ;\\
	\Repeat
	{\text{策略保持不变$\pi '(s)=\pi(s),\forall s$}}
	{对于当前策略 $\pi$,使用迭代式策略评价的算法估计 $v_{\pi}(s)$ 得到$Q(s)$ \\
		使用贪婪策略提升得到$\pi '(s)$  }
	% {}
	
	\caption{策略迭代算法 (利用迭代式策略评价)\label{al4}}
\end{algorithm}
\DecMargin{1em}

显示效果: 

 

贴一个别人的例子

\begin{algorithm}[t]
	\SetAlgoNoLine % 不要算法中的竖线
	\caption{每次访问蒙特卡罗更新}
	\label{algo:event}
	\LinesNumbered
	\KwIn{FFT Bins $B_{1}, B_{2}, B_{3}, ..., B_{n}$}
	\KwOut{Event start point $S$, end point $E$}
	\For{i=1:n}{	
		\eIf{max($B_{i}$) : max($B_{(i+4)}$)$>$-80}{
			$S$=i; \tcp*{Start Point}
		\For{j=S:n}{
			\eIf{max($B_{j}$) : max($B_{(j+4)}$)$<$-100}{
				$E$=j; \tcp*{End Point}
				Return [$S,E$];
			}{j++;}
		}
	}{
	i++;}
}
\end{algorithm}

 

书写代码时也有一些专门的命令:

\;    在行末添加分号,并自动换行

\caption{}       插入标题          

\KwData {输入信息}      排版为        Data:输入信息
\Kwln {输入信息}           排版为         In: 输入信息

\KwOut {输出信息}        排版为:    Out: 输出信息
\KwResult {输出信息}   排版为:    Result: 输出信息

\For {条件循环语句}       排版为     for 条件do 循环语句endo

\If {条件肯定语句}           排版为     if 条件then 肯定语句end

\While {条件循环语句}   排版为    while 条件do 循环语句end

使用 \renewcommand{\algorithmcfname}{算法} 命令修改算法显示。

该工具包的使用手册下载地址:

http://mlg.ulb.ac.be/files/algorithm2e.pdf

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章