LaTeX 使用
LaTeX 使用
介绍
TeX 是高德纳 (Donald E. Knuth) 为排版文字和数学公式而开发的软件
LaTeX 是一种使用 TeX 程序作为排版引擎的格式(format),可以粗略地将它理解成是对 TeX 的一层封装;与汉字 “拉泰赫” 或 “雷泰赫” 的发音相近
优缺点:
- 优点:专注于内容本身,排版(typesetting)效果好,数学公式排版强大,跨平台开源…
- 缺点:学习成本高,不容易排错,不容易定制样式,不所见即所得…
TeX 发行版:TeX Live / MacTeX(macOS 下定制的 TeX Live 版本)
TeX 编辑器:TeXstudio(Windows)、TeXShop(MacTeX 自带)、Texifier(macOS;有破解版)
参考资料
- 现代 LaTeX 入门讲座:GitHub - stone-zeng/latex-talk
- 《如何使用 LaTeX 排版论文》讲稿:GitHub - tuna/thulib-latex-talk
- lshort-zh-cn.pdf
- GitHub - wklchris/Note-by-LaTeX: 《简单粗暴 LaTeX》出版图书开源仓库
- LaTeX科技排版 - 华东师范大学
- 《科技论文排版技术》课程辅助教材 - Ultrafast Laser Lab - 天津大学
- GitHub - huangxg/lnotes: LaTeX Notes
- LaTeX 备忘清单 & latex cheatsheet & Quick Reference
- LaTeX 排版简要介绍:lec4.md
- 需设置网络代理:LaTeX 科技文档排版
- LaTeX专栏 - 八一考研数学竞赛
- 分类: LaTeX - 始终
- GitHub - zousiyu1995/Study-LaTeX: LaTeX学习笔记
- GitHub - xinychen/latex-cookbook: LaTeX论文写作教程 (中文版)
- LaTeX 入门与进阶
- GitHub - xinychen/latex-cookbook: LaTeX论文写作教程 (中文版)
- GitHub - Meiting-Wang/Awesome-LaTeX-cn: The LaTeX materials list I used
- 1.1 Awesome-LaTeX-cn - Meiting Wang
- GitHub - samcarter/tikzducks: A latex package to draw cute rubber ducks with TikZ
- LaTeX技巧 - Feng’s Blog
- 常用 LaTeX 代码 - LaTeX 工作室
- GitHub - learnlatex/learnlatex.github.io: Learn LaTeX online
- 分类: LaTeX - 智朋的个人博客
- 自定义列表环境:LaTeX 自定义列表环境 - 智朋的个人博客
- Overleaf LaTeX 教程:Learn LaTeX in 30 minutes - Overleaf, Online LaTeX Editor
- Overleaf LaTeX 中文写作教程:Chinese - Overleaf, Online LaTeX Editor
- GitHub - guanyingc/latex_paper_writing_tips: Tips for Writing a Research Paper using LaTeX
- GitHub - xinychen/latex-cookbook: LaTeX论文写作教程 (中文版)
- latex相关笔记 - 我是谁
- 国外教授的讲义都是自己用 LaTeX 打出来的吗? - 知乎
- GitHub - AnMnv/eBook: LaTeX book with examples, open-source eBook
LaTeX 编辑器
Windows 端:TeXstudio
Mac 端:TeXShop
在线 LaTeX 编辑器
- 网页版 Overleaf
- 桌面端 Overleaf(有些像网页版的套壳):NativeOverleaf
- SJTU LaTeX 文档助手, 在线LaTeX编辑器
- LaTeX 在线编辑器:ScienHub, Online LaTex Editor
Overleaf 使用:
- 可使用 Vim 快捷键(组合键选项)
- OverLeaf 连接 GitHub 仓库需要升级 Pro(交大版无此功能),IEEE 白嫖 Pro 的方式已失效;可 Docker 部署的开源 OverLeaf 只有社区版
TeXstudio:工具 – 清理辅助文件
LyX:
使用
工具
LaTeX 公式转 Word:LaTeX2Word - Convert LaTeX to Word
texdoc:查看 LaTeX 相关文档
1 | texdoc texlive-en # 查看 TeX Live 指南 |
VSCode 插件:
- LaTeX Workshop:语法高亮、实时编译 LaTeX,有字数统计功能
- LaTeX Utilities
- Overleaf Workshop
LaTeX OCR:
Markdown 宏包:以 Markdown 撰写文稿,以 LaTeX 排版
checkcites:检查在 bib 文件中但未引用的参考文献(TeX Live 已安装该工具)
GitHub - reproducible-reporting/bibsane:与 checkcites 功能类似,性能提升版本
格式化 LaTeX 文档:GitHub - WGUNDERWOOD/tex-fmt: An extremely fast LaTeX formatter written in Rust
1 | cargo install tex-fmt # 安装 |
- latexindent.pl(格式化缩进;TeX Live 已安装该工具):GitHub - cmhughes/latexindent.pl: Perl script to add indentation (leading horizontal space) to LaTeX files
1 | # macOS 安装 |
- texcount:统计(Tex Live 自带)
1 | texcount -man # 查看 manual |
- latexdiff:LaTeX 实现审阅效果(Tex Live 自带)
- 使用:
latexdiff old.tex new.tex > diff.tex
,编译diff.tex
- 若 tex 多个文件嵌套,会复杂许多
- 使用:
1 | # Ubuntu 安装 |
makeglossaries:Tex Live 自带,用于生成和管理文档中的术语表(glossaries)、缩略词表(acronyms)和符号表等
PyTeXMK(latexmk 替代工具):GitHub - YanMing-lxb/PyTeXMK: LaTeX 辅助编译命令行程序 LaTeX Auxiliary Compilation Command Line Tool
生成多种格式文献引用:BibGuru - A New FREE APA, Harvard, & MLA Citation Generator
GitHub - teatimeguest/setup-texlive-action: A GitHub Action to set up TeX Live
将 Microsoft Excel 中的表格转换为 LaTeX 代码:CTAN: Package Excel2LaTeX
适合用于个人简历中的技能部分(用 icon 表示掌握的技能):GitHub - AnMnv/latex-skill-icons: Skill icons in LaTeX
BibTeX 相关
GitHub - njzjz/tushuguan: A template to create a BibTeX Library
格式化 bib 文件
- GitHub - FlamingTempura/bibtex-tidy: Cleaner and Formatter for BibTeX files
- GitHub - Nickydusk/BibTeX-Formatter: Format your bibtex (.bib) file to help standardize citations for conference and journal submissions
1 | npm install -g bibtex-tidy # 安装 |
doi 转 bib 格式
- GitHub - njzjz/wenxian: A tool to generate BibTeX files from given identifiers (DOI, PMID, or arXiv ID).(效果比较好)
- doi2bib(最直接方便;无摘要参数;中国人名的姓名前后顺序问题;article 后面的信息与官方期刊生成的 BibTeX 不一致)
- GitHub - thchr/DOI2BibTeX.jl(只能在 REPL 下输出格式才美观)
- GitHub - bibcure/doi2bib: get the bibtex string given a doi
1 | # doi |
ris 转 bib 格式
ris:Zotero 格式
- 在线网页版:Online RIS to BibTeX converter
- GitHub - harrisonlabollita/ris-2-bib: A command line tool to convert RIS files into bib files for LaTeX bibliographies
- GitHub - janberges/ris2bib: Convert bibliographies from RIS to BibTeX format
编译
- pdflatex 表示使用 pdfTeX 作为引擎、使用 LaTeX 格式来编译文档(还有 xelatex、lualatex 等)。这些命令行命令通常称为 “编译方式”;编译方式写成图标的形式
- 英文文档:用 pdflatex、xelatex、lualatex 编译;中文文档:用 xelatex、lualatex 编译编译
- ctexart 文档类需使用 xelatex 编译
- Overleaf 默认使用 pdflatex 编译
1 | # 语法 |
- 含参考文献的文档编译:LaTeX 参考文献输出
- BibTeX 后端:
xe-bib-xe-xe
编译顺序 - biber 后端 + biblatex 宏包:使用
latexmk
或xe-biber-xe-xe
编译顺序
- BibTeX 后端:
1 | # 可以略去扩展名 |
用 Makefile 编译 LaTeX 文档
使用 Github Actions 自动编译
使用 GitHub Actions 将编译的 pdf 文档作为 release 发布:release.yml
latexmk
1 | latexmk [options] main.tex # .tex 后缀名可省略 |
.latexmkrc
:latexmk 配置文件;通常包含以下内容:
- 构建引擎的选择:如 pdfLaTeX、XeLaTeX 或 LuaLaTeX
- 构建参数:设置构建过程中的各种参数,如输出文件类型、编译次数、文件清理选项等
- 自定义构建规则:包括设置文件依赖关系、指定额外的编译步骤等
- 输出文件命名规则:定义输出文件的命名规则,以确保生成的文件按照特定的方式命名
- 文件监控选项:配置 latexmk 以在文件更改时自动重新构建文档,以提高工作效率
- 示例:
1 | # Set timezone. |
语法
注释:以
%
开头命令:以
\
开头,区分大小写;\command[...]{...}
:必选参数放在{...}
中,可选参数放在[...]
,多个参数以逗号分隔有些命令会对后续内容产生影响,可以用
{}
限定作用范围,如{\bf bold}
环境:常用环境:列表与枚举、图片、表格、定理等
特殊符号需转义,如
\%
、\$
等
1 | \begin{env} |
- 相关术语与概念:引擎、格式、编译命令
文档类和宏包
文档类
- 文档类:英文排版:article、report、book;中文排版 ctexart、ctexrep、ctexbook;幻灯片:beamer
- 可选参数:为文档类指定选项,以全局地规定一些排版的参数,如字号、纸张大小、单双面等;三个标准文档类可指定的选项如下
1 | \documentclass[options]{classname} |
宏包
- 宏包:在使用 LaTeX 时,时常需要依赖一些扩展来增强或补充 LaTeX 的功能,比如排版复杂的表格、插入图片、增加颜色甚至超链接等
- 可一次性调用多个宏包,逗号隔开,这种用法一般不要指定选项
1 | \usepackage[options]{packagename} |
文件类型
- LaTeX 模板相关文件格式:
.sty
、.cls
、bst
、bib
- LaTeX 编译过程中生成相当多的辅助文件和日志,一些功能如交叉引用、参考文献、目录、索引等,需要先通过编译生成辅助文件,然后再次编译时读入辅助文件得到正确的结果,所以复杂的 LaTeX 源代码可能要编译多次
1 | .sty # 宏包文件;宏包名称与文件名一致 |
文件结构
文件结构
1 | \documentclass{article} % 指明文档类型 |
中文排版
- 使用 ctexart ctexrep ctexbook 等 ctex 文档类(源代码需保存为 UTF-8 编码)
- 引入 ctex 宏包
1 | \documentclass{ctexart} % 方式 1 |
- 中文文档简略测试
1 | % 用 XeLaTeX 或 LuaLaTeX 编译 |
文档部件
- 标题:
\title
、\author
、\date
→\maketitle
- 摘要:
abstract
环境 - 目录:
\tableofcontents
- 章节:
\chapter
、\section
、\subsection
等 - 文献:
\bibliography
注:abstract
环境只在 article 和 report 文档类有,report 文档类会单独成页,article 文档类会在标题下方
文档划分
- 分文件编译:
\include
、\input
- 两者区别在于
\include
命令将会插入\clearpage
再读取文件(即另起一页)
1 | \input{filename.tex} |
字符
空格:空格键和 Tab 键输入的空白字符视为“空格”。连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。
换行:行末的换行符视为一个空格;但连续两个换行符,也就是空行,会将文字分段。多个空行被视为一个空行。也可以在行末使用
\par
命令分段。中文的标点符号(绝大多数为非 ASCII 字符)使用中文输入法输入即可,一般不需要过多留意;而输入西文标点符号时,有不少地方需要留意
- 西文排版中经常会出现连字(ligatures),常见的有
ff/fi/fl/ffi/ffl
- 单引号 ‘ 和 ‘ 分别用 ` 和 ‘ 输入;双引号 “和” 分别用 `` 和 ‘’ 输入
- 三种长度的横线:连字号
-
用来组成复合词;短破折号--
用来连接数字表示范围;长破折号---
用来连接单词,语义上类似中文的破折号 - 英文省略号用
\ldots
- 西文排版中经常会出现连字(ligatures),常见的有
拉丁文扩展与重音
1 | % 加一对花括号的写法相当于提供了空的参数 |
断行和换页
单词间距:西文排版中,断行的位置优先选取在两个单词之间,即“空格”;文字在单词间的“空格”处断行时,“空格”生成的间距随之舍去。可使用字符
~
输入一个不会断行的空格,通常用在英文人名、图表名称等上下文环境断行:
\\
可在表格、公式等地方用于换行,而\newline
只用于文本段落中换页:
\newpage
、clearpage
命令
\newline
和\newpage
会在断行/断页位置填充适当的间距,但\linebreak
和\pagebreak
不能,使用这些命令强行断行/断页可能会制造出糟糕的排版效果,并导致 LaTeX 报Underfull \hbox
等警告手动断词:对于绝大多数单词,LaTeX 能够找到合适的断词位置,在断开的行尾加上连字符
-
。手动使用\-
命令指定断词的位置
1 | % 不会断行的空格 |
章节和目录
- 命令
\chapter
只在 report 和 book 文档类有定义 - article 文档类带编号的层级为
\section
、\subsection
、\subsubsection
三级 - report 和 book 文档类带编号的层级为
\chapter
、\section
、\subsection
三级 - article 文档类的 section 标题默认左对齐,ctexart 文档类的 section 标题默认居中,article 文档类 + ctex 宏包的 section 标题是左对齐的
- 正确生成目录项,一般需要编译两次源代码
1 | \chapter |
标题页
\title
和\author
必需(不用\title
会报错;不用\author
会警告),\date
若省略或\date{\today}
会生成当天日期,\date{}
不显示日期在
\title
、\author
等命令内可以使用\thanks
命令生成标题页的脚注,用\and
隔开多个人名\title
、\author
、\date
可放在导言区或正文article 文档类的标题默认不单独成页,book 和 report 文档类默认单独成页;可在
\documentclass
命令调用文档类时指定titlepage
或notitlepage
选项以修改默认的行为titlepage 环境,生成不带页眉页脚的一页;生成自定义的标题页以替代
\maketitle
命令
1 | \title{} % 标题 |
引用与参考文献
参考文献由文献数据库(即
.bib
文件,条目会包含 key,用于引用)生成注意特殊符号、公式等常常需要人工检查
需多次编译,推荐 latexmk
传统方法:BibTeX 后端(gbt7714 宏包)
1 | \usepackage[sort&compress]{gbt7714} |
现代方法:biber 后端 + biblatex 宏包(国家标准:biblatex-gb7714-2015 宏包)
biblatex 宏包:支持以
key=value
形式指定选项,包括参考文献样式 style、参考文献著录排序的规则 sorting- biblatex 使用的参考文献样式分为著录样式(bibliography style)和引用样式(citation style),分别以
.bbx
和.cbx
为扩展名。参考文献的样式在调用宏包时使用 style 选项指定,或者使用 bibstyle 或 citestyle 分别指定
- biblatex 使用的参考文献样式分为著录样式(bibliography style)和引用样式(citation style),分别以
1 | % 参考文献相关设置 |
- natbib 宏包:可以生成用人名——年份的引用方式
1 | % 连续引用多篇文献时,会生成形如 (3–7) 的引用 |
列表
- 无序列表,有序列表
1 | \begin{itemize} |
图片
1 | \usepackage{graphicx} |
表格
- LaTeX 表格生成:Create LaTeX tables online(可生成三线表,在
table style
中选)
1 | % tabular 环境 |
- 三线表:
booktabs
宏包
1 | \usepackage{booktabs} |
- 斜线表:
diagbox
宏包
1 | \usepackage{diagbox} |
- 长表格:
longtable
宏包(支持跨页)
1 | \usepackage{longtable} |
1 | \usepackage{multirow} % \multirow 需调用此宏包 |
浮动体
- 图片和表格有时会很大,在插入的位置不一定放得下,因此需要浮动调整;两类浮动体环境 figure 和 table
- 避免在文中使用「下图」、「上图」的说法,而是使用图表的编号,如:图
~\ref{fig:fig1}
h
当前位置 (here),t
顶部 (top),b
底部 (bottom),p
单独成页 (p)。LaTeX 的默认参数是 tbp!h
表示忽略一些限制,H 表示强制(强烈不建议)- 图标题一般在下方,表标题一般在上方,即
\caption{...}
应放在\begin{tabular}
前 \label
需写在\caption
后面,否则交叉引用会出现问题- 可通过修改
\figurename
和\tablename
的内容来修改标题的前缀,标题样式的定制功能由 caption 宏包提供
1 | \label{name} % 添加标签:图片、表格、公式、章节等 |
1 | % 浮动表格 |
页面设置
页边距:geometry 宏包
通过 geometry 宏包设置的纸张大小是输出 PDF 文件的真实大小,而在文档类选项中设置的参数实际上只影响输出区域。
LaTeX 默认将页面内容在垂直方向分散对齐。
1 | % geometry-settings 多以 key = value 的形式组织 |
页眉页脚:fancyhdr 宏包,\pagestyle
,将页眉页脚分为左中右三个部分,页眉页脚处的横线粗细可以定义,默认页眉为 0.4pt、页脚为 0pt
页码:\pagenumbering
命令,有 arabic,[Rr]oman,[Aa]lph 五种页码形式
1 | % 页眉页脚设置 |
公式
参考:
amsmath 允许用户在导言区用 \DeclareMathOperator
定义自己的算符,其中带星号的命令定义带上下限的算符
1 | \usepackage{amsmath, amssymb, amsfonts} % 常用数学宏包 |
数学模式
math mode - Differences between \stackrel and \stackbin - TeX - LaTeX Stack Exchange
- 空格不起作用;不能有空行
- 取消公式编号:在环境名后加
*
1 | $...$ % 行内(inline)公式 |
括号与定界符
1 | (...) % 基本括号 |
符号与数学字体
符号
- 最常用的额外字体包:amssymb
数学字体
- 「Times New Roman」:newtxmath 宏包
- 不要用 times 和 mathptmx 宏包
- 加粗:使用 bm 宏包的
\bm
命令(\mathbf
只有直立的字母)
新方案:unicode-math 宏包
多行公式
align
与 aligned
的区别:后者允许在数学环境内嵌套使用(如 equation
);gather
与 gathered
同理
1 | multline % 多行公式,不对齐,只给一个公式编号 |
字体
- 宏包:
fontspec
1 | % 字体样式 |
1 | # 查看已安装中英文字体 zh/en |
中英文字体设置
1 | % 中文字体设置 |
解决 Tex Gyre Termes 字体报错问题:
- 在当前项目路径下创建 tutgtermes.fd 和 texgyretermes.fontspec 文件
- 参考:texlive - How to install font Tex Gyre Termes - TeX - LaTeX Stack Exchange
NewComputerModern:NewComputerModern 字体
Linux Libertine(衬线体):简历、公式字体优选;Linux Libertine 字体介绍
1 | \usepackage{newcomputermodern} % 会报错 |
衬线字体(Serif)与非衬线字体 (Sans-Serif) 的区别:笔画开始和结束处有额外的装饰元素,称为衬线;非衬线字体没有衬线装饰,笔画末端简洁平直。
常见衬线字体:Times New Roman,宋体,仿宋(带“宋”字体),楷体
常见非衬线字体:Arial,黑体(带“黑”字体),幼圆
代码字体相关后缀
Mono 后缀:等宽字体(Monospaced Font)
LF 后缀:连字(Ligature Font)(给常用的一些字符组合做特殊处理,让它们看起来更连贯,如“不等于”的渲染)
- 默认带连字支持:JetBrains Mono、Cascadia Code 和 FiraCode 等
- 不带连字支持:Consolas、Monaco、Menlo 和 Hack
NL 不带连字
Nerd Font 自带图标字体
Nerd Font Mono:带 Mono 的 NF,其图标宽度和字母宽度一致。
NF 不带 Mono 的图标本身在排版上也是和字母严格等宽的,只是看起来大一点
代码字体主要是非衬线的,Fira Code 和 Cascadia Code 是衬线字体
WOFF2(Web Open Font Format 2)是一种专为网页上使用而设计的字体格式。
TerminalVector 字体
常用宏包
- 常用宏包简介:见 lshort-zh-cn.pdf 文件中附录 B.3 的内容
- hyperref 宏包:超链接、引用,由于它经常与其他宏包冲突,一般把它放在导言区的最后
1 | \usepackage{hyperref} |
- xcolor 宏包:调用颜色
1 | \usepackage{xcolor} |
- hologo 宏包:可以输出许多 $\TeX$ 家族标志
1 | \usepackage{hologo} |
- comment 宏包:用于将其中的文本视为注释,从而使这些文本不会在生成的文档中显示(有时会导致编译出错)
1 | \usepackage{comment} |
- lipsum、zhlipsum 宏包:生成随机的英文、中文文本,主要用途是填充文档以便测试文档的版面布局
1 | \usepackage{lipsum} |
- tcolorbox 宏包:创建彩色盒子
1 | \usepackage{tcolorbox} |
1 | % 文字、公式和符号 |
抄录
- 抄录:指将键盘输入的字符(包括保留字符和空格)不经过 TeX 解释,直接输出到文档;默认字体是等宽字体
- 命令:
\verb
后用两个同样的符号将抄录内容括住(不能是星号) - 环境:
verbatim
\verb
以及verbatim
环境很脆弱,不能隐式地用于自定义环境,也一般不能用作命令的参数。- 宏包
verbatim
提供了更多的抄录支持 - 宏包
fancyvrb
提供\SaveVerb
,\UseVerb
命令,以及便于实现居中的BVerbatim
环境(置于center
环境内即可) - 宏包
shortverb
支持以一对符号代替\verb
命令
- 宏包
1 | % 抄录命令 |
代码
一般使用 listings 或者 minted 宏包
1 | % 代码展示设置 |
排除错误
- 常见的 LaTeX 错误信息:见 lshort-zh-cn.pdf 文件中附录 B.1 的内容
1 | ! Undefined control sequences. |
其他
- 文本上下标
1 | % 不需要额外的宏包 |
1 | \documentclass[options]{...} % 这里其中options可以有 Font size、Paper size、Page Formats、sides与openany等. |
\pagenumbering
默认参数是阿拉伯数字
arabic: 阿拉伯数字;roman: 小写罗马数字;Roman: 大写罗马数字;alpha: 小写英文字母;Alpha: 大写英文字母
假设在前言部分采用罗马数字,在剩余的正文部分用阿拉伯数字,则在前言部分使用命令 \pagestyle{roman}
,随后在新的章节后面采用 \chapter{…}\pagenumbering{arabic}
,还可以在后面接 \setcounter{page}{number}
来设定起始页码.
1 | \pagenumbering{arabic}\setcounter{page}{2} |
1 | % 附录部分的标题和编号设置 |
LaTeX 默认在 \chapter
、\section
等章节标题命令之后的第一段不缩进(和 Typst 一样);ctex 宏包和文档类默认按照中文习惯保持标题后第一段的首行缩进
1 | \textgreat \textless % 大于号,小于号 |
进阶
自定义命令
自定义命令使用
\name{arg1}{arg2}
来调用LaTeX 不允许使用
\newcommand
定义一个与现有命令重名的命令。如果需要修改命令定义的话,使用\renewcommand
命令,其语法与\newcommand
相同。带星号的命令称为短命令,其中参数不能有换段或空行,否则编译报错,但是短命令有利排错
在命令中如果包含数学命令,那么这条命令只能⽤于⽂本模式,不能⽤于数学模式(因为在数学模式中会被多加了⼀层
$ $
导致报错)。所以,在定义数学命令时,使⽤\ensuremath{code}
来定义,这样的命令在数学模式中时 code 本⾝,在⽂本模式中时$ code $
。
1 | % 定义新命令 |
自定义宏包/文档类
参考:
- LaTeX 模板制作教程,从一份简历说起
- 参与开发 · ustctug/ustcthesis Wiki · GitHub
- Article-template/document.tex at main · Meiting-Wang/Article-template · GitHub
- 自定义宏包文件参考:PHYS6080-PS1/tex/mystyle.sty at main · singularitti/PHYS6080-PS1 · GitHub
自定义宏包
自定义宏包/文档类门槛较高
若定义了很多新的环境和命令,文档的导言区将变得很长,这种情况下,可以建立一个新的 LaTeX 宏包来存放所有定义的命令和环境,然后在文档中使用
\usepackage
命令来调用自定义的宏包自定义宏包的基本工作就是将原本在文档导言区里很长的内容拷贝到
.sty
文件中在宏包中调用其它宏包:LaTeX 允许在自己编写的宏包中调用其它宏包
1 | % 该命令应该放在自定义 .sty 宏包中的最前面 |
自定义文档类
- 以
.cls
作扩展名,可以像调用宏包那样调用一个基本的文档类
1 | \ProvidesClass{class} |
LaTeX 可定制的一些命令和参数
- 标题名称/前后缀:可以用
\renewcommand
来修改- 使用 ctex 宏包或文档类时,表中的标题会修改为中文标题
- 长度:可用
\setlength
来修改
模板
作业模板(较为简洁):hw1.tex
cls 文档类文件内容注释很详细:GitHub - CheckBoxStudio/BUAAThesis: 北航研究生学位论文模板(Word+LaTeX).
简历
- 推荐:GitHub - LiuX2018/CV
- GitHub - jankapunkt/latexcv: :necktie: A collection of cv and resume templates written in LaTeX. Leave an issue if your language is not supported!
- 用的是 tectonic 引擎:GitHub - philipempl/modern-latex-cv: A professional and modern CV in LaTex
- GitHub - AntObi/academicCV: LaTeX template for academic CV
- GitHub - sinaatalay/rendercv: LaTeX CV generator from a YAML/JSON input file.
- 部分格式可作为参考将其转换成 Typst 写法:GitHub - Troublor/curriculum-vitae: My Curriculum Vitae (CV)
- GitHub - ml-evs/CV: My TeX CV built with moderncv.
- A Customised CurVe CV - Overleaf, Online LaTeX Editor
- GitHub - rasenior/CV: CV using CurVe in LaTeX
- GitHub - bocklund/resume: Brandon Bocklund Resume (适合学术用)
- GitHub - saadq/resumake.io: 📝 A website for automatically generating elegant LaTeX resumes.
- jsonresume.org
- GitHub - VatsalSy/Vatsal_CV: This is the LaTeX source code of my CV
国自然基金 LaTeX 模板:
某课题组论文 manuscript 模板:GitHub - CapraLab/lab-manuscript-template: An academic manuscript template with writing tips in both LaTeX and MS Word format generated by the Capra Lab (2/2022)
问题
The font “Cochineal-Roman” cannot be found:该字体不适用于 xelatex/lualatex,而适用于 pdflatex
如何将自定义命令参数设置为 key-value 形式
开启 draft 模式:不编译图片,在图片位置显示占位符,以加快编译速度
1 | \documentclass{article}[draft] |
下划线
\newcommand
及粗细设置去除超链接、交叉引用中的方框:hyperref - Remove ugly borders around clickable cross-references and hyperlinks - TeX - LaTeX Stack Exchange
LaTeX 如何在每个章节最后生成参考文献
1 | % 此方法使用 ctexart 文档类会报错 |
- 不同期刊的文献格式转换?(具体的期刊不行;可用不同期刊的 LaTeX 的模板)
1 | % 使参考文献字符居中 |