一、LaTeX的简介及安装
简介
官方网址:https://www.latex-project.org/
LaTeX的历史:
高德纳(Donald Knuth),Stanford 大学计算机程序设计艺术荣誉教授,Turing奖得主。
为了写他的七卷本著作《The Art of Computer Programming》而编制了TEX排版系统。但或许因为在以上花的十年时间太长,这部著作至今才写到第四卷。Leslie Lamport,微软研究院资深研究员,Turing奖得主。为了准备他的著作《The Great American Concurrency Book》而编写了一组基于TEX的宏,即LaTeX,后交给TaTeX3小组,逐渐发展演变为现在的样子。但是,那部著作一直没有动笔。
它是什么:
- TEX是一种专业排版软件。与它在各方面最为类似的是方正的书版;功能相近而用法不大相同的有方正飞腾创意,Adobe的PageMaker、InDesign等。
- TEX是一种计算机宏语言。同为宏语言的有C语言预处理宏、Linux下的M4;但功能和形式更相近的是HTML+PHP。
- LaTeX是定义在TEX语言上的一大组宏命令,一种格式。它提供了结构化的方式使得书籍文章可以方便地按内容的逻辑结构进行排版。
- LaTeX之于TEX类似HTML+CSS之于基本的HTML。
安装及更新
下载及版本:
- TeXLive 2019(每年夏天更新),macOS下称为MacTeX2019
- texlive下载地址,以及清华大学开源软件镜像站。下载iso镜像文件可以离线安装。
- MikTeX 2.9(Windows)
- 网页在线版overleaf
各个大学的毕业论文模板可能需要更新T以发行版后才能使用。如果不要求最新,Linux环境下也可以使用软件源里的版本(APT大法)。
使用VSCode编辑器
(1)安装LaTeX Workshop插件
(2)文件 -> 首选项 -> 设置,打开settings.json,配置文件如下:
{
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "standard",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
{
"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",
"%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%"
]
}],
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.synctex.gz"
]
}
重启VSCode
帮助手册
可以在cmd使用以下命令打开帮助手册
# latex的帮助手册
texdoc lshort-zh
# ctex的帮助手册
texdoc ctex
二、文档基本结构
以document 环境为界,document环境前是导言部分(preamble);环境内部是正文部分;环境之后的部分被忽略。
在导言区进行格式设置,正文部分套用格式。
%%% 简单文档
% 导言:格式设置
\documentclass{ctexart}
\usepackage[b5paper]{geometry}
% 正文:填写内容
\begin{document}
使用 \LaTeX
\end{document}
文档部件
- 标题:\title,\author,\date——\maketitle
- 摘要/前言:abstract环境/\chapter*
- 目录:\tableofcontents
- 章节:\chapter,\section…
- 附录:\appendix+\chapter或\section.…
- 文献:\bibliography
- 索引:\printindex
文档划分
大型文档:\frontmatter、\mainmatter、\backmatter
一般文档:\appendix
层次 | 名称 | 命令 | 说明 |
---|---|---|---|
-1 | part | /part | 可选的最高层 |
0 | chapter | /chapter | report,book 类最高层 |
1 | section | /section | article 类最高层 |
2 | subsection | /subsection | |
3 | subsubsection | /subsubsection | report,book类,默认不编号、不编目录 |
4 | paragraph | /paragraph | 默认不编号、不编目录 |
5 | subparagraph | /subparagraph | 默认不编号、不编目录 |
磁盘文件组织
1、小文档将所有内容写在同一个目录中。
2、对比较大的文档,可以将文档分成多个文件,并划分文件目录结构:
- 主文档,给出文档框架结构
- 按内容章节划分不同的文件
- 使用单独的类文件和格式文件设置格式
- 用小文件隔离复杂的图表
相关命令:
- \documentclass:读入文档类文件(.cls)
- \usepackage:读入一个格式文件-—宏包(.sty)
- \include:分页,并读入章节文件(.tex)
- \input:读入任意的文件
文档框架示例:
% language-main.tex
\documentclass{book}
\usepackage{makeidx}
\makeindex
\title{Languages}
\author{someone}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\include{intro}
\include{class}
\backmatter
\include{appendix}
\bibliography{foo}
\printindex
\end{document}
% intro.tex
\part{Introduction}
\chapter{Background}
% class.tex
\part{Classification}
\chapter{Natural Language}
\chapter{Computer Languages}
\section{Machine Languages
\section{High Level Languages}
\subsection{Compiled Language}
\subsection{Interpretative Language}
\subsubsection{Lisp}
\paragraph{Common Lisp}
\paragraph{Scheme}
\subsubsection{Per1}
% appendix.tex
\chapter{Appendix}