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

ajsdakjshd

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

aasdasda

aasdasda

然后配置刚才的安装路径下的 path 下图是参考。

latex,dvipng 和 pdflatex 都在此文件夹下 *C:\Users\moonshine\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64

iaushdiau

iaushdiau

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

ilshjdfh

ilshjdfh

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

aasdasda

aasdasda

只是注意插件版本的依赖包需要 copy 到这里,它才可进行识别。

latex
1
2
\usepackage[ruled,linesnumbered]{algorithm2e}  
\usepackage{amsmath}

zhsdhzs

zhsdhzs

然后输入下面的代码,点击上面的 refresh 等他 done,再看看你的 word

latex
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$\; %\varphi_n\bm{W}\vec{y}_n
\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

asghashdgaksd

如果你不喜欢这种风格的,还有其他的,往下看

0x02 MiKTeX 的 TeXworks

如果上面的 word 安装始终跑不起来的话,那就将就一下,就用 TeXworks 吧,效果也是很好的。

直接在 TeXworks 中输入下列的代码。然后安装默认方式进行运行,就可以看到一个很优美的玩意。前提是你已经安装了必须的包。

latex
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}% http://ctan.org/pkg/algorithmicx

\setcounter{algorithm}{10} % 修改这个序号就可以实现算法1 算法2 算法3等的修改了
\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