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

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

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

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

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

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

zhsdhzs
然后输入下面的代码,点击上面的 refresh
等他 done,再看看你的 word
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
| \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 就会有一个这个了,是不是很美观。

asghashdgaksd
如果你不喜欢这种风格的,还有其他的,往下看
0x02 MiKTeX 的 TeXworks
如果上面的 word 安装始终跑不起来的话,那就将就一下,就用 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 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