# 1. LaTeX 文档基本格式

\documentclass{article}   % 文档类型:article, report, book, beamer 等
\usepackage[utf8]{inputenc} % 支持中文时建议用 ctex 包
\usepackage{amsmath, amssymb} % 数学符号扩展
\usepackage{graphicx} % 插入图片
\usepackage{listings} % 插入代码
\usepackage{xcolor}   % 代码高亮需要颜色
\usepackage{hyperref} % 超链接

\title{LaTeX 学习示例}
\author{你的名字}
\date{\today}

\begin{document}  % 正文开始

\maketitle  % 输出标题

\section{引言}
这是 LaTeX 的一个简单示例。

\end{document}

说明

  • \documentclass{article} 定义了文档类型。
  • \usepackage{} 用来导入扩展包。
  • \section{} 表示章节。
  • \maketitle 会根据上面 \title\author\date 生成标题页。

# 2. 数学公式

LaTeX 在数学公式排版方面很强大。

# 2.1 行内公式

这是一个行内公式:$E=mc^2$

# 2.2 独立公式

\[
E = mc^2
\]

# 2.3 多行公式 (amsmath 提供)

\begin{align}
a^2 + b^2 &= c^2 \\
e^{i\pi} + 1 &= 0
\end{align}

# 3. 插入图片

\begin{figure}[h]
    \centering
    \includegraphics[width=0.5\textwidth]{example.png}
    \caption{这是一个示例图片}
    \label{fig:example}
\end{figure}

说明

  • example.png 必须和 .tex 文件在同一目录。
  • width=0.5\textwidth 控制大小。
  • \caption 是图注,\label 用来引用。
  • 之后可用 见图~\ref{fig:example} 来自动编号。

# 4. 插入代码

LaTeX 用 listings 包来展示代码:

\begin{lstlisting}[language=Python, caption=Python 示例, label={lst:py}]
def hello():
    print("Hello, LaTeX!")
\end{lstlisting}

说明

  • language=Python 可以换成 C, C++, Java 等。
  • caption 给代码块加标题,label 方便引用。

还可以加颜色主题:

\lstset{
  basicstyle=\ttfamily\small,
  keywordstyle=\color{blue},
  commentstyle=\color{green!50!black},
  stringstyle=\color{red},
  numbers=left,
  numberstyle=\tiny,
  frame=single,
  breaklines=true
}

# 5. 表格

\begin{table}[h]
    \centering
    \begin{tabular}{|c|c|c|}
        \hline
        姓名 & 年龄 & 成绩 \\
        \hline
        张三 & 18 & 95 \\
        李四 & 19 & 88 \\
        \hline
    \end{tabular}
    \caption{学生信息表}
    \label{tab:student}
\end{table}

# 6. 超链接

\href{https://www.latex-project.org}{LaTeX 官网}

# 7. 中文支持

如果你写中文文档,建议用 ctex 包:

\documentclass{ctexart}  % 代替 article,更好支持中文

这样就能直接写中文了。


# 8.有序列表和无序列表

# 8.1 无序列表(itemize)

\begin{itemize}
    \item 这是第一点
    \item 这是第二点
    \item 这是第三点
\end{itemize}

默认显示为黑色小圆点:

  • 这是第一点
  • 这是第二点
  • 这是第三点

# 8.2 有序列表(enumerate)

\begin{enumerate}
    \item 这是第一点
    \item 这是第二点
    \item 这是第三点
\end{enumerate}

默认显示为数字编号:

  1. 这是第一点
  2. 这是第二点
  3. 这是第三点

# 8.3 自定义编号样式

借助 enumitem 包可以更灵活:

\usepackage{enumitem}

\begin{enumerate}[label=\roman*.]  % 罗马数字
    \item 第一条
    \item 第二条
\end{enumerate}

\begin{enumerate}[label=(\alph*)]  % 小写字母
    \item 第一条
    \item 第二条
\end{enumerate}

结果会变成:

  • (i), (ii), (iii)...
  • (a), (b), (c)...

# 8.4 无编号列表(只换行,没有点/数字)

如果你只是想 逐行列出,但不要前面的符号,可以用 description 或者自定义环境:

\begin{itemize}[label={}] % label={} 表示不要符号
    \item 第一行
    \item 第二行
    \item 第三行
\end{itemize}

或者更简单:

第一点 \\
第二点 \\
第三点

(这里 \\ 表示换行)

# 9. BibTeX 使用

在学术写作中,参考文献管理是必不可少的。LaTeX 提供了 BibTeX 来管理参考文献,它的好处是:

  • 文献集中存放在一个 .bib 文件里,方便复用;
  • 可以自动格式化(APA, IEEE, GB/T 7714 等);
  • 引用时只需 \cite{} 即可,省去手动编号。

# 9.1 建立 .bib 文件

新建一个 refs.bib 文件,里面存放参考文献信息。常见条目类型有:

  • @article:期刊文章
  • @book:书籍
  • @inproceedings:会议论文
  • @misc:其他(网页、报JavaScript (ES6) code snippets告等)

示例:refs.bib

@article{einstein1905,
  author    = {Albert Einstein},
  title     = {Zur Elektrodynamik bewegter Körper},
  journal   = {Annalen der Physik},
  volume    = {17},
  number    = {10},
  pages     = {891--921},
  year      = {1905},
  publisher = {Wiley}
}

@book{knuth1984,
  author    = {Donald E. Knuth},
  title     = {The TeXbook},
  year      = {1984},
  publisher = {Addison-Wesley}
}

@misc{latexproject,
  author    = {LaTeX Project},
  title     = {LaTeX Project Website},
  year      = {2025},
  url       = {https://www.latex-project.org/}
}

# 9.2 在主 .tex 文件中引用

在你的 main.tex 中:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{cite}   % 文献引用宏包
\usepackage{hyperref} % 让文献引用可点击

\begin{document}

爱因斯坦的相对论论文发表于1905年~\cite{einstein1905}
\LaTeX 的官方文档在~\cite{latexproject} 可以找到。

% 生成参考文献
\bibliographystyle{plain}   % 参考文献格式:plain, unsrt, abbrv, ieeetr 等
\bibliography{refs}         % refs.bib 文件名,不要写扩展名

\end{document}

# 9.3 编译流程

和普通 .tex 不同,使用 bibtex 时要多一步:

pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.tex

解释:

  1. 第一次 pdflatex 会扫描引用并生成 .aux 文件;
  2. bibtex main 会读取 .aux 文件,从 refs.bib 抽取对应条目生成 .bbl 文件;
  3. 再跑两次 pdflatex 让引用编号和文献列表都正确显示。

# 9.4 常见参考文献样式

  • plain:作者字母顺序,数字编号
  • unsrt:按引用顺序编号
  • abbrv:作者名缩写
  • ieeetr:IEEE 风格
  • apalike:APA 风格

例如:

\bibliographystyle{ieeetr}

# 9.5 中文参考文献

中文参考文献推荐用 GB/T 7714 样式(国标):

\usepackage[backend=bibtex,style=gb7714-2015]{biblatex}
\bibliography{refs}

然后在 .bib 文件里可以写中文,例如:

@book{li2020,
  author    = {李四 and 张三},
  title     = {深度学习导论},
  year      = {2020},
  publisher = {清华大学出版社}
}

这样就能自动生成符合国标的中文参考文献。