【LaTeX】環境配置以及中文支持


網頁環境

Overleaf

Overleaf 是一個在線的 LaTeX 編輯環境,可以避免在本地安裝和配置的過程,同時還能和他人共享編輯

本地環境

TeX Live

TeX Live 可以利用鏡像安裝節省下載時間

可以在安裝 TeX Live 時同時勾選上安裝 TeXworks 前端,然后就可以使用 TeXworks 作為 IDE 來使用了

TeXstudio

TeXstudio 也是一個很好的 LaTeX 編輯軟件,可以直接去官網下載安裝,並且有中文界面

VSCode

個人更喜歡 VSCode,通過安裝擴展並進行相應的配置即可較好的支持 LaTeX,同時還有格式化和自動補全等功能,非常方便

安裝 LaTeX Workshop 擴展

直接在 VSCode 的擴展商店中搜索 LaTeX Workshop 安裝即可

編譯鏈配置

  1. 默認配置

    TeX Live 安裝時會同時安裝 latexmk, LaTeX Workshop 會默認使用 latexmk 來編譯 .tex,無需手動再配置

  2. 手動配置(可選)

    手動配置 LaTeX Workshop,在 VSCode 的配置文件 settings.json 中直接手動添加如下代碼:

    主要參考插件的官方 recipes 配置修改

    // 配置編譯鏈,可以根據需要做修改
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex 🔃",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "pdflatex 🔃",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "latexmk 🔃",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "xelatex ➞ bibtex ➞ xelatex`×2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex ➞ bibtex ➞ pdflatex`×2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ],
    // 具體的編譯命令配置
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ]
        },
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    

正向同步

正向同步指的是編譯完成后,在 .tex 文件內通過快捷鍵,快速定位到光標位置在 .tex 的對應位置,方便查看 PDF 文件

推薦打開文件修改后,編譯完成后自動正向同步。該功能通過 latex-workshop.synctex.afterBuild.enabled 來控制

"latex-workshop.synctex.afterBuild.enabled": true,

反向同步

反向同步指的是編譯完成后,在 PDF 文件內通過快捷鍵,快速定位點擊部分在 .tex 的位置,方便修改 .tex 源碼

主要參考插件的官方 synctex 配置修改

  1. VSCode 內部 PDF 瀏覽器

    如果直接使用 VSCode 來瀏覽 PDF,不需要額外設置,可以根據需要修改 latex-workshop.view.pdf.internal.synctex.keybinding 來修改反向同步的快捷鍵即可,默認 Ctrl 加鼠標左鍵

    // 默認 Ctrl 加鼠標左鍵
    "latex-workshop.view.pdf.internal.synctex.keybinding": "ctrl-click",
    
  2. 外部 PDF 瀏覽器

    SumatraPDF 是一款流行的小巧方便的免費 PDF 瀏覽軟件。VSCode 支持使用外部的 PDF 瀏覽器來查看編譯后的 PDF 文件,以及反向搜索功能。主要需要如下配置:

    // 配置為使用外部 PDF 瀏覽軟件來瀏覽 PDF
    "latex-workshop.view.pdf.viewer": "external",
    // 配置外部 PDF 瀏覽軟件的命令行以及參數
    "latex-workshop.view.pdf.external.viewer.command": "D:/Program/SumatraPDF/SumatraPDF-3.2-64.exe", // 自行修改路徑
    "latex-workshop.view.pdf.external.viewer.args": [
        "%PDF%"
    ],
    

    在 SumatraPDF 的設置-選項中設置反向搜索命令行 C:\Users\<user>\AppData\Local\Programs\Microsoft VS Code\Code.exe -g "%f:%l",Code 的路徑應該為完整的絕對路徑

其他可選配置

// 關閉自動編譯
"latex-workshop.latex.autoBuild.run": "never",
// 默認選擇上次編譯鏈
"latex-workshop.latex.recipe.default": "lastUsed"
// 右鍵菜單
"latex-workshop.showContextMenu": true,
// 關閉編譯出錯的彈窗
"latex-workshop.message.error.show": false,
"latex-workshop.message.warning.show": false,

中文支持

該節主要參考 Overleaf Chinese 文檔

推薦使用 XeLaTeX 和 LuaLaTeX 來編譯含有中文字符的 .tex 文件

XeLaTeX 和 LuaLaTeX

  1. 直接使用 ctexart 文檔類即可支持中文
  2. 或者使用 ctex 包來支持中文

參考代碼如下:

\documentclass{ctexart}

\begin{document}

\tableofcontents

\begin{abstract}
這是簡介及摘要。
\end{abstract}

\section{前言}

\section{關於數學部分}
數學、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.

這是繁體中文。

\end{document}

或者

\documentclass{xxx}
\usepackage{ctex}

XeLaTeX

XeLaTeX 還可以使用 xeCJK 包來支持中文

參考代碼如下:

\documentclass{article}
\usepackage{xeCJK}
\begin{document}

\section{前言}

\section{關於數學部分}
數學、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.

這是繁體中文。
\end{document}

pdfLaTeX

pdfLaTeX 對中文支持不是很好,只用 pdaLaTeX 的話需要引入 CJKutf8 包,並且用 \begin{CJK*}{UTF8}{gbsn}\end{CJK*} 包住所有的中文。

  • gbsngkai 是簡體的字體
  • bsmibkai 是繁體的字體

參考代碼如下:

\documentclass{article}
\usepackage{CJKutf8}

\begin{document}

\begin{CJK*}{UTF8}{gbsn}

\section{前言}

\section{關於數學部分}
數學、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.

\end{CJK*}

\bigskip  %% Just some white space

You can also insert Latin text in your document

\bigskip  %% Just some white space

\begin{CJK*}{UTF8}{bsmi}
這是繁體中文。
\end{CJK*}

\end{document}

編譯

  1. 首先 .tex 文件名以及路徑盡量不要含有空格以及中文字符

  2. 在使用 latexmk 和 VSCode 的 LaTeX Workshop 時,推薦使用第三個編譯鏈 Recipe: latexmk (lualatex)

    build-chinese-latex

參考資料

本文作者: ywang_wnlo
本文鏈接: https://ywang-wnlo.github.io/posts/4f94956.html
版權聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協議。轉載請注明出處!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM