R Markdown里的latex排版algorithm

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

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}

\; 会产生一个 ; 并换行。

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值