首页 > 其他分享 >Latex 配置代码详解

Latex 配置代码详解

时间:2024-09-25 15:01:12浏览次数:7  
标签:Latex pdflatex latex workshop 代码 编译 详解 xelatex bibtex

引言

参考视频:

  1. 发SCI必备的【LaTex】使用教程(第二期)

1. 设置 Vscode 编辑器格式

配置代码决定了如何在 Vscode 中编译 Latex 代码。

  // 当设置为"never"时,禁用了保存LaTeX文档时自动编译的功能。
  "latex-workshop.latex.autoBuild.run": "never",
  
  // 启用VS Code编辑器中的LaTeX文件右键菜单。
  "latex-workshop.showContextMenu": true,
  
  // 启用LaTeX Workshop的智能感知功能,包括代码自动完成、参数信息等。
  "latex-workshop.intellisense.package.enabled": true,
  
  // 禁用错误信息在编辑器中的显示。
  "latex-workshop.message.error.show": false,
  
  // 禁用警告信息在编辑器中的显示。
  "latex-workshop.message.warning.show": false,

2. 定义 Latex 编译工具的配置

xelatex 提供 Unicode 支持。

Unicode 是一种国际标准.为所有字符提供唯一的数字标识,适合处理复杂的文本和字体。

  // 定义了LaTeX编译工具的配置,包括工具名称、命令和参数。
  "latex-workshop.latex.tools": [
    {
      "name": "xelatex", // 工具名称:xelatex
      "command": "xelatex", // 执行的命令
      "args": [ // 命令参数
        "-synctex=1", // 启用同步TeX,方便在PDF和源文件之间跳转
        "-interaction=nonstopmode", // 设置为非停止模式,编译时不中断
        "-file-line-error", // 显示错误的文件名和行号
        "%DOCFILE%" // 代表当前文档的路径
      ]
    },

pdflatex 和传统的 Latex 宏包和文档类有很好的兼容性,适合处理大多数英文文档。

    {
      "name": "pdflatex", // 工具名称:pdflatex
      "command": "pdflatex",
      "args": [ // 命令参数,与xelatex类似
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
      ]
    },

latexmk 用来实现自动化编译 Latex 文档。

    {
      "name": "latexmk", // 工具名称:latexmk
      "command": "latexmk",
      "args": [ // 命令参数,latexmk特有的参数
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "-pdf", // 生成PDF输出
        "-outdir=%OUTDIR%", // 输出目录,%OUTDIR%为占位符
        "%DOCFILE%"
      ]
    },

bibtex 用来处理 Latex 文档中的参考文献

    {
      "name": "bibtex", // 工具名称:bibtex
      "command": "bibtex",
      "args": [ // 命令参数
        "%DOCFILE%" // 代表当前文档的路径,用于处理参考文献
      ]
    }
  ]

3. 设置编译链

如果文档既涉及中文,又涉及英文,还涉及参考文献,就需要多次编译,编译链就是用来解决该问题的工具。

// 定义了LaTeX编译流程的名称和使用的编译工具序列。
  "latex-workshop.latex.recipes": [
    {
      "name": "XeLaTeX", // 编译流程名称:单独使用XeLaTeX
      "tools": ["xelatex"] // 使用的工具
    },
    {
      "name": "PDFLaTeX", // 编译流程名称:单独使用PDFLaTeX
      "tools": ["pdflatex"]
    },
    {
      "name": "BibTeX", // 编译流程名称:单独使用BibTeX
      "tools": ["bibtex"]
    },
    {
      "name": "LaTeXmk", // 编译流程名称:使用latexmk
      "tools": ["latexmk"]
    },
    {
      "name": "xelatex -> bibtex -> xelatex*2", // 编译流程名称:xelatex + bibtex + 两次xelatex
      "tools": ["xelatex", "bibtex", "xelatex", "xelatex"]
    },
    {
      "name": "pdflatex -> bibtex -> pdflatex*2", // 编译流程名称:pdflatex + bibtex + 两次pdflatex
      "tools": ["pdflatex", "bibtex", "pdflatex", "pdflatex"]
    }
  ],

4. 清除多余文件

 // 定义了编译过程中生成的临时文件类型,这些文件在清理时会被删除。
  "latex-workshop.latex.clean.fileTypes": [
    "*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot",
    "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.gls",
    "*.glo", "*.ist", "*.fls", "*.log", "*.fdb_latexmk"
    // 这些文件类型包含了LaTeX编译过程中生成的各种辅助文件
  ],

  // 设置在编译失败时自动清理临时文件。
  "latex-workshop.latex.autoClean.run": "onFailed",
  
  // 设置默认使用上次使用的编译流程。
  "latex-workshop.latex.recipe.default": "lastUsed",
  
  // 设置PDF查看器中同步TeX的快捷键为双击。
  "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"

标签:Latex,pdflatex,latex,workshop,代码,编译,详解,xelatex,bibtex
From: https://www.cnblogs.com/NachoNeko/p/18431389

相关文章

  • 探索腾讯云AI代码助手的效能与实用性
    @TOC前言    腾讯云的AI代码助手是一款强大的编码辅助工具,利用混元代码大模型技术,提供技术对话、代码补全、代码诊断和优化等功能。它能生成高质量的代码,帮助解决技术难题,显著提升编码效率。    腾讯研发人员使用腾讯云的AI代码助手的情况......
  • 模拟船舶的货物卸载过程,并计算总物流时间和转弯次数 python代码
    一个模拟物流操作的脚本,它处理船舶货物的卸载,并将货物运送到堆场。代码主要包含以下几个部分:1.**参数设置**:  -`NUM_FORKLIFTS`:每个堆场的叉车数量。  -`SHIP_CARGO`:每艘船舶的货物量(吨)。  -`CARGO_PER_TRUCK`:每辆叉车能运输的货物(吨)。  -`LOADING_TIME......
  • connect timed out 详解及排查
    在HTTP通信中,超时(timeout)机制用于限制客户端等待服务器响应的时间,避免因网络、服务器问题导致客户端长时间等待。超时的类型多种多样,每种类型的超时都会有对应的错误信息。以下是常见的ConnectTimeout问题的原因排查和解决方案。HTTP中的各种Timeout详解及对应的错误信息......
  • IIS部署前端代码和后端api
    环境准备:安装net8运行时 https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0 第一步:安装IIS 第二步:安装完成后,打开IIS管理器 第三步:部署后端api服务1.选择网站右键"添加网站"  2,点击确定添加3.添加完成后,选中刚刚添加的网站,点击预览网站4:如......
  • 自适应企业网站建站系统源码 带完整的安装代码包以及搭建部署教程
    系统概述传统的建站方式往往需要耗费大量的时间和资源,而且对于非专业人士来说,操作难度较大。为了满足企业快速建站的需求,自适应企业网站建站系统源码应运而生。该源码的开发团队致力于打造一款功能齐全、易于操作的建站系统,让企业能够在短时间内搭建出符合自身需求的网站,提升......
  • 多用户自定义商城小程序源码系统 独立部署 到源代码包以及搭建部署教程
    系统概述随着移动互联网的迅猛发展,消费者的购物习惯逐渐向线上转移。传统电商平台虽然提供了一定的便利,但也存在一些局限性,如高昂的入驻费用、缺乏个性化定制等。为了适应市场需求,多用户自定义商城小程序源码系统应运而生。这一系统的开发旨在为企业和商家提供一个自主掌控、......
  • .net 到底行不行!2000 人在线的客服系统真实屏录演示(附技术详解)
    业余时间用.net写了一个免费的在线客服系统:升讯威在线客服与营销系统。时常有朋友问我性能方面的问题,正好有一个真实客户,在线的访客数量达到了2000人。在争得客户同意后,我录了一个视频。升讯威在线客服系统可以在极低配置的服务器环境下,轻松应对这种情况,依然可以做到:消息毫......
  • C# 用统一代码动态查询数据库并显示数据
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。源码指引:github源码指引_初级代码游戏的博客-CSDN博客    ......
  • 直播平台美颜功能开发方案:基于视频美颜SDK的集成详解
    本篇文章,小编将于大家共同探究视频美颜SDK的美颜功能开发方案,帮助开发者深入理解其集成过程及关键技术。 一、美颜功能的重要性在竞争激烈的直播市场中,直播平台如何提升用户体验至关重要。美颜功能不仅能够改善主播的形象,提升观众的观看体验,还能增强互动性,增加用户留存率。优秀的......
  • 【JUC并发编程系列】深入理解Java并发机制:阻塞队列详解与简单纯手写(七、BlockingQueu
    文章目录【JUC并发编程系列】深入理解Java并发机制:阻塞队列详解与简单纯手写(七、BlockingQueue、ArrayBlockingQueue、LinkedBlocking)1.简单回顾1.1数组结构和链表结构1.1.1数组结构1.1.2链表结构1.2有界队列与无界队列1.3Lock锁使用回顾2.什么是阻塞队列3.B......