LaTeX 的使用
一些入门知识,适用于在集成好的环境中快速上手,并补充一些为完成学术写作所必要的背景知识。针对一些希望表达的意图,提供完成的方法。
这里也是记录,把用到的解决方案记录下来,并在使用中调整。
基本用法
最基本的用法首先是输入文本,然后调整格式。
最常见用法如下:
- 文本样式:有 粗体
\textbf{}斜体\textit{}作为书名 [下划线]{.underline}\underline{}引文\verb|...|。- 英文标点
``引号''前后是不同符号 。这样,输入一些符号需要反斜杠\ 转义。 - 注释行用
% - 段落:用空行(两个换行)表示,一个换行会被吃掉。
- 章节:用
\section{}以及\subsection{}。会自动编号,用来生成对应的目录显示为 ` ` 或者 pdf 文附带件的大纲。
- 英文标点
- 页面元素
- 列表: 用
\begin{itemize},编号列表(会自动按前后顺序编号)用\begin{enumerate},其中的列表项目用\item。 - 数学公式环境,行内使用
$ $公式块使用\[ \],效果如 $f(x)=\sin(x)$。某些环境给公式带编号用然后引用。$是传统用法。 - 图片用
\includegraphics{}。论文中通常放在\begin{figure}位置跟随页面在顶端居中并包含标题\caption{...},不随跟随文本位置,然后通过交叉引用来指明。 - 表格(含线)
\begin{tabular}{|c|c|c|}\hline用&和\\分隔列和行。线条样式常用三线表。表格位置可以类似图片放在\begin{table}中跟随页面,并通过引用来使用。 - 代码块 用
\begin{verbatim}行内用\verb||,如需伪代码或代码高亮可以用其他的包。通常位置类似图片。
- 列表: 用
- 引用
- 交叉引用:使用
\ref{label:1}(显示为数字编号),用来引用章节、图片(以及页码、公式)。在被引用对象后面添加\label{label:1}。例如当前是在第 x 节、第 x 页。通常习惯命名上标注类型。文字上常用表述。 - 参考文献:用 BibTeX 把文献列表放在 .bib 文件中,然后
\cite{...}引用。需要文档最后放上\bibliographystyle{plain} \bibliography{bib文件名},并多编译几次,就不显示为问号了。这里显示为[@einstein]。通常习惯取名为作者+年份+短标题。注意 tex 和 latex 不一样。
- 交叉引用:使用
- 编译
- 多文件项目用
\include{...}作为段落 以及\input{...}用来嵌入文本。合理利用以加速编译。 - 中文文档使用
\usepackage{ctex}并用 XeLaTeX 编译(有时要加参数-shell-escape),这样每段段首会空两格。如果仅需中文显示,只用\usepackage{xeCJK}。 - 一些元素会自动生成编号,参考文献和交叉引用需要多次编译才能正确显示编号。
- 工具:编译可以用 latexmk,会自动多次编译。
- 多文件项目用
说明:
- 以下是在建好文档后基本的文本格式操作。对于某一些非视觉的文本的效果,可以直接编辑文本也可以用一些已有的指令自动创建。
- 对于论文中出现的非文本元素,如图表、表格和伪代码,以如下方式插入。这些元素可以出现在文本中,也通常浮动float在论文页面的固定位置。
- 相比以上直接输入内容和调整格式,以下的操作的会在格式上和编号上都有自动生成的内容。
- 首先是会自动编号的层次型结构。
- 然后是编号的前后引用。
- 为了在当前论文的不同位置或元素之间,以及相关文档之间建立链接,并由系统自动维护编号,可以使用交叉引用和参考文献功能。
- 编辑tex文件,直接使用任何常用的文本编辑器都是可以的。一些综合的原文件的例子,见这个文档的后面的内容。编译文档到PDF文件可以使用命令行,或者选择让IDE自动进行。
其他用法
- 浮动元素:图片、表格和伪代码通常放置为页面上元素,不随跟随文本位置,然后通过交叉引用来指明。
- 图片:还涉及图片宽度,图片分栏,
- 标题:包含作者、日期。
- 目录:
\tableofcontents可以设置层级,标星号的不显示。 - 双栏文档:有些论文是双栏的,直接由模板配置好了。
- 演示文稿: Beamer frame section
- 示意图: tikz 配合编辑器的预览功能使用
- 代码块:用 verbatim 语法高亮用额外的包 listings
- 伪代码:的格式效果可以使用 algorithm - 包提供的环境放置浮动位置,然后加上使用 algpseudocode 包提供的 - algorithmic 环境(用来代替之前的 algorithmic 包,并提供兼容用的 - algcompatible 包) 。或者使用 algorithm2e - 包书写伪代码。注意这是两种不同的书写格式,且一个文档里只使用一种包。 algorithm、 algorithmic。
用法示例
% 参考文献。应放在\backmatter之前。
% 推荐使用BibTeX,若不使用BibTeX时注释掉下面一句。
%\nocite{*}
\bibliography{sample}
% 附录,必须放在参考文献后,backmatter前
\appendix
伪代码
\begin{lstlisting}[language=C]
int main()
{
return 0;
}
\end{lstlisting}
算法,在 algorithm 环境里用不同的伪代码格式。
\chapter{算法}
\begin{algorithm}[htbp]
\caption{算法名字}
\label{alg:alg1}
\begin{algorithmic}[1]
\REQUIRE 这是输入
\ENSURE 这是输出
\WHILE {flag}
\STATE 这是语句
\ENDWHILE
\end{algorithmic}
\end{algorithm}
\chapter{实验验证}
图片
\begin{figure}[htbp]
\centering
\includegraphics[width=0.6\linewidth]{./figure/github.jpg}
\caption{单图示例}
\label{fig:system}
\end{figure}
实验硬件设备如图\ref{img:1}所示。
多图,用 subfigure。
\begin{figure}[htbp]
\begin{minipage}[t]{0.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{./figure/github.jpg}
\caption{实验硬件设备总览}
\label{img:1}
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{./figure/github.jpg}
\caption{实验测量示意图}
\label{img:2}
\end{minipage}
\end{figure}
图\ref{fig:sub}所示子图\ref{subfig:a}和子图\ref{subfig:b}。
\begin{figure}[H]
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{./figure/github.jpg}
\caption{子图}
\label{subfig:a}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{./figure/github.jpg}
\caption{子图}
\label{subfig:b}
\end{subfigure}
\caption{子图样例}
\label{fig:sub}
\end{figure}
交叉引用
\section{章节}\label{subsec:mptcp_conges}
\chapter{绪论}\label{chapter_introduction}
\section{研究背景}
在\ref{chapter_introduction}中,我们介绍了研究背景。
使用.bib文件管理参考文献引用,引用示例:\cite{BHR12}.\par
空白文档
\documentclass[10pt,letterpaper]{article}
\usepackage[utf8]{inputenc} % 文件编码,默认 utf-8
% \usepackage{ctex} % 中文版式
\title{LaTeX 的使用}
\author{...}
\date{...}
\begin{document}
\maketitle
% 正文在这里
\end{document}
浮动图表
页面浮动元素,可以是插图,表格,伪代码。
图片
\begin{figure}[hbt!]
\centering
\includegraphics[width=0.3\linewidth]{lion-logo.png}
\caption{This image will be referenced below}
\label{fig:lion}
\end{figure}
You can reference images, for instance, figure \ref{fig:lion} shows
the logo of the red lion logo.
多图
表格,三线表。
Table \ref{table:data} is an example of referenced \LaTeX{} elements.
\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||}
\hline
Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
\hline\hline
1 & 6 & 87837 & 787 \\
2 & 7 & 78 & 5415 \\
3 & 545 & 778 & 7507 \\
4 & 545 & 18744 & 7560 \\
5 & 88 & 788 & 6344 \\ [1ex]
\hline
\end{tabular}
\caption{Table to test captions and labels}
\label{table:data}
\end{table}
流程图
伪代码
数学公式
- 数学公式编号用
\begin{equation} - 多行对齐用
\begin{align} - 引用数学公式的自动编号用
-
矩阵 $\begin{bmatrix}
1 & 2 \\ 3 & 4 \\ \end{bmatrix}$ - 分段函数
定理
公式编号 用 label
微积分,泰勒级数
矩阵,
概率,大数定理
定理证明
定义
::: theorem
定理 1. Let $f$ be a function whose derivative exists in every
point, then $f$ is a continuous function.
:::
::: lemma
Lemma 2. Given two line segments whose lengths are $a$ and $b$
respectively there is a real number $r$ such that $b=ra$.
:::
To prove it by contradiction try and assume that the statement is false,
proceed from there and at some point you will arrive to a contradiction.
演示文稿
beamer
这个模板包含了:
- 完整结构:封面 → 目录 → 内容 → 结束页
- 逐条显示的分点动画,插入图片,两栏左右布局
- 自带经济学公式
- 段落间距变大
\setlength{\parskip}{6pt} - 字体自动适应页面大小
\begin{frame}[shrink=20] - 表格/回归结果
- 一个 section 包含多个 frame。
\begin{frame}{页标题} - 超长的是自动分页,还是截断。
- 封面
\titlepage、目录\tableofcontents。
列表,可以支持逐条显示的分点动画。
\begin{itemize}
\item 这是一个列表项
\item 这是第二个列表项
\end{itemize}
图表
\begin{figure}
\centering
\includegraphics[scale=0.5]{demo.jpg}
\caption{这是图片标题} % 图注
\end{figure}
双栏
\begin{frame}{不等宽双栏}
\begin{columns}[t] % [t] 顶端对齐,默认居中
\column{0.6\textwidth} % 左栏60%
\includegraphics[width=\textwidth]{left.jpg}
\column{0.4\textwidth} % 右栏40%
这是右侧文字内容
\end{columns}
\end{frame}
有时候可以双栏一边插入图片,一边插入列表。
书籍排版
书籍和论文不一样的是有章节,目录,页码。中文书籍用 ctexbook。
\documentclass[11pt,twoside,openright]{book} % 双面、右页起章
\usepackage[margin=1in,bindingoffset=0.5in]{geometry} % 页边距+装订边
\usepackage{graphicx,fancyhdr,hyperref} % 插图、页眉、超链接
\title{Book Title}
\author{Author Name}
\date{2026}
\begin{document}
\frontmatter % 前页(罗马页码)
\maketitle
\tableofcontents
\mainmatter % 正文(阿拉伯页码)
\chapter{Introduction}
Content...
\section{Background}
...
\backmatter % 后页(无章编号)
\chapter{References}
...
\end{document}
数据整理
使用 Excel 整理数据
Excel 是一个很直观和方便的数据展示和处理工具,有需要时也可以用 matlab 或 python 脚本。
表格的基本操作
- csv文件导出。
- 数据透视表用来对原始数据进行分类汇总,也用来长表转宽表。
可视化分析
线性回归
线性回归可以扩展到回归分析、因果推断,进而到一些机器学习的方法,例如建立多分类模型
假设验证
规划求解
读取数据,可以从 csv 文件读取
导出表格,导出图片
可视化
线性回归
统计分析可以直接用公式或者在插件中开启专门的工具。
常用的如 pair t test 一组不同的实验对象,用两种待比较的方法得到每个实验对象在两种情况下的结果,可以用成对t检验判断方法造成的差异是否显著。
显著性水平双侧取 $\alpha=$ 单侧取 $\alpha=$,计算 $p<\alpha$
假设 $x_i-y_i \sim N$
单变量求解 即 单变量等式求根.
一个单元格表示需要求解的变量 $x$
,另一个是单元格的内容是引用这个变量的公式 $f(x)$ ,解方程 $f(x)=0$ 。
规划求解(需要在插件中开启)
每个变量占一个相邻的单元格,目标函数=公式的形式写在单元格了,然后在求解器对话框中执行是哪些单元格。
约束条件的表达式也以公式的形式写在单元格内,相邻单元格可以同时添加到求解器的对话框中。
常用有线性规划,整数线性规划,非线性规划。
对于常见线性规划线性目标和线性约束,标准型是小于等于约束。且能保证最快多项式时间找到全局最优解.
预测工作表功能用于多时间序列数据基于历史值对未来值进行预测。
交互
在 LibreOffice Calc(一个开源的 Excel 实现)上, 统计 Tools 菜单下 Goal Seek 和 Solver.
数据透视表用来分类汇总。
使用 Matlab 整理数据
也可以使用 Octave 或者 Python 进行数据分析。
读取数据
从文本中读取矩阵可以用 load
,此时以非数字作为分割符,注意每行元素个数相等.
画图
figure plot hold on title
x = -10*pi:0.1:10*pi
y1 = sin(x)
y2 = cos(x)
plot(x,y1)
plot(x,y2)
统计分析
load
[h,p] = ttest(x,y) 其中 x,y 是向量,返回 h=1 表示拒绝零假设。
默认双侧 alpha 取 0.05
处理图片
matlab可以通过矩阵的形式处理图像数据。
图像的读写与显示 imread、imshow、imsave
二值化,通过阈值或者其他的分割方法
特征提取,图片的特征,以及局部的特征。
工具箱:统计,最优化,符号。首先看问题是什么。
科技论文写作
参考书 Writing scientific articles strategy and steps (Cargill, Margaret O’Connor, Patrick)
结构
structures: AIMRaD (Abstract, Introduction, Materials and methods,
Results, and Discussion)
语言表达
词汇句子
附录
安装 latex 环境
- windows 使用 texlive 或 MiKTeX
- ubuntu 使用 texlive,中文安装 texlive-chinese
编辑器
- TeXStudio
- Lyx 提供了所见即所得的界面(比如编辑公式的时候)
- VSCode 有专门的插件(使用XeLaTeX要配置一下编译命令)
工具
- 字典/同义词
- 在线工具
- 公式编辑器 https://www.codecogs.com/latex/eqneditor.php
- 自动缩进 latexindent.py
- 语法检查 languagetool grammarly
- 有个 perl 写的自动编译工具 latexmk
- csv 转 latex 表格(用 online converter)
- ppt 用来画示意图其实很方便
教程手册
- overleaf 的帮助文档,提供的常用的用法。
- short …
相关库
- 注意一些包使用创建特定的效果的,只是为了带来方便,有时候也可以有不同的选择。
可以参考一些arxiv 上的论文,比如 Transformer 或 Bert。
注意一下搜索一下的话可以搜索到不同的实现方式,但是自己一篇文档中用法需要统一。
原文写在 kwiki 中,然后转移到 markdown。