Word中利用Aurora编写LateX伪代码

2019-05-10

由于很多时候我们要用word而不是LateX来编写论文,所以如果有需要用到伪代码的地步就很不方便。本文主要介绍了如何在word中使用Aurora插入LateX编写的伪代码

安装该软件需要两个东西:

安装步骤

  • 关闭word。双击安装Aurora,不勾选miktex选项。安装完成(如果一直出现 valid handle 不用管直接一直回车即可)。
  • 安装Miktex,建议最新版2.9。
  • 将电脑系统时间调到2009年某天,双击下载的破解机,输入任意英文字母进行破解。破解成功。
  • 打开word。通过插入——对象——Aurora Equation 来插入latex代码。然后开始配置环境,将 Paths 改成自己的Miktex下的路径,如图:
  • Properties 里的 Rendering method 改为 Vector(render for fonts) 。(Rendering method指的是渲染方式,一共有三种:Raster(位图),Vector(矢量图)和 Vector(render all fonts)。如果有需要在没有安装Aurora插件的电脑的word查看公式,应使用第一种或第三种。但如果生成PDF再查看的话就不需要Aurora插件了。miktex2.9使用第一种方式会报错 problem running latex,因此只能选择后两种。)
  • 修改常用的Packages,我的配置如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    \usepackage{amssymb}
    % \usepackage{euler}
    \providecommand{\abs}[1]{\left\lvert#1\right\rvert}
    \providecommand{\norm}[1]{\left\lVert#1\right\rVert}
    \usepackage{bbm}
    \usepackage{CJK}
    \usepackage{listings}
    \usepackage{xcolor}
    \usepackage{listings}
    \usepackage{amsmath,bm,graphicx,multirow,bm,bbm,amssymb,psfrag,algorithm,subfigure,color,mdframed,wasysym,subeqnarray,multicol}

    \usepackage{algorithm}
    \usepackage{algpseudocode}
    \usepackage{amsmath}
    \renewcommand{\algorithmicrequire}{\textbf{Input:}}
    \renewcommand{\algorithmicensure}{\textbf{Output:}}
  • 这时候很可能会继续报错 Problems running LaTex。通常这个错误有三个原因:

    • miktex的latex,dvipng和pdflatex路径不对;
    • 系统时间没有调整至2009年。在一次运行成功后就可以把时间调回来了;
    • Rendering method 选择的不对。据说不同版本的miktex所能成功渲染的方法也不同,可以多试试;
    • 修改了packages选项卡,引入了还没有安装的package。
      其中第四种应该是最常见的,具体的解决办法就是,利用Miktex自带的编辑器TeXworks来进行安装。具体的,复制一些代码,比如下边给出的这段,然后用TeXworks进行编译,TeXworks会自动安装那些没有安装的包。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      \documentclass[11pt]{ctexart}  
      \usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
      \usepackage{algorithm}
      \usepackage{algorithmicx}
      \usepackage{algpseudocode}
      \usepackage{amsmath}

      \begin{document}
      \begin{algorithm}[h]
      \caption{An example for format For \& While Loop in Algorithm}
      \begin{algorithmic}[1]
      \For{each $i\in [1,9]$}
      \State initialize a tree $T_{i}$ with only a leaf (the root);
      \State $T=T\cup T_{i};$
      \EndFor
      \ForAll {$c$ such that $c\in RecentMBatch(E_{n-1})$}
      \label{code:TrainBase:getc}
      \State $T=T\cup PosSample(c)$;
      \label{code:TrainBase:pos}
      \EndFor;
      \For{$i=1$; $i<n$; $i++$ }
      \State $//$ Your source here;
      \EndFor
      \For{$i=1$ to $n$}
      \State $//$ Your source here;
      \EndFor
      \State $//$ Reusing recent base classifiers.
      \label{code:recentStart}
      \While {$(|E_n| \leq L_1 )and( D \neq \phi)$}
      \State Selecting the most recent classifier $c_i$ from $D$;
      \State $D=D-c_i$;
      \State $E_n=E_n+c_i$;
      \EndWhile
      \label{code:recentEnd}
      \end{algorithmic}
      \end{algorithm}
      \end{document}

全部安装好之后就可以在Aurora里用LateX写公式啦!具体的LateX公式的用法请参见另一篇博文MathJax使用笔记
发个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
\renewcommand{\thealgorithm}{1}
\begin{algorithm}[H]
\caption{Location Anonymization}
\begin{algorithmic}[1]
\Require{$U=\{u_1,u_2,...,u_n\}$;k;q;$L=\{L^{\prime}_1,L^{\prime}_2,...,L^{\prime}_n\}$,where $L^{\prime}_i=({\rho}_i,{\gamma}_i)$}
\Ensure{$R^{\prime}$}\
\State Select $k-1$ users from $U$ which are nearest $u_r$ as a set $M$
\State Define $U_k={u_r \cup M}$
\State Define an empty array $A$
\State Define $R^{\prime}$
\For{each $u_i\in M$}
\label{code:TrainBase:getc}
\State Calculate the similarity of $u_r$ and $u_i$ as $sim(u_r,u_i)$
\While {$ sim(u_r,u_i)> {\xi}_s$} $//{\xi}_s$ means the threshold value of similarity
\State Calculate $Dist(u_r,u_i)$
\State Put each elements $u_i$ into $A$ in ascending order of the value of $Dist(u_r,u_i)$
\EndWhile
\label{code:TrainBase:pos}
\EndFor;
\State Set the area as $R^{\prime}$ which is generated by connecting the first $q$ elements in $A$ in turn
\label{code:recentEnd}
\State Return $R^{\prime}$
\end{algorithmic}
\end{algorithm}

本文来源:「想飞的小菜鸡」的个人网站 vodkazy.cn

版权声明:本文为「想飞的小菜鸡」的原创文章,采用 BY-NC-SA 许可协议,转载请附上原文出处链接及本声明。

原文链接:https://vodkazy.cn/2019/05/10/Word中使用LateX编写伪代码

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者,更多文章请访问想飞的小菜鸡