Windows 下latex的配置(word插件+独立编译pdf)
latex是干啥的呢?帕拉帕拉一堆,随便搜索一下就好啦,这里只讲怎么配置好和怎么用。
0x01 word插件
下载 aurora: 链接1,提取码:ms6q  (PS:来源于参考链接1)
下载miktex,官网链接。
由于它很久很久没更新了,所以需要把系统时间调回2009年来进行安装,然后运行成功一次之后,就可以把系统的时间调整回来了。
下载的文件包含了安装包和注册机,注册机随便输入点英文字母就可以进行注册了。
随便安装在哪里都可,记住路径就好。记住先调整时间哈。2009年的某一天 安装aurora的时候不要勾选默认的miktex,aurora太旧了很久没有更新了,下载出来的也是旧版本的。
然后你应该会发现你的word(我这边是office 2019)打开会显示激活失败,而且你还无法进行编辑,也就是word就不能用了。那就没法了,我就只能把时间调整回来了。然后破罐子破摔了。
打开word,在上面应该是有一个aurora的玩意,点击它,最左边有个玩意,再点一下,会弹出来一个玩意。

对就是下面这个玩意 然后点击这个properties

然后配置刚才的安装路径下的path下图是参考。 
latex,dvipng 和pdflatex都在此文件夹下*C:\Users\moonshine\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64

然后就差不多了,需要的package可以从 MiKTeX 的console中进行下载 下图是一个例子,直接搜索,然后右键就可以安装。

然后就可以在word的那个插件中进行编写代码啦 “$$”是可以删除的。

只是注意插件版本的依赖包需要copy到这里,它才可进行识别。
| 12
 
 | \usepackage[ruled,linesnumbered]{algorithm2e}  \usepackage{amsmath}
 
 | 

然后输入下面的代码,点击上面的refresh 等他 done,再看看你的word
| 12
 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
 
 | \begin{algorithm}[H]  \caption{Learning algorithm of R2P}
 \begin{algorithmic}[1]
 \label{alg:r2p}
 \KwIn{ratings $R$, joint demographic representations $Y$,learning rate $\eta$,maximum iterative number $maxIter$, negative sampling number $k$\;}
 \KwOut{interaction matrix $\bm{W}$, movie vectors $V$\;}
 Initialize $\bm{W},V$ randomly\;
 $t = 0$\;
 For convenience, define $\vec{\varphi}_n = \sum_{m\in S_n}r_{m,n}\vec{v}_m$\;
 \While{not converged \rm{or} $t>maxIter$}
 {
 t = t+1\;
 \For{$n=1;n \le N;n++$}
 {
 $\bm{W} = \bm{W}+\eta\big(1-\sigma\left(\vec{\varphi}_n^T\bm{W}\vec{y}_n\right)\big)\vec{\varphi}_n\vec{y}_n^T$\;\label{algline:W}
 \For{$m\in S_n$}
 {
 $\vec{v}_m=\vec{v}_m+ \eta\left(1-\sigma\left(\vec{\varphi}_n^T\bm{W}\vec{y}_n\right)\right)r_{m,n}\bm{W}\vec{y}_n$\;\label{algline:V}
 }
 \For{$i=1;i\le k;i++$}
 {
 sample negative sample $\vec{y}_i$ from $P_n$\;
 $\bm{W} = \bm{W}-\eta\big(1-\sigma\left(-\vec{\varphi}_n^T\bm{W}\vec{y}_n\right)\big)\vec{\varphi}_n\vec{y}_i^T$\;
 \For{$m\in S_n$}
 {
 $\vec{v}_m=\vec{v}_m- \eta\left(1-\sigma\left(-\vec{\varphi}_n^T\bm{W}\vec{y}_n\right)\right)r_{m,n}\bm{W}\vec{y}_i$\;
 }
 }
 }
 $\bm{W} = \bm{W}-2\lambda\eta\bm{W}$\;
 $V=V-2\lambda\eta V$
 }
 return $\bm{W},V$\;
 \end{algorithmic}
 \end{algorithm}
 
 | 
你的word就会有一个这个了,是不是很美观。

如果你不喜欢这种风格的,还有其他的,往下看
0x02 MiKTeX 的 TeXworks
如果上面的word安装始终跑不起来的话,那就将就一下,就用TeXworks吧,效果也是很好的。
直接在TeXworks中输入下列的代码。然后安装默认方式进行运行,就可以看到一个很优美的玩意。前提是你已经安装了必须的包。
| 12
 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
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 
 | \documentclass[11pt]{article}
 \usepackage{CJK}
 \usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
 \usepackage{algorithm}
 \usepackage{algorithmicx}
 \usepackage{amsmath}
 \usepackage{algpseudocode}
 
 \setcounter{algorithm}{10}
 \floatname{algorithm}{算法}
 \renewcommand{\algorithmicrequire}{\textbf{输入:}}
 \renewcommand{\algorithmicensure}{\textbf{输出:}}
 
 \begin{document}
 \begin{CJK*}{UTF8}{gkai}
 \begin{algorithm}
 \caption{用归并排序求逆序数}
 \begin{algorithmic}[1]
 \Require $Array$数组,$n$数组大小
 \Ensure 逆序数
 \Function {MergerSort}{$Array, left, right$}
 \State $result \gets 0$
 \If {$left < right$}
 \State $middle \gets (left + right) / 2$
 \State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}
 \State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}
 \State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}
 \EndIf
 \State \Return{$result$}
 \State this is code \Comment{this is a comment}
 \EndFunction
 \State
 \Function{Merger}{$Array, left, middle, right$}
 \State $i\gets left$
 \State $j\gets middle$
 \State $k\gets 0$
 \State $result \gets 0$
 \While{$i<middle$ \textbf{and} $j<right$}
 \If{$Array[i]<Array[j]$}
 \State $B[k++]\gets Array[i++]$
 \Else
 \State $B[k++] \gets Array[j++]$
 \State $result \gets result + (middle - i)$
 \EndIf
 \EndWhile
 \While{$i<middle$}
 \State $B[k++] \gets Array[i++]$
 \EndWhile
 \While{$j<right$}
 \State $B[k++] \gets Array[j++]$
 \EndWhile
 \For{$i = 0 \to k-1$}
 \State $Array[left + i] \gets B[i]$
 \EndFor
 \State \Return{$result$}
 \EndFunction
 \end{algorithmic}
 \end{algorithm}
 \end{CJK*}
 \end{document}
 
 | 
就是这样子:

关于自定义模块包/自动安装搜索不到的
上述方法基本都实现了想要的功能了,对于缺少的模块都可以自己进行添加。直接在 MiKTeX 的 console 中搜索安装就行。并且绝大多数情况都推荐使用这种方式进行安装。只有极少数情况下,某些包不在其服务器列表中,例如某些期刊论文的格式时需要自定义一个 sty 或者官方提供了一个,这时候也不需要手动去安装,只需要把这个 sty 文件和写好的 latex 的源码放在一个目录下就可以找到了。
0x03 其他好看的模板
其实还有很多好看的模板我就不一一赘述了。直接给个参考的网站吧。
很多的模板,但是不排除有语法错误,需要自己修稿。链接:https://www.shangmayuan.com/a/1485d36c6aec46ebb02482d1.html
0x04 参考链接
参考链接1:http://www.yuerya.me/post/aurora-%7C-latex-in-word
参考链接2:http://hustsxh.is-programmer.com/posts/38801.html
参考链接3:https://www.shangmayuan.com/a/1485d36c6aec46ebb02482d1.html
参考链接4(最重要):https://www.jianshu.com/p/704863910bab
手动安装sty:https://www.zhihu.com/question/26584112