前言

LaTeX 的优点

  • 排版美观,结构清晰,尤其适合数学公式排版
  • 具有庞大、活跃的用户群体
  • 它灵活,强大——各种文档都有对应宏包
  • 论文,幻灯,表格…
  • 改变你编辑文档的思路
  • 非图形界面;文档按模块统一处理…

编辑文字思路:

  • 使用命令描述生成方式,而非最终效果。
  • 按功能区分内容。
  • 整体考虑排版。

环境配置

Overleaf

Overleaf 提供 LaTeX 在线编译

TeX Live

TeX Live 是 LaTeX 的发行版,以下是下载地址:

VScode 中配置 LaTeX

安装扩展 LaTeX Workshop

添加代码

"latex-workshop.latex.tools": [
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": [
"xelatex"
],
},
{
"name": "pdflatex",
"tools": [
"pdflatex"
]
},
{
"name": "xe->bib->xe->xe",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "pdf->bib->pdf->pdf",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
}
],
"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"
],
//tex文件浏览器,可选项为"none" "browser" "tab" "external"
"latex-workshop.view.pdf.viewer": "tab",
//自动编译tex文件
"latex-workshop.latex.autoBuild.run": "onFileChange",
//显示内容菜单:(1)编译文件;(2)定位游标
"latex-workshop.showContextMenu": true,
//显示错误
"latex-workshop.message.error.show": false,
//显示警告
"latex-workshop.message.warning.show": false,
//从使用的包中自动补全命令和环境
"latex-workshop.intellisense.package.enabled": true,
//设置为never,为不清除辅助文件
"latex-workshop.latex.autoClean.run": "never",
//设置vscode编译tex文档时的默认编译链
"latex-workshop.latex.recipe.default": "lastUsed",
// 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",

最基本的文档

想要实现中文输入,有两种方法,两者都建议使用 XeLaTeX 编译

xeCJK 宏包

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{cwTeXHeiBold}
\setCJKmathfont{cmr} % 可以分别设置中文字体和数学公式字体
\begin{document}
Hello World! 我来啦!% 这里是内容……
\end{document}

ctex 宏包

\documentclass[11pt]{ctexart}
\begin{document}
中文文档。
\end{document}

基本格式

将全文放在 \begin{document}\end{document} 之间。

英文引号: 左上角的 ` 键表左引号;单引号 ´ 表右引号.

保留符号需要加入反斜杠转义:\$ \% \& \#

数学公式

行内公式用 $\dots$ 围起来

单独一行的公式:

  • [] 括起来

  • \begin{equation}\end{equation} 会自动在公式后标号

  • \begin{equation*}\end{equation*} 不会自动在公式后标号

公式对齐:

\begin{align*}
(x+1)^3 &= (x+1)(x+1)(x+1) \\
&= (x+1)(x^2 + 2x + 1) \\
&= x^3 + 3x^2 + 3x + 1
\end{align*}

文档的其它功能

文档结构

从大到小有 part,chapter,section,subsection,subsubsection, paragraph,subparagraph,前五个生成单起一行的标题,后两个是段落。 段首可设特殊格式。 使用 \section\subsection 分层即可。

标题页

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{STXIHEI.TTF}
\setCJKmathfont{cmr}
% 摘要标题默认为Abstract
\renewcommand{\abstractname}{摘要}
\title{标题}
\author{作者}
\date{\today}
\renewcommand{\today}
{\number\year\number\month\number\day 日}
\date{\today} % 改成中文日期格式

\begin{document}
\maketitle
\tableofcontents % 生成目录
\section{简介}
关于以下问题\ldots
\section{研究方法}
我们探索了\ldots
\subsection{样品准备}
\subsection{数据收集}
\section{结果}
\section{结论}
\end{document}

标签和引用

  • \label\ref 自动编号

  • amsmath 宏包提供 \eqref 以引用表达式。

\documentclass{article}
\usepackage{xeCJK}
\usepackage{amsmath}
\begin{document}
\section{简介}
\label{sec:intro}
在第\ref{sec:method}章,我们\ldots
\section{方法}
\label{sec:method}
\begin{equation}
\label{eq:euler}
e^{i\pi} + 1 = 0
\end{equation}
由等式\eqref{eq:euler},我们得到\ldots
\end{document}

图像

需要 graphicx 宏包提供 \includegraphics 命令 支持包括 JPEG, PNG 和(大多数) PDF 格式的图像.

\begin{figure}
\centering
\includegraphics[%
width=0.5\textwidth]{gerbil}
\caption{\label{fig:gerbil}可爱呀\ldots.}
\end{figure}

制表

tabularx 宏包的 tabular 表格情境

\begin{tabular}{|l|r|r|} \hline
物品& 数量& 单价\$ \\\hline
冬瓜& 1 & 199.99 \\
南瓜& 2 & 399.99 \\
西瓜& 3 & 19.99 \\\hline
\end{tabular}

列表

\begin{itemize} % 无序列表
\item[-] 符号自定义
\item[什么] 都可以
\end{itemize}

\begin{enumerate} % 有序列表
\item 没有太大自由
\item 但也有选项% 宏包和自定义命令
\end{enumerate}