Latex

发布于 2021 年 07 月 13 日 | 更新于 2021 年 12 月 01 日

名词解释

  1. TeX

    Donald Ervin Knuth 创建的排版引擎,及其所使用的标记语言的名称

  2. LaTeX

    L. Lamport 开发的基于TeX的排版系统

    它定义了一套编写格式(语法),并配备一个可执行文件(编译器?),能够将LaTeX语法写成的文件解释成TeX语法,再交由TeX引擎处理

  3. pdfTeX & pdfLaTeX

    由Hàn Thế Thành开发,扩展了TeX,TeX生成的文件是独特的dvi格式,而pdfTeX直接生成pdf格式

  4. XeTeX & XeLaTeX

    支持Unicode字符集,实现中文排版

  5. 发行版(套装)

    CTeX,MiKTeX,TeX Live等

    发行版是一个软件合集,整合了整套排版流程所需的全部工具、软件

个人理解

  1. 如果把TeX比作机器语言(同时指对应的编译器),那LaTeX就可以看作高级语言(比如C),由LaTeX把易读的语法解释为TeX能理解的语法,再由TeX引擎进行排版操作
  2. pdf和Xe分别对TeX引擎进行了扩展,添加了新功能:输出pdf文档以及支持Unicode字符集
  3. 实际使用的时候,往往需要一套完整的软件集合,以便处理文档类、模板和字体等细节,这样的软件集合叫做发行版

《一份其实很短的 LaTeX 入门文档》

宏包 Packages

所谓宏包,就是一系列控制序列的合集。这些控制序列太常用,以至于人们会觉得每次将他们写在导言区太过繁琐,于是将他们打包放在同一个文件中,成为所谓的宏包(台湾方面称之为「巨集套件」)。\usepackage{} 可以用来调用宏包。

《一份其实很短的 LaTeX 入门文档》

上面这个解释有点像C语言宏定义的意思了

宏包是用来扩展/增强LaTeX的功能,宏包与LaTeX的关系和浏览器插件与浏览器的关系类似,通过安装不同的宏包可以实现一些复杂排版功能,例如插入复杂的列表表格、插入公式和特殊符号、插入代码、设置文档版式等。

LaTeX 宏包(\usepackage)

实际MiKTeX Packages包含的东西很多,比如,编译器(texify, latexmk)也可用通过packages来管理

MiKTeX

听说以前只支持Windows,现在全平台支持

自带编译器:texify

特点:使用时安装(install on-the-fly),不需要一开始就安装所有组件(很多用不到),如果编译时检测到使用了未安装的包,就会自动提示安装。相比TeX Live的安装镜像有4G

BibTeX

Bibliography

BibTeX 不是用来排版参考文献的,更不是个排版工具,它只是根据需要,按照(bst 文件规定的)某种格式,将(bib 文件中包含的)参考文献信息,格式化 为 LaTeX 能够使用的列表信息

LaTeX技巧829:使用BibTeX生成参考文献列表

相关文件

.bst

.bib

引用语法

\cite{label}:根据label来引用.bib中的文献

Bib编译流程

TeX相关的很多命令都省略文件后缀(?)

要编译带参考文献的tex需要编译4次

  1. (xe/pdf)latex第一次编译.tex,会警告找不到.bbl文件,然后生成:
    • .aux:辅助文件(auxiliary),根据.tex\cite生成.aux\citation,记录了引用的文章标签label
    • .dvi:TeX排版的输出格式,(Xe/pdf)LaTeX还会生成pdf,文中的引用编号会显示?
  2. bibtex编译.aux,根据\bibstyle\bibdata\citation,生成:
    • .bbllatex能理解的参考文献语法
    • .blg:bibtex的日志(bib log)
  3. (xe/pdf)latex第二次编译.tex,根据.bbl,在\bibliography的位置生成参考文献列表,在.aux中增加\bibcite(依据列表顺序)
  4. (xe/pdf)latex第三次编译.tex,根据.aux\bibcite,确定文中的引用编号

常用语法

%:行尾注释,可用\转义

\documentclass{article}
% \documentclass和\begin之间:导言区
% 导言区的设置影响整篇文章,比如:页脚页眉
\begin{document}
% \begin和\end之间:正文内容
xxx
\end{document}

\cite{label[, label2, ...]}:引用文献,逗号分隔多个引用

\nocite{ label | * }:在参考文献中显示,但不在文中引用

\par:分段(另起一段),留一个及以上的空行也可以分段

\\:强制换行(一行太长超出纸的宽度就会自动换行),不分段(不另起一段),不会被latex认为是新的段落

{\bf 要加粗的文本}:加粗(在一些论文模板里,建议用pdfTeX编译,XeTeX可能出现奇怪的问题,ref

环境

插入图片

\begin{figure}[h]
    \includegraphics[width=0.5\textwidth, inner]{overleaf-logo}
    \caption{Caption}
    \label{fig:figure2}
\end{figure}

[h] here 表示放在当前源码的位置

[t] top 表示放在该页顶部

更多参见:Positioning images and tables

It’s important to add \label after a numbered element e.g. \section, \subsection, \caption etc.

Referencing Figures

公式

\overline{}:头顶横线(bar),如:$\frac{22}{7}=3.\overline{142857}$

\dot{}:头顶点,如:$\frac{22}{7}=3.\dot{1}4285\dot{7}$