提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
R Markdown里的latex排版algorithm
问题:在rmd里面对latex的一些编辑容易出现问题,我使用 \usepackage{algorithm},\usepackage{algpseudocode}
这两个包去实现算法排版会报错,下面会介绍利用latex的algorithm2e进行排版方法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Rmd文件设置
添加 - \usepackage[ruled,vlined]{algorithm2e}
到顶部的文件设置
---
title: "File"
author: "Author"
header-includes:
- \usepackage{ctex}
- \usepackage[ruled,vlined]{algorithm2e}
output:
pdf_document:
includes:
keep_tex: yes
latex_engine: xelatex
html_document: default
word_document: default
date: "`r format(Sys.Date(), '%Y-%m-%d')`"
---
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
其中,前两个参数用LaTeX优雅地书写伪代码——Algorithm2e简明指南这篇文章有介绍,
ruled
是让标题显示在上面,否则算法的标题则在下面。linesnumbered
让算法中显示行号。vlined
在算法的每一行之间绘制垂直线,以突出算法的结构。
二、latex排版代码
参考别的文章LaTeX - 算法(伪代码)排版:
\begin{algorithm}
\caption{An algorithm with caption}\label{alg:two}
\KwData{$n \geq 0$}
\KwResult{$y = x^n$}
$y \gets 1$\;
$X \gets x$\;
$N \gets n$\;
\While{$N \neq 0$}{
\eIf{$N$ is even}{
$X \gets X \times X$\;
$N \gets \frac{N}{2}$ \Comment*[r]{This is a comment}
}{\If{$N$ is odd}{
$y \gets y \times X$\;
$N \gets N - 1$\;
}
}
}
\end{algorithm}
\;
会产生一个 ;
并换行。