zoukankan      html  css  js  c++  java
  • log_2020_0120: LaTeX 集成编辑环境: win 下的 texlive+vscode 配置方案

    安装TexLive

    前前后后也配过很多次LaTeX的环境了,但是仍然是个新手.如果有人让我帮忙看看的话,我仍然比较建议参照刘鹏的教程texlive 2019安装指南 - 知乎,我记得他的专栏里对当年度的新版本都是有小白教程的.

    刘鹏在教程里推荐使用wsl+texlive.我尝试过,然后放弃了,因为尝试的时候对vsc还不是很熟悉,而且犯了一个很nc的错误: 使用Ubuntu 18.04 LTS的源去更新Ubuntu 16.04 LTS版本的wsl.之后如果有需要的话,可能会尝试一下.因为实现思路也不是很难,说白了就是vsc开远程桌面连到wsl,在wsl下跑编译.

    此外,一位科研圈的师兄提到,说wsl下的texlive不要安装在默认路径,但是鉴于他没说建议安装在哪,所以我也不解其意,姑且先记录下来吧.

    配置 vsc 的 LaTeX Workshop 插件

    • 编译工具(tool)的装载和编译菜单(recipe)的编辑.
    • 在比较之后,还是选择使用外部的 pdf 阅读器Sumatra pdf进行预览.
      • 这也是后面一些配置的铺垫.毕竟,我之前用的一直是 Sublime Text 3,当时配置 LaTeX 集成环境参考的教程要比最近折腾 vsc 之路上参考的教程要良心得多——这让我把对某些功能的需求刻进了 DNA没错我又往 DNA 里乱刻东西了.
    • 配置了正向和反向搜索搜索(按照教程修改了一些参数)
      • 正向搜索
        • 更改了"latex-workshop.view.pdf.external.synctex.args"这一项的内容,修改进去的参数控制的大概有:外部浏览器的路径,vsc 窗口复用(避免打开多个窗口),etc.
        • 窗口复用参考了Liam 博客上的一个 piece.
      • 反向搜索
        • 使用 Sumatra pdf 设置中的“双击命令行设置”功能,键入"Code.exe" "resourcesappoutcli.js" -g "%f":"%l"即可(注意根据实际情况修改路径名).
        • 这里参考了使用 VSCode 编写 LaTeX(latex+vscode+SumatraPDF,这个页面虽然第一眼看上去很山寨,但却意外地相当实用.

    附上我的部分配置文件:

    //这是我的vscode中的`settings.json`,仅供参考.
        "latex-workshop.showContextMenu": true, //右键菜单
        "latex-workshop.intellisense.package.enabled": true, //根据加载的包,自动完成命令或包
        "latex-workshop.latex.autoBuild.run": "never", //禁止保存文件时自动build
        "latex-workshop.view.pdf.viewer": "external",//使用外部pdf阅读器
        "latex-workshop.view.pdf.external.viewer.args": [
            "%PDF%"
        ],
        "latex-workshop.view.pdf.external.viewer.command": "C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe",//(在cmd中)打开外部阅读器的命令,应替换为你电脑中的外部pdf阅读器的可执行文件地址
        "latex-workshop.view.pdf.external.synctex.args": [
            "-forward-search",//允许正向搜索
            "%TEX%",
            "%LINE%",
            "-reuse-instance",//复用窗口实例,控制从外部pdf阅读器对tex代码进行反向搜索时不打开新窗口
            "-inverse-search",//允许反向搜索
            ""C:\Users\[username]\AppData\Local\Programs\Microsoft VS Code\Code.exe" "C:\Users\[username]\AppData\Local\Programs\Microsoft VS Code\resources\app\out\cli.js" -r -g "%f:%l"",
            "%PDF%"
        ],//前一个是vscode的本地路径,后一个是本地一个特定js的路径,一般只要把[username]改为你系统内的个人文件夹名字即可.
        "latex-workshop.view.pdf.external.synctex.command": "C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe",//(在cmd中)打开外部阅读器的命令,应替换为你电脑中的外部pdf阅读器的可执行文件地址
        "latex-workshop.latex.tools": [
            // 编译工具和命令
            {
                "name": "xelatex",
                "command": "xelatex",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-pdf",
                    "%DOCFILE%"
                ]
            },
            {
                "name": "latexmk",
                "command": "latexmk",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-pdf",
                    "-outdir=%OUTDIR%",
                    "%DOCFILE%"
                ],
                "env": {}
            },
            {
                "name": "pdflatex",
                "command": "pdflatex",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "%DOCFILE%"
                ],
                "env": {}
            },
            {
                "name": "bibtex",
                "command": "bibtex",
                "args": [
                    "%DOCFILE%"
                ],
                "env": {}
            },
            {
                "name": "lualatexmk",
                "command": "latexmk",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-lualatex",
                    "-outdir=%OUTDIR%",
                    "%DOCFILE%"
                ],
                "env": {}
            },
            {
                "name": "latexmk_rconly",
                "command": "latexmk",
                "args": [
                    "%DOCFILE%"
                ],
                "env": {}
            }
        ],
        "latex-workshop.latex.recipe.default": "first",//设置默认的编译(组合)方式
        "latex-workshop.latex.recipes": [//这里可以依照需要定制一些编译组合,在某些场景下会很方便,比如使用众所周知要编译四次的IEEE论文模板的时候
            {
                "name": "xelatex",
                "tools": [
                    "xelatex"
                ]
            },
            {
                "name": "pdflatex",
                "tools": [
                    "pdflatex"
                ]
            },
            {
                "name": "xe->bib->xe->xe",
                "tools": [
                    "xelatex",
                    "bibtex",
                    "xelatex",
                    "xelatex"
                ]
            }
        ],
        "latex-workshop.view.pdf.backgroundColor": "#fdf6e3",//这个浅黄色预览界面是为了方便我自己,因为我的vscode配色为solarized-light,你也可以根据自己的喜好调整成其他背景色
    

    参考过的文档
    VSCode 配置:插件与设置 | Zhechen's Personal Website
    Visual Studio Code 折腾记:LaTeX 集成编辑环境 | Ceba's Blog
    Compile · James-Yu/LaTeX-Workshop Wiki

  • 相关阅读:
    SGU 495 Kids and Prizes 概率DP 或 数学推理
    poj 2799 IP Networks 模拟 位运算
    uva 202 Repeating Decimals 模拟
    poj 3158 Kickdown 字符串匹配?
    uva 1595 Symmetry 暴力
    uva 201 Squares 暴力
    uva 1594 Ducci Sequence 哈希
    uva 1368 DNA Consensus String 字符串
    数字、字符串、列表的常用操作
    if条件判断 流程控制
  • 原文地址:https://www.cnblogs.com/ria2020/p/12255743.html
Copyright © 2011-2022 走看看