Master KangKang
工具文
如何优雅地
HOW TO WRITE PAPER
GRACEFULLY
写论文
LET'S START
01
序言
朋友们好啊,我是混元形意太极门……
作为一名准研究生,在憧憬未来的同时,总是会在网络上看到一些负面新闻——
所以如何看待呢?
当然是他用的LaTeX论文编辑器太low了!导致了心烦意乱以至于对学习失去了原有的兴趣/doge。
今天,小编带大家探索发现一款你从没玩过的船新版本——
TexLive+visual studio code+git+...
优雅的界面,灵活的自定义组装功能,装*的快捷键,简单实用的版本控制……用不了吃亏,用不了上当!
下面就开始吧!
02
软件安装
01
Tex Live(必)
没有这个你的电脑是看不懂LaTeX的啦!
为什么以前没装过?那是因为以前都和编辑器捆绑在一起了鸭!
https://www.tug.org/texlive/acquire-netinstall.html
不过这个真的要装好久,最少半个小时吧……
02
Visual Studio Code(必)
这就是敲代码码字的环境啦,看到一堆英文别害怕,我们要用的功能不多。如果你是程序员,这一步应该可以跳过去了吧。
https://github.com/Microsoft/vscode
03
SumatraPDF(选)
这是一款轻量级的PDF查看器,我选择它的原因是它支持一键定位到vs code里面的代码的功能。当然,如果你用的是更好用的WPS,Acrobat也可。其实本身vs code LaTeX插件就支持使用自带查看器,浏览器,第三方软件三种方式预览PDF文件
https://www.sumatrapdfreader.org/free-pdf-reader.html
04
LaTeX Workshop(必)
这是在vs code中的一个插件,凭借这个插件可以建立vs code与Tex live,SumatraPDF之间的联系。在vs code左下角的设置图标里选择Extensions,在搜索框内搜索LaTeX Workshop后,点击下面的installs小图标即可——
别急,等到安装好了以后,打开它的setting.json文件,在里面写上下面的代码以配置:
{ "latex-workshop.latex.recipes": [ { "name": "xelatex", "tools": [ "xelatex" ] }, { "name": "latexmk", "tools": [ "latexmk" ] }, { "name": "pdflatex -> bibtex -> pdflatex*2", "tools": [ "pdflatex", "bibtex", "pdflatex", "pdflatex" ] } ], "latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.viewer.command": "C:/Users/hp/AppData/Local/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.pdf.external.viewer.args": [ "%PDF%" ], "latex-workshop.latex.tools": [ { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOCFILE%" ] }, { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOCFILE%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ], "latex-workshop.latex.clean.fileTypes": [ "*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk" ], "workbench.startupEditor": "welcomePage", "explorer.confirmDelete": false, "files.autoGuessEncoding": true, "workbench.colorTheme": "Visual Studio Dark", "workbench.editor.enablePreview": false,}
值得注意的是!
"latex-workshop.view.pdf.external.viewer.command": "C:/Users/hp/AppData/Local/SumatraPDF/SumatraPDF.exe"
这个后面跟的键值是你自己的第三方PDF阅读器地址啊喂!
05
git(选)
git本身是一种软件配置工具,因为我们软件工程是一项需要多人运动多人合作的工作,所以为了协调各方进度避免版本冲突而产生的一种自动化管理工具。如果论文只是由我们一个人写的话,那么git工具的主要任务就是用来存储提交给老师批阅前后的各种版本,然后起到一个可以回退,撤销,对比的功能。当然,如果你有更好的习惯或者方式来管理你的论文版本,那么可以选择不使用git
git一般继承Linux风格,使用git的控制台来控制,但是和vs code结合后,vs code提供了一键化的接口,非常方便
https://git-scm.com/downloads
03
第一篇论文
新建一个文件夹,然后把我们从期刊上下载到的LaTeX样式文件(.cls)移动进来
然后打开vs code,点击菜单栏File→Open Folder,选择刚才创建的文件夹
然后开心地新建一个.tex文件,开始码字
两三下写完了(当然不是我写的,是IEEE给的样稿)
然后点击编译快捷键Ctrl+Alt+B,片刻后发现左边工程目录已经发生了变化
再点击预览快捷键Ctrl+Alt+V,瞬间打开了SumatraPDF进行预览(我设置的默认预览方式就是第三方软件预览)
最后点一下清除垃圾文件快捷键Ctrl+Alt+C,发现左边工程目录又发生了变化
发现编译日志之类的中间文件被自动删掉了
其实,在日常写作的时候Ctrl+S保存就可以自动触发vs code的编译功能,不需要刻意的去编译
04
使用小技巧
刚才已经列举了
Ctrl+Alt+B 编译(首选编译器在setting.json中设置)Ctrl+Alt+V 预览(首选预览方式和软件/浏览器也在setting.json中设置)Ctrl+Alt+C 清除杂项文件
那么还有诸如
Ctrl+Alt+X 侧边栏跳转到LaTeX功能页
这样的功能页里,你可以进行文章导航,
导航栏用来快速定位文章位置,命令栏包括了对.tex文件操作的所有命令,符号栏用于添加各类特殊符号
其中命令栏的命令集合从上到下依次是:
Build LaTeX project:编译你的.tex文件View LaTeX PDF:预览生成的PDFView Log messages:查看编译信息Nagtive, Select, and edit:文章与PDF相互定位(见下文)Miscellaneous:统计字数,查看源文件啥的Snippet Panels:展开下面的符号栏BibTex actions:专门针对引用文件(.bib)的命令,什么整理引用文献之类的,以后会分享的!
当然,补充一下vs code本身的各类快捷键(什么复制粘贴撤销重做保存就不扯了,搞点装*的)
Ctrl+Tab:窗口文件之间切换Ctrl+W:关闭当前文件Ctrl+Shift+W:关闭vs codeCtrl+F:查找Ctrl+K+S:打开快捷键一览表Ctrl+K+C或者Ctrl+/:注释选中内容Ctrl+K+U:取消注释选中内容Ctrl+Shift+K:删除光标所在行Ctrl+D:选中光标所在单词Ctrl+D两次:选中光标所在单词在文档中出现之处(然后批量修改单词)Ctrl+J:打开编译终端@+某个英文单词:快速输入LaTeX中的希腊字母
05
正向反向搜索
正向搜索就是根据你的光标在.tex文件中的位置自动定位到PDF文件中的对应位置,而反向搜索就是根据PDF文件中的位置定位到.tex文件中的位置
01
正向搜索
在前面的setting.json中补一个键
"latex-workshop.view.pdf.external.synctex.command": "C:/Users/hp/AppData/Local/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.pdf.external.synctex.args": [ "-forward-search", "%TEX%", "%LINE%", "-reuse-instance", "-inverse-search", "code \"D:/Microsoft VS Code/resources/app/out/cli.js\" -r -g \"%f:%l\"", "%PDF%" ],
当然,注意我的可能和你的PDF阅读器和vs code的安装路径不同
配置完后在光标定位至.tex文件的某处,然后点击Ctrl+Alt+J,直接会自动打开SumatraPDF并定位
02
反向搜索
打开SumatraPDF的设置,在下面有一个设置反向搜索命令行
输入
"D:\Microsoft VS Code\Code.exe" "D:\Microsoft VS Code\resources\app\out\cli.js" -r -g "%f:%l"
注意依旧是你的vs code地址!
有了这个功能,vs code+Sumatra编写LaTeX文档犹如vs code+Chrome编写网页,生产力将大幅提高!
注意啦!文件夹里面的.synctex.gz后缀名的文件请不要删,否则正向搜索将无效。如果一键清理杂项中包括了这个文件,可以在setting.json里面取消掉
06
git版本管理
在使用之前,在电脑里配置好git的环境变量好让vs code找到,这样就可以完全使用vs code来进行git操作了,不需要控制台操作了
配置好在CMD中输入git,会得到下面的内容
在cmd中设置git的用户名和邮箱
配置完成,重新启动vs code,然后在你的文件夹中点击Initialize Respository建立git仓库
发现了文件夹中的文件都已经发生了变化
清理一下,剩下4项文件,我们准备把这4项文件提交到仓库里,
然后越改越乱,最后全改毁了,心里非常烦躁,突然发现把源文件.tex不小心删了!
怎么办!有了版本控制,可以点击克隆把以前的一个版本还原回来
选择这个文件夹,就可以立即还原回来了
还有各种分支合并,提交到远程github,这些都是值得探索的功能呢!(其实都是程序员的一些日常罢了……)
最后,祝大家新年快乐!2021红红火火恍恍惚惚,
微信号|Master KangKang
github|ILoveU3D
https://iloveu3d.github.io/Statistic-Learning