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$\; %\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

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

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}% 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