【LaTeX】环境配置以及中文支持
网页环境
Overleaf
Overleaf 是一个在线的 LaTeX 编辑环境,可以避免在本地安装和配置的过程,同时还能和他人共享编辑
本地环境
TeX Live
TeX Live 可以利用镜像安装节省下载时间
可以在安装 TeX Live 时同时勾选上安装 TeXworks 前端,然后就可以使用 TeXworks 作为 IDE 来使用了
TeXstudio
TeXstudio 也是一个很好的 LaTeX 编辑软件,可以直接去官网下载安装,并且有中文界面
VSCode
个人更喜欢 VSCode,通过安装扩展并进行相应的配置即可较好的支持 LaTeX,同时还有格式化和自动补全等功能,非常方便
安装 LaTeX Workshop 扩展
直接在 VSCode 的扩展商店中搜索 LaTeX Workshop 安装即可
编译链配置
默认配置
TeX Live 安装时会同时安装
latexmk, LaTeX Workshop 会默认使用latexmk来编译.tex,无需手动再配置手动配置(可选)
手动配置 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 配置修改
VSCode 内部 PDF 浏览器
如果直接使用 VSCode 来浏览 PDF,不需要额外设置,可以根据需要修改
latex-workshop.view.pdf.internal.synctex.keybinding来修改反向同步的快捷键即可,默认 Ctrl 加鼠标左键// 默认 Ctrl 加鼠标左键
"latex-workshop.view.pdf.internal.synctex.keybinding": "ctrl-click",
外部 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
- 直接使用
ctexart文档类即可支持中文 - 或者使用
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*} 包住所有的中文。
gbsn和gkai是简体的字体bsmi和bkai是繁体的字体
参考代码如下:
\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}
编译
首先
.tex文件名以及路径尽量不要含有空格以及中文字符在使用
latexmk和 VSCode 的 LaTeX Workshop 时,推荐使用第三个编译链Recipe: latexmk (lualatex)
参考资料
- 【LaTeX Workshop】依赖
- 【LaTeX Workshop】recipes 配置
- 【LaTeX Workshop】synctex 配置
- 【知乎】使用 VSCode 编写 LaTeX
- 【知乎】Visual Studio Code 配置 LaTeX
- 【Overleaf】Chinese
本文作者: ywang_wnlo
本文链接: https://ywang-wnlo.github.io/posts/4f94956.html
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
【LaTeX】环境配置以及中文支持的更多相关文章
- Git环境配置+VSCode中文乱码问题
异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html 1.VSCode中文乱码问题 (files.autoguessEncoding= ...
- python 之路初(一):pycharm 安装 和 环境配置 和 中文乱码问题
从健身和学习中我一体会到坚持的力量.想写写东西的想法已经好久了,就是不知道怎么开始.最近生活开始给我各种攻击和磨练,我从声嘶力竭到沉默到默默坚持自己,改变自己并总结告诉自己:少说多看,看破不说破,宁愿 ...
- 配置Texmaker中文支持
在Ubuntu 12.04 LTS下安装Texmaker后,如需要支持中文环境,需要安装CJK包. 终端(Ctrl+Alt+T(Terminal))下输入命令切换到超级管理员: sudo -i 安装包 ...
- ppt/word公式LaTeX环境配置
PPT使用Latex说明 一.下载IguanaTex_v1_57 http://www.jonathanleroux.org/software/iguanatex/download.html Inst ...
- jupyter notebook 目录配置、导出 tex 和 pdf 及中文支持
环境:macbook pro, mactex, jupyter notebook, brew 安装pandoc从而支持格式转换为tex: brew install pandoc 修改tex artic ...
- LaTeX 环境安装&编译器配置
推荐网站:https://www.latexstudio.net/articles/ (基本所有的latex疑惑都可以在这里得到解决) 入门视频:两小时短小精悍,让你轻松入门,https://www. ...
- linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)
linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg) 2013-11-10 16:51:14 分类: 系统运维 为什么要写这篇文章? 答:通过常规的三大步(./confi ...
- Latex 环境下“中文字体”的使用
Latex 环境下“中文字体”的使用 使用CTex自带编辑器WinEdt,在该环境下如何使用中文字体呢?作为一个菜鸟,折腾了好几天,最终基本解决了这个问题.现在整理下,分享给后来者. 对于使用中文字体 ...
- Solr7.2.1环境搭建和配置ik中文分词器
solr7.2.1环境搭建和配置ik中文分词器 安装环境:Jdk 1.8. windows 10 安装包准备: solr 各种版本集合下载:http://archive.apache.org/dist ...
- CentOS7配置中文支持与部署GitLab服务器
给你的 CentOS 7 安装中文支持 1.首先需要中文字体以便支持命令行终端的中文显示需求: yum groupinstall "fonts" 碰到提示输入 y 回车继续安装,大 ...
随机推荐
- Redis的三种持久化策略及选取建议
概述 Redis是一个基于内存的高性能的键值型数据库,它支持三种不同的持久化策略:RDB(快照).AOF(追加文件).混合.这三种策略各有优缺点,需要根据不同的场景和需求进行选择和配置.本文将介绍这三 ...
- json在线效验检测工具
json在线效验检测工具:https://www.sojson.com/ 解析结果: { 'os_type': 'Windows', 'os_release': '10 64bit 10.0.1904 ...
- 关于JavaBean和vo的解释
前景提要 最近在学JavaWeb,接触到了很多java后端的概念,其中JavaBean和vo的概念一直让我模糊不清,查询众多资料后写个博客记录一下. 首先先贴一下两者的概念: JavaBean Jav ...
- Prompt Engineering优化原则 - 以Webshell代码解释为例
一.LLM prompt优化原则 本文围绕"PHP代码解释"这一任务,讨论LLM prompt优化原则. 代码样例如下: <?php echo "a5a5aa555 ...
- Flutter三棵树系列之详解各种Key
简介 key是widget.element和semanticsNode的唯一标识,同一个parent下的所有element的key不能重复,但是在特定条件下可以在不同parent下使用相同的key,比 ...
- 【HarmonyOS】元服务和APP的相互跳转、相互成就
[关键字] 卡片.跳转.加桌 [背景介绍] 随着鸿蒙生态的发展,各种类型的应用都已经可以在Harmony OS上无差异的运行,面对鸿蒙新兴元服务的兴起,各大厂家可能都在考虑一个问题:如果已经有AP ...
- C++面试八股文:什么是左值,什么是右值?
某日二师兄参加XXX科技公司的C++工程师开发岗位第16面: 面试官:什么是左值,什么是右值? 二师兄:简单来说,左值就是可以使用&符号取地址的值,而右值一般不可以使用&符号取地址. ...
- 搭建自动化 Web 页面性能检测系统 —— 实现篇
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值.. 本文作者:琉易 liuxianyu.cn 前段时间分享了<搭 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-4-playwright等待浅析
1.简介 在介绍selenium的时候,宏哥也介绍过等待,是因为在某些元素出现后,才可以进行操作.有时候我们自己忘记添加等待时间后,查了半天代码确定就是没有问题,奇怪的就是获取不到元素.然后搞了好久, ...
- 2023-07-01:redis过期策略都有哪些?LRU 算法知道吗?
2023-07-01:redis过期策略都有哪些?LRU 算法知道吗? 答案2023-07-01: 缓存淘汰算法(过期策略) 当Redis的内存超出物理内存限制时,内存中的数据就会频繁地与磁盘进行交换 ...