此处仅为博主备忘记录,学习完整的LaTeX,可以在我的网盘中找到相关资料!
也可以(推荐)从LaTeX工作室的在线知识库中系统的学习TeX
推荐两位大佬,看看他们对LaTeX的理解:
从初识开始
上学期要交一份电子档的实验报告,苦于word+mathtype的繁琐冗余,我选择了markdown转html,再用css修饰一下,效果很是理想。但是想进一步应用在其他场合,MD的劣势也凸显出来了:标记元素过于贫乏。
直到一个多月前,通过零零散散的学习Tex,我便深深的爱上了它!个人觉得 LaTeX 在写文排版方面相当于HTML+CSS+JavaScript的组合(不谈word,在LaTeX面前谈word就过分了),既负责标记,又要管理样式,还要能自由、灵活地实现各种奇幻需求。
但是这种灵活性固然使得内容与格式分离的原则得不到彻底贯彻,但试想,所有的格式修改,哪怕只出现一次,也要额外做一个语义标记,又是否确有必要呢?这一点就劝退了很多不敲代码的人。
以 Markdown 撰写文稿,以 LaTeX 排版
宏定义功能
一个TeX宏( macro)是以反斜线\开头,后面紧接着一串字母的字符串,它在TeX中通常用来代替另外一个字符串,也有时表示其他一些特殊的含义。 传统上将这种字符串代替的机制称为宏,LaTeX就是一种复杂的宏语言。
在LaTeX中,宏通常被分为两类:一般的宏被形象地叫做“命令"(command),而以命令\begin{<环境名>}
和\end{(环境名)}
包围的结构则称为“环境”( environment )。命令和环境都可以带有若干可选的和必须的参数,表示不同的含义,命令和环境是LaTeX中使用格式相对固定两类宏。
\newcommand命令
可以使用\newcommand
来新定义一个命令,其语法格式如下:
待更。。。
宏包
- 调用宏包的方法非常类似调用文档类的方法:
\usepackage[⟨options⟩]{⟨package-name⟩}
下面列出了常用一些包
文字、公式和符号
amsmath
提供数学公式支持mathtools
数学扩展包,定制了很多符号、矩阵amsfonts
扩展符号的基础字体支持bm
提供将数学符号加粗的命令 \bmsiunitx
以国际单位规范排版物理量的单位mhchem
排版化学式和方程式tipa
排版国际音标
排版元素
ulem
提供排版可断行下划线的命令 \uline 以及其它装饰文字的命令。endnote
排版尾注。marginnote
改善的边注排版功能。multicol
提供将内容自由分栏的 multicols 环境。multitoc
生成多栏排版的目录。minitoc
为章节生成独立的小目录。glossaries
生成词汇表。verbatim
对原始的 verbatim 环境的改善。提供了命令\verbatiminput
调用源文件。fancyvrb
提供了代码排版环境 Verbatim 以及对版式的自定义。listings
提供了排版关键字高亮的代码环境 lstlisting 以及对版式的自定义。类似宏包有minted
。algorithmic
一个简单的实现算法排版的宏包。如果要生成浮动体的话,需要搭配algorithm
宏包使用。algorithm2e
较为复杂的、可定制的算法排版宏包。类似宏包有 algorithmicx 等。ntheorem
定制定理环境。类似宏包包括 theorem、thmtools、amsthm 等。mdframed
排版可自动断页的带边框文字段落,提供边框样式的定制功能。tcolorbox
以 TikZ 为基础提供排版样式丰富的彩色盒子的功能。
图表和浮动体
booktabs
排版三线表。array
对表格列格式的扩展。tabularx
提供 tabularx 环境排版定宽表格,支持自动计算宽度的 X 列格式。arydshln
支持排版虚线表格线。colortbl
支持修改表格的行、列、单元格的颜色。multirow
支持合并多行单元格。makecell
支持在单元格里排版多行内容(嵌套一个单列的小表格)。diagbox
排版斜线表头。longtable
提供排版跨页长表格的 longtable 环境。ltxtable
跨页长表格可使用 tabularx 的 X 列格式。tabu
提供排版复杂格式表格的 tabu 环境。与 longtable 一同调用时,提供排版复杂格式跨页长表格的 longtabu 环境。graphicx
支持插图。bmpsize
latex + dvipdfmx 命令下支持 BMP/JPG/PNG 等格式的位图。epstopdf
pdflatex 命令下支持 EPS 格式的矢量图。wrapfig
支持简单的文字在图片周围的绕排。subfig
提供子图表和子标题的排版。类似宏包有 subfigure 和 subcaption 等。caption
控制浮动体标题的格式。bicaption
生成双语浮动体标题。float
为浮动体提供不浮动的 H 模式;提供自定义浮动体结构的功能。
修改版式
geometry
修改页面尺寸、页边距、页眉页脚等参数。fancyhdr
修改页眉页脚格式,令页眉页脚可以左对齐、居中、右对齐。titlesec
修改章节标题 \chapter、\section 等的格式。titletoc
修改目录中各条目的格式。tocloft
类似 titletoc 的修改目录条目格式的宏包。tocbibind
支持将目录、参考文献、索引本身写入目录项。footmisc
修改脚注 \footnote 的格式。indentfirst
令章节标题后的第一段首行缩进。112 附录 B 排除错误、寻求帮助enumerate
提供简单的自定义标签格式的 enumerate 环境。enumitem
修改列表环境 enumerate 和 itemize 等的格式。lettrine
生成段落首字母大写的效果
在一般情况
下,比较常用的包和配套的参数如下所示:
下,比较常用的包和配套的参数如下所示:
\usepackage{amsmath}% 提供数学公式支持
\usepackage{graphics}% 用于添加图片
\usepackage{graphicx}% 加强插图命令
\usepackage{subfigure}% 用于添加子图
\usepackage{wrapfig}% 提供图片环绕风格支持
\graphicspath{{./}{./contents/}{./contents/fig/}}% 设置图片可能存在的路径
\newcommand{\figpath}[1]{contents/fig/#1} % 设置图片路径
\usepackage{fontspec}% 用于配置字体
\usepackage[table]{xcolor}% 用于各种颜色环境
\usepackage{enumitem}% 用于定制 list 和 enum
\usepackage{float}% 用于控制 Float 环境,添加 H 参数(强制放在 Here)
\usepackage[colorlinks, linkcolor=black, urlcolor=blue, anchorcolor=blue, citecolor=green]{hyperref}% 用于超链接,另外添加该包目录会自动添加引用。
\usepackage[most]{tcolorbox}% 用于添加各种边框支持,most 参数表示将全部命令支持都添加进来
\usepackage[cache=true,outputdir=./out]{minted}% 如果不保留临时文件就设置 cache=false, 如果输出设置了其他目录那么 outputdir 参数也有手动指定,否则会报错。
\tcbuselibrary{minted}% 加载 tcolorbox 的代码风格
\usepackage[a4paper,left=4cm,right=4cm,top=3cm,bottom=1cm]{geometry}%用于控制版式
\usepackage{appendix}% 用于控制附加文件
\usepackage[UTF8,fontset=windowsnew,heading=true]{ctex} % 用于提供中文支持
\ctexset{
section = {
number = 第\chinese{section}章,
format = \zihao{3}\bfseries,
},
subsection = {
number = \arabic{section}.\arabic{subsection},
format = \Large\bfseries
},
subsubsection = {
number =
\arabic{section}.\arabic{subsection}.\arabic{subsubsection},
format = \Large\bfseries,
},
}
\usepackage{multirow} % 用于表格环境多行多列的支持
\usepackage{pdfpages} % 用于插入 pdf 页
\usepackage{ulem} % 用于好看的下划线、波浪线等修饰
\usepackage{fixltx2e} % 用于文本环境的下标
\usepackage{adjustbox} % 用于调整" 盒子" 位置
\usepackage{longtable}% 用于提供长表格支持
\usepackage{nameref} % 用于在引用时附加描述而不只是计数值
文字与符号(超出ASCII码范围的解决方案)
- 大部分字母都可以使用UTF8原生编码直接输入(前提是计算机键盘布局或输入法的支持)
- LaTeX的单引号
‘ ’
用$半角$和
'输入,双引号
“ ”用
` 和 '' 输入(虽然 " 也能表示双引号,
但没有合适的单个符号用来表示前双引号,所以不常用在正文)。 - LaTeX中有三种长度的“横线”可用:连字号(hyphen,单个使用-)、短破折号即范围(en-dash,两个-连用)和长破折号(em-dash,三个-连用)。它们分别有不同的用途:连字号 - 用来组成复合词;短破折号 – 用来连接数字表示范围;长破折号 — 用来连接单词,与中文语境中的破折号用法类似。
- LaTeX提供了命令
\ldots
来生成省略号,相对于直接输入三个点的方式更为合理。\ldots
和\dots
是两个等效的命令。
1 条评论
赞一个