前言

在学习过程中记笔记的方式因人而异,就载体而言,有实体纸张和电子文档两类。我在整理范畴论方面笔记时,两种都有尝试,思考过程中的写写画画自然是纸张最好,在正式整理上,电子文档相比厚厚的纸张,优势不言自明。markdown 在一般的电子文档格式中体验是最好的,用处也最广泛:写博客、软件文档、需求文档......笔者使用过的编辑器主要有:

这些编辑器很强大,但有一个不好的点:容易让人陷入配置旋涡。笔者面对浩如烟海的配置选择,会很好奇,恨不得每种配置都试一遍,今天觉得这个配置好,明天发现那个主题也不错,这对于写作本身来说是有害的,会让人分心,我想这也是极简文化兴起的某种因素吧?!(好像偏离了主题😂)言归正传,笔者在记数学类笔记时,发现了 markdown 格式的诸多不便:

  1. 论述格式支持差。数学中有定义、推论、定理、引理、证明等不同的论述环境,这些论述使用的字体,字号等都有差异(部分原因是从美观上考虑)。在 markdown 中,我没找到方便的插件。
  2. 专业图形表达缺失。数学论述中,图形化表达的重要性不言自明。就拿交换图来说,markdown 很难直接做出这种图:
    交换图表示例
    3.不支持排版模版导入。学术论文、杂志、书籍都需要各式各样的排版,markdown 显然不支持。

所以,我投入了 latex 的怀抱!

Latex 编辑方式

latex 文档编辑主要有云端和本地两种方式。云端推荐 overleaf 这个网站,不仅模版多多,还对接各种学术杂志,搞科研大杀器!缺点是只能导出为 pdf 格式,且编译时间有限制,如果文本量过大,需要开会员延长编译时间。本人有 html 输出格式的需求,所以选择了本地化。

Mac 安装 Latex

安装没啥好说的,去 MacTex 官网下载软件即可。

VSCode 相关插件配置

我安装了几个普遍使用的插件

这里需要对插件进行配置,我的配置如下:

{
    // "latex.linter.enabled": false,
    "latex-workshop.latex.autoBuild.run": "never",
    "latex-workshop.showContextMenu": true,
    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.message.error.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "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.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    ],
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.latex.recipe.default": "lastUsed",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
    "editor.unicodeHighlight.allowedLocales": {
        "zh-hans": true,
        "zh-hant": true
    },
    "latex-workshop.latexindent.path": "/Library/TeX/texbin/latexindent",
}

这里需要注意的是,编译中文文档,要使用 xelatex 这个编译器。

总结

对于 latex 笔者的接触时间不长,不过其强大之处深深吸引了我。纵然在学术文章撰写上不乏有 QuartoTypst 等新兴势力,但 latex 凭借生态上的优势依然是主流选择。
PS:补一张自己范畴论笔记的图:
image.png


ArrowTuner
4 声望0 粉丝

数学爱好者、无业游民