科研神器:Vscode + latex+grammarly+github copilot

打印 上一主题 下一主题

主题 894|帖子 894|积分 2682

科研论文编写神器:Vscode + latex + grammarly + github copilot

相信很多科研人都有使用latex排版及撰写论文的需求,我一开始使用的是在线编辑的overleaf,overleaf的优点是省事便捷,不用配置,而且支持版本回溯,如果图方便的话使用完全没有问题。
但是由于overleaf的服务器在国外,国内访问很慢,有时候虽然用科技编译也黑白常慢,改一下编译要等半天乃至timeout,这对于一个急性子的人真的很难熬,因此参考网上资料我决定使用vscode这个万能编译器配合来编写latex。
先介绍一下一通配置下来的优点吧


  • 光速编译tex文件
  • tex文件和pdf文件双向同步,单击任意一方另一方快速定位到相应位置
  • 多端同步,多人协同,版本回溯
  • AI论文辅助编写及AI对话提问
  • 实时语法检查并一键修改
  • TODO提示
第一步 latex环境配置

第一步是配置当地latex环境,笔者使用的是Tex Live,我们直接下载iso镜像就可以
网址:Acquiring TeX Live as an ISO image


下载后右键管理员权限运行install-tl-windows.bat

然后可以进行下载,你可以更改下载路径,texlive文件大概有7GB大小,最好别放在C盘,然后等待安装,直到出现欢迎界面才可以关闭,一定要耐烦,安装过程需要一定时间


测试

下载完毕后,打开cmd,输入xelatex -v,如果出现版本信息,就是安装成功了

第二步 vscode插件

下载vscode这里就不赘述,移步网上教程
我们想在vscode中使用latex还需要配置一个插件,这里使用最常用的LaTeX Workshop插件

点击extension \ 扩展后搜索下载
下载完毕后还需要进行配置
打开setting后点击右上角任务栏的文件图标会出现setting.json


参加以下配置,如果原本有内容,则在原本内容最后加 , 后参加下面内容
如果原本没有内容,则先输入,在大括号中填充下面的内容
  1. {
  2. }
复制代码
解释一下部分配置的内容信息,别的可以查询官方文档


  • "latex-workshop.latex.autoBuild.run":设置什么时候进行自动的代码编译

    • “onSave”:生存时编译
    • “onFileChange”:检测到有文件修改就编译
    • “never”:从不自动编译

  • "latex-workshop.showContextMenu":显示latex上下文菜单,这个打开之后会有很好的作用


当地配置latex的一个很好作用是可以实现双向同步,在左侧tex文件右键点击SyncTeX from cursor后,右侧会自动跳转定位到左侧光标地点的编辑区


  • "latex-workshop.view.pdf.internal.synctex.keybinding" 从右侧任意地方双击左侧会定位到该位置的代码区

    • "double-click":和overleaf一样,双击
    • "ctrl-click":ctrl+鼠标左键

  1. "latex-workshop.latex.autoBuild.run": "onSave",
  2.     "latex-workshop.showContextMenu": true,
  3.     "latex-workshop.intellisense.package.enabled": true,
  4.     "latex-workshop.message.error.show": false,
  5.     "latex-workshop.message.warning.show": false,
  6.     "latex-workshop.latex.tools": [
  7.         {
  8.             "name": "xelatex",
  9.             "command": "xelatex",
  10.             "args": [
  11.                 "-synctex=1",
  12.                 "-interaction=nonstopmode",
  13.                 "-file-line-error",
  14.                 "%DOCFILE%"
  15.             ]
  16.         },
  17.         {
  18.             "name": "pdflatex",
  19.             "command": "pdflatex",
  20.             "args": [
  21.                 "-synctex=1",
  22.                 "-interaction=nonstopmode",
  23.                 "-file-line-error",
  24.                 "%DOCFILE%"
  25.             ]
  26.         },
  27.         {
  28.             "name": "latexmk",
  29.             "command": "latexmk",
  30.             "args": [
  31.                 "-synctex=1",
  32.                 "-interaction=nonstopmode",
  33.                 "-file-line-error",
  34.                 "-pdf",
  35.                 "-outdir=%OUTDIR%",
  36.                 "%DOCFILE%"
  37.             ]
  38.         },
  39.         {
  40.             "name": "bibtex",
  41.             "command": "bibtex",
  42.             "args": [
  43.                 "%DOCFILE%"
  44.             ]
  45.         }
  46.     ],
  47.     "latex-workshop.latex.recipes": [
  48.         {
  49.             "name": "pdflatex -> bibtex -> pdflatex*2",
  50.             "tools": [
  51.                 "pdflatex",
  52.                 "bibtex",
  53.                 "pdflatex",
  54.                 "pdflatex"
  55.             ]
  56.         },
  57.         {
  58.             "name": "XeLaTeX",
  59.             "tools": [
  60.                 "xelatex"
  61.             ]
  62.         },
  63.         {
  64.             "name": "PDFLaTeX",
  65.             "tools": [
  66.                 "pdflatex"
  67.             ]
  68.         },
  69.         {
  70.             "name": "BibTeX",
  71.             "tools": [
  72.                 "bibtex"
  73.             ]
  74.         },
  75.         {
  76.             "name": "LaTeXmk",
  77.             "tools": [
  78.                 "latexmk"
  79.             ]
  80.         },
  81.         {
  82.             "name": "xelatex -> bibtex -> xelatex*2",
  83.             "tools": [
  84.                 "xelatex",
  85.                 "bibtex",
  86.                 "xelatex",
  87.                 "xelatex"
  88.             ]
  89.         },
  90.     ],
  91.     "latex-workshop.latex.clean.fileTypes": [
  92.         "*.aux",
  93.         "*.bbl",
  94.         "*.blg",
  95.         "*.idx",
  96.         "*.ind",
  97.         "*.lof",
  98.         "*.lot",
  99.         "*.out",
  100.         "*.toc",
  101.         "*.acn",
  102.         "*.acr",
  103.         "*.alg",
  104.         "*.glg",
  105.         "*.glo",
  106.         "*.gls",
  107.         "*.ist",
  108.         "*.fls",
  109.         "*.log",
  110.         "*.fdb_latexmk"
  111.     ],
  112.     "latex-workshop.latex.autoClean.run": "onFailed",
  113.     "latex-workshop.latex.recipe.default": "lastUsed",
  114.     "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
  115.     "editor.wordWrap": "on",
  116.     "workbench.colorTheme": "Visual Studio Dark - C++",
  117.     "workbench.preferredHighContrastColorTheme": "Visual Studio Light - C++",
  118.     "workbench.preferredDarkColorTheme": "Visual Studio 2017 Light - C++",
  119.     "workbench.preferredLightColorTheme": "Visual Studio 2017 Light - C++",
  120.     "latex-workshop.linting.chktex.exec.args": [
  121.         "-wall",
  122.         "-n22",
  123.         "-n30",
  124.         "-e16",
  125.         "-q",
  126.     ],
复制代码

测试

这里我们提供一个用于测试的tex文件,来自IEEE的官方模板IEEE Conference Template,我将内里的引用修改为常见的bib格式。想要的读者可以直接从我的github仓库拉取latex_vscode大概使用本身的tex文件,具体指令如下:
当地新建一个文件夹,进入cmd后输入以下下令

  1. git init
  2. git clone https://github.com/jiong952/latex_vscode.git
复制代码
有时候网速不太行可以直接点击上面链接下载压缩包也是一样的


打开vscode选择下载后的文件夹,选中conference_101719.tex后左侧会出现TEX图标,点击右上角三角形运行,下方会显示运行进度,出现√就证明成功

点击右上角第二个图标,如果出现的pdf显示正常则配置成功



到这里,当地的latex配置就已经完成了
第三步 github联动实现overleaf及当地vscode多端同步和协同撰写

对于有多人协作需求以及多端同步需求的用户而言,当地的latex编写无法胜任overleaf的功能,且overleaf还具备出色的历史记录回溯功能,这里我们给出一种方案,通过github作为跳板来实现多端同步以及协同
升级Overleaf Premium

现在overleaf对于平凡用户已经不提供github功能,因此我们需要升级到github的Premium会员,这里提供一个免费升级的办法
具体参考这篇博客:免费升级Overleaf Premium(IEEE Collabratec)

  • 进入IEEE Collabratec网址,点击create a Free Account注册账户
  • 点击setting->IEEE Account setting


  • 点击personalize->attached service 找到overleaf添加之后重新登录overleaf就可以是Premium了

latex配置github

点击overleaf界面左上角的Menu->点击Github

会提示你创建github仓库,留意设置private

点击create后出现下面界面

到github中查看显示创建成功

github连通当地

github联通当地就是常规操作了,可以参考上一步中的测试环境,使用git init + git clone克隆仓库
多端同步

在overleaf修改后,点击push可以直接推送到github中,例如这里我修改作者1的名字为answer

点击push

github信息

回到vscode当地使用git pull origin master ,重新编译,当地就同步了


如果当地修改,比如我把answer改为jiong,推送到github


到overleaf中可以直接一键点击pull拉取


同时overleaf上面也可以有版本信息的显示

.gitignore文件

当地latex在运行时候会出现很多中心文件,这里我们给出一个.gitignore文件来进行忽略,不配置也是ok的
  1. # LaTeX build files
  2. *.aux
  3. *.log
  4. *.toc
  5. *.out
  6. *.synctex.gz
  7. *.acn
  8. *.acr
  9. *.alg
  10. *.bbl
  11. *.blg
  12. *.glg
  13. *.glo
  14. *.gls
  15. *.ist
  16. *.lof
  17. *.lot
  18. *.maf
  19. *.mtc
  20. *.mtc1
  21. *.nlg
  22. *.nlo
  23. *.slg
  24. *.slo
  25. *.stg
  26. *.stt
  27. *.xdy
  28. *.tdo
  29. # Generated files
  30. *.dvi
  31. *.ps
  32. *.pdf
  33. # Editor and IDE files
  34. *.swp
  35. *~
  36. .#*
  37. *.bak
  38. *.backup
  39. *.sav
  40. *.tmproj
  41. *.tmproj.*
  42. *.sublime-workspace
  43. *.sublime-project
  44. .vscode/
  45. .idea/
  46. *.bak
复制代码
具体解释可以参考这篇博客Git 如作甚LaTeX项目设置.gitignore文件
第四步 配置其他插件

vscode的最大优势就是all in one,强大的插件功能可以极大的提高开发服从
这里介绍三个插件,分别是github copilot、grammarly、Todo Tree
github copilot


在环境中配置 GitHub Copilot
很多人将copilot用于代码开发,但他在写论文时候同样也可以帮你补写,如下方的灰色斜体部分就是copilot自动帮我补写的,按下TAB键之后就可以自动填充这部分了

学生党可以使用学校邮箱申讨教诲计划,网址,这个申请通过极其选修,可以查看网上其他人教程配置,多试几次
chat功能就不再解释,用过gpt的懂得都懂,不外速率偏慢,感觉没openai好用
点击左侧聊天按钮输入问题就可以对话了

grammarly

grammarly提供了vscode插件,帮你边写论文边检查语法

需要配置一下扫描的文件,这里我们参加**/*.tex文件


  • 打开setting搜索grammarly.files.include
  • 在其中参加**/*.tex就会自动扫描你的tex文件
这里有个单词to be using写错了应该是to be used,grammarly自动帮我们查出来了,鼠标悬停点击Quick Fix后就可以一键直接更换了



Todo Tree

这个功能一般在项目开发中使用,不外用在latex中也是很好用的
在tex文件中写下TODO,会高亮提示,左侧的TODO中会显示所有写了TODO的地方,用于提醒本身哪里还没写


补充:如果英文不太好,也可以下载这个插件修改界面为中文

参考链接:
配置Visual Studio Code和LaTex环境
Visual Studio Code (vscode)配置LaTeX
免费升级Overleaf Premium(IEEE Collabratec)
Overleaf_to_GitHub
Git 如作甚LaTeX项目设置.gitignore文件
dio Code和LaTex环境](https://yangyq.net/2022/05/latex-with-visual-studio-code.html)
Visual Studio Code (vscode)配置LaTeX
免费升级Overleaf Premium(IEEE Collabratec)
Overleaf_to_GitHub
Git 如作甚LaTeX项目设置.gitignore文件
在环境中配置 GitHub Copilot

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表