🍕 阿i索 个人主页
《C语言专栏》 《C++专栏》
《数据结构专栏》 待更新...

前言

前段时间不少人参加美赛,LaTeX作为写美赛论文的工具之一,个人认为它排版能力很强,不会莫名乱掉,特别对于使用Word排版头疼的人来说,LaTeX有现成的模板,可以ai辅助理解语法,甚至可以ai生成命令,一键复制即可。以下是我总结的学习使用LaTeX的小tips,希望对你能有所帮助。🫡


一、LaTeX自学小建议tips

1. 选LaTeX编辑器

有几种写LaTeX的编辑器:

1.overleaf(在线编辑平台、可多人协作、有模板库)

2.Tex Live + Vs Code + LaTeX插件(个人未成功使用,在此不进行描述)

3.Tex Live+Texstudio(使用简单,个人推荐)

以上几种具体配置操作,大家可以自行上网搜索,跟着视频比较稳妥。

个人选择编译器经历:

一开始因为害怕overleaf网页编辑可能会卡顿,所有一开始选择的是Vs Code,但是使用过程总是报错用不明白,遂放弃。于是换成Texstudio,个人感觉Texstudio使用相对简单、友好一些,但是论文写到后面,Texstudio也卡的不行,编译要编译好久。

tips:哪个能用明白就用哪个,安装过程最好跟视频来,个人推荐Texstudio。

2. 找一个模板

tips:没啥好说的,广搜。

3. 了解模板各部分文件

主文档文件

  • .tex:主文档文件,包含文档的主要内容和结构。它是编译的核心文件,其他文件通过命令(如\input\include)被引入到主文档中。我们主要在.tex进行编写

代码与数据文件

  • .tex片段文件:将大型文档分割为多个子文件(如章节独立为chapter1.tex)。可以在子文件编写论文的某部分再引入到主文档中(方便管理,推荐)
  • .csv.dat:表格数据文件,可通过pgfplotstable等包导入。

样式与宏包文件

  • .cls:类文件(如article.cls),自定义文档类,定义文档整体格式(如论文模板、期刊模板),通过\documentclass{类名}加载。
  • .sty:样式文件(如graphicx.sty),自定义宏包,封装重复使用的格式定义(如字体、间距、自定义命令)有时候想要某些格式的时候,可以把这个文件和要求丢给ai修改,最好备份一下,或者把原来的内容先注释掉,新的格式不满意也能换回原来的版本。

图像文件

  • 支持的图像格式包括.pdf.png.jpg.eps等。LaTeX通过graphicx包引入这些文件,用\includegraphics[width=5cm]{fig/plot.pdf}引用。推荐使用相对路径,图像文件放在与.tex文件相同的目录或者子目录中。

相对路径写法

1. 图片和主文件在同一目录

my_project/          # 基准目录(main.tex所在)
├── main.tex         # 主文件
└── plot.pdf         # 图片文件

LaTeX 代码(两种写法等价,推荐第二种):

\usepackage{graphicx}
% 写法1:显式写当前目录
\includegraphics{./plot.pdf}
% 写法2:省略./(更简洁,推荐)
\includegraphics{plot.pdf}

2. 图片在主文件的子目录(最常用)

my_project/
├── main.tex                # 主文件(基准目录)
└── figures/                # 图片根目录(子目录)
    ├── chap1/              # 章节子目录
    │   └── plot1.pdf       # 章节图片
    └── common/             # 公共图片目录
        └── cover.pdf       # 封面图片

LaTeX 代码

\usepackage{graphicx}

% 引用chap1的图片
\includegraphics{figures/chap1/plot1.pdf}
% 引用公共封面图片
\includegraphics{figures/common/cover.pdf}

3. 主文件在子目录,图片在上级目录

my_project/                # 上级目录
├── figures/               # 图片目录(上级目录)
│   └── plot.pdf
└── tex/                   # 子目录
    └── main.tex           # 主文件(基准目录是tex/)

LaTeX 代码(用../回到上级目录):

\usepackage{graphicx}

% ../ 表示回到my_project/目录,再找figures/
\includegraphics{../figures/plot.pdf}

参考文献文件

  • .bib:BibTeX格式的参考文献数据库文件,包含引用文献的详细信息。
  • .bst:BibTeX 样式文件定义参考文献的排版格式(如 GB/T 7714、IEEE、APA 格式)

辅助文件

编译过程中会自动生成多个辅助文件,用于存储临时信息或中间结果:

  • .aux:存储交叉引用、目录、参考文献等信息。
  • .log:记录编译过程中的详细日志和错误信息。
  • .toc:存储目录内容(当文档包含\tableofcontents时生成)。
  • .lof:存储图形目录(当文档包含\listoffigures时生成)。
  • .lot:存储表格目录(当文档包含\listoftables时生成)。
  • .out:PDF书签信息文件(与hyperref包相关)。

自定义配置文件

  • .cfg:自定义配置或模板文件,用于覆盖默认设置。

输出文件

  • .pdf:最常见的输出格式,通过pdflatexxelatex生成。

注意事项

  • 辅助文件(如.aux.log)通常可删除,重新编译时会自动生成。
  • 项目共享或归档时,只需包含主文档、图像、参考文献等必要文件,无需附带辅助文件。

个人文件选择:

只使用了.tex文件(主要文件),.tex片段文件(方便管理),图像文件,.sty文件(修改格式),pdf输出文件(结果)。没有用专门的管理参考文献的文件。

4. 使用ai了解模板语法

tips:

将.tex中的内容给到ai,要求用注释解释,辅助理解模板。

将.sty中的内容也交给ai解释,辅助理解格式设置。

5. 自己上手操作

在ai帮助理解后,自己尝试使用模板,如有报错,截图继续问ai。

二、LaTeX简单教程(1)

整理了当时用来LaTeX学习的文件(支持中文),仅用于熟悉LaTeX语法。

1. 文档类型与编码设置

% 指定文章类型(article适用于期刊/会议论文,无章节chapter)
\documentclass[]{article}
%% 基础用法(无额外参数,默认字体、页边距)
%\documentclass{article}
%% 带参数用法(指定字体大小12pt,纸张A4,单面)
%\documentclass[12pt,a4paper,oneside]{article}

% 中文支持宏包(UTF8编码)
\usepackage[UTF8]{ctex}

% 页面设置(A4纸,边距自定义)
\usepackage{geometry}
\geometry{
    a4paper,
    total={170mm,257mm},
    left=20mm,
    top=20mm,
}

% 文档内容区域(所有正文写在\begin{document}和\end{document}之间)
\begin{document}

% 正文内容
、、、

\end{document}

2. 常用基础操作

功能 代码示例
生成目录 \tableofcontents
另起一页 \newpage
换行(空行) 内容之间直接空一行
段内间隔 \vspace{2ex}(2ex 为间隔大小,可自定义)
行内缩进 \hspace{0.65em}(0.65em 为缩进量)

3. 标题层级

  • 一级标题:\section{标题内容}
  • 二级标题:\subsection{标题内容}
  • 三级标题:\subsubsection{标题内容}

注:文章类型是article,所以不支持章命令chapter{title},仅提供以上几种等层级标题命令

4. 文本格式与列表

文本格式

  • 加粗:\textbf{文本}
  • 斜体:\textit{文本}
  • 下划线:\underline{文本}
  • 段间距:\vspace{2ex}
  • 缩进:\hspace{0.65em}

无序列表

\begin{itemize}
    \item 第一点内容
    \item 第二点内容
    \item 第三点内容
\end{itemize}

有序列表

\begin{enumerate}
    \item 第一点内容
    \item 第二点内容
    \item 第三点内容
\end{enumerate}

5. 公式编辑

关键语法总结

  • 行内公式:$...$
  • 行间公式:$$...$$ 或 \[...\]
  • 编号公式:equation 环境
  • 无编号公式:equation* 或 $$...$$
  • 多行对齐:align 环境,& 指定对齐点

注:使用 align 或 equation* 需在导言区加载 amsmath 宏包(\usepackage{amsmath})。

equation与align环境的区别

以下表格对比了LaTeX中equationalign环境的主要差异:

特性 equation环境 align环境
用途 单行公式编号 多行公式对齐与编号
对齐方式 自动居中 通过&符号指定对齐点
编号方式 整体一个编号 每行可单独编号或取消编号
语法示例 \begin{equation}...\end{equation} \begin{align}...\end{align}
换行 不支持公式换行 支持用\\换行
跨页支持 不支持 需配合\allowdisplaybreaks命令

equation环境示例

\begin{equation}
E = mc^2
\end{equation}

align环境示例

\begin{align}
x &= y + z \label{eq1} \\
a &= b + c \label{eq2}
\end{align}

注意事项

  • equation*align*变体会取消所有编号
  • align环境中使用\notag可抑制特定行的编号
  • 对于复杂多行公式,aligned嵌套在equation中可实现类似效果

适用场景

  • 简单单行公式优先用equation
  • 多行推导、方程组等需对齐时用align

公式插入演示

1.行内公式:
$ \theta_i \sim \mathcal{N}(\theta_i^0, \Sigma_i^0) $

2.行间公式:
% 第一种
$$ f(x) = a+b $$
% 第二种
\[ \left(x-1\right)\left(x+3\right) \]

3.公式带标号:
\begin{equation}
	{\rm{y}} = kx + b
\end{equation}

\begin{equation}
	{\rm{y}} = kx + b
\end{equation}

4.公式不带标号:
% 第一种
$$ 	{\rm{y}} = kx + b $$
% 第二种
\begin{equation*}
	{\rm{y}} = kx + b
\end{equation*}

5.等号对齐:
\begin{align*}
	\frac{dy}{dx}&=y\\
	\frac{1}{y}dy&=dx\\
	\ln y&=x+c\\
	y&=ae^{x}
\end{align*}

公式工具推荐

  • MathType:可视化公式编辑软件,可直接导出 LaTeX 代码
  • MathCheap:截图转 LaTeX 公式工具

五、图片插入与引用

1. 必备宏包

\usepackage{float} % 固定图片位置
\usepackage{graphicx} % 插入图片核心宏包
\usepackage{subfigure} % 多子图排版
\usepackage[hidelinks]{hyperref} % 超链接(隐藏下划线)
\usepackage{cleveref} % 精准引用(图/表)

2. 图片插入示例

单张图片
\begin{figure}[H]  % H表示固定位置,不浮动
    \centering   % 居中
    \includegraphics[width=5cm]{./figure/pic.png} % 图片路径+宽度
    \caption{图片标题} % 图片标题
    \label{fig:cnn} % 图片标签(用于引用)
\end{figure}
多张图片并排(2张、3张)
% 两张照片并排

\begin{figure}[H]
    \centering    
    \subfigure[子图1标题]{
        \includegraphics[width=0.4\textwidth]{./figure/pic.png}}
    \subfigure[子图2标题]{
        \includegraphics[width=0.4\textwidth]{./figure/pic.png}}
    \caption{总图标题}
\end{figure}


% 排多张图片只要复制操作就可以,三张照片并排

\begin{figure}[H]
	\centering    
	\subfigure[子图一的标题]{				% 图片1([]内为子图标题)
		\includegraphics[width=0.3\textwidth]{./figure/2019-10-29 225101.jpg}}% 子图1的相对位置
	\subfigure[子图二的标题]{				% 图片2
		\includegraphics[width=0.3\textwidth]{./figure/2019-10-29 225101.jpg}}% 子图2的相对位置
	\subfigure[子图三的标题]{				% 图片2
		\includegraphics[width=0.3\textwidth]{./figure/2019-10-29 225101.jpg}}% 子图3的相对位置
	\caption{总图标题}		% 总图标题
\end{figure}

3. 图片路径规则

  • 同级目录:./pic.png 或直接 pic.png
  • 上级目录:../pic.png(上两级为../../pic.png
  • 下级目录:./figure/pic.png

4. 图片引用

% 跳转至页
as shown above~\ref{fig:cnn}

% 跳转至图片
as shown above~\cref{fig:cnn}

六、表格制作与引用

1. 必备宏包

\usepackage{threeparttable} % 表格注释
\usepackage[table]{xcolor}  % 表格背景色
\usepackage{multirow}       % 跨行合并单元格
\usepackage{booktabs}       % 三线表横线

2. 表格基础语法

符号 含义
c 单元格水平居中
l 单元格左对齐
r 单元格右对齐
| 竖线
\hline 横线
\toprule/\midrule/\bottomrule 三线表横线(booktabs)

3. 常见表格示例

基础表格
\begin{table}[H]
    \centering
    \caption{符号说明} % {}中填表格标题
    \begin{tabular}{|c|c|}
        \hline
        符号   & 意义  \\ \hline
        $L_n$  & 经度  \\ \hline
        $L_a$  & 纬度  \\ \hline
    \end{tabular}
    % 表格注释
    \begin{tablenotes}
        \footnotesize
        \item 注:仅展示部分数据
    \end{tablenotes}
\end{table}


 % {|c|c|}中cc两列中心对齐,|表示画竖线
 % \hline表示画横线
 % 行的第一列与第二列之间,使用&作为分割

 % 表格注释(在\end{table}之前,\end{tabular}之后)
    \begin{tablenotes}
        \footnotesize
        \item 注:仅展示部分数据
    \end{tablenotes}
三线表(学术规范)
\begin{table}[H]
    \centering
    \caption{不同塑料的属性}
    \begin{tabular}{c c c}
        \toprule
        \textbf{类型} & \textbf{平均寿命(年)} & \textbf{年产量(十亿)}  \\ 
        \midrule
        PETE          &                  0.5 &                  1.06 \\ 
        LDPE          &                  2.3 &                  0.94 \\ 
        PS            &                  1.4 &                  0.89 \\
        \bottomrule
    \end{tabular}
    \label{tab:result1} % 表格标签
\end{table}


% 三线表横线(booktabs):
% \toprule
% \midrule
% \bottomrule	
宽表格自适应
\begin{table}[H]
    \scriptsize % 缩小字体
    \caption{宽表格示例}
    \resizebox{\linewidth}{!}{ % 自适应页面宽度
        \begin{tabular}{|c|c|ccc|}
            % 表格内容
        \end{tabular}
    }
\end{table}


% 遇到表格过宽跳出页面的情况,可在tabular外面套一层
% \resizebox{\linewidth}{!}{
%        \begin{tabular}{|c|c|ccc|}
%            % 表格内容
%        \end{tabular}}

4. 表格引用

详见表~\cref{tab:result1}

5. 表格工具推荐

  • Table Convert Online:Excel 表格转 LaTeX 代码
  • TablesGenerator:复制 Excel 内容生成 LaTeX 表格

七、参考文献

1. 基础格式

\begin{thebibliography}{9} % 9表示参考文献编号最大位数
    \bibitem{1} 参考文献1的引用信息复制在这里
    \bibitem{2} 参考文献2的引用信息复制在这里
\end{thebibliography}

2. 引用简化(提前定义命令)

% 预定义上标引用命令
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}

% 正文引用
这里引用参考文献\upcite{1}

八、代码块插入(美化)

% 必备宏包
\usepackage{listings}
\usepackage{xcolor}

% 代码块样式设置
\lstset{
    language=python, % 指定编程语言
    numbers=left,    % 行号在左侧
    numberstyle= \tiny, % 行号字体大小
    keywordstyle= \color{ blue!70}, % 关键字颜色
    commentstyle= \color{red!50!green!50!blue!50}, % 注释颜色
    frame=shadowbox, % 阴影边框
    rulesepcolor= \color{ red!20!green!20!blue!20}, % 边框颜色
    escapeinside=``, % 英文反引号内可写中文
    breaklines=true, % 自动换行
    xleftmargin=2em, % 左侧缩进
    aboveskip=1em,   % 上方间距
    framexleftmargin=2em % 边框左侧缩进
}

% 插入代码块
\begin{lstlisting}
#include <stdio.h>
int main()
{
    printf("Hello World!\n");
    return 0;
}
\end{lstlisting}

九、特殊符号

问ai最快。


总结:学习LaTeX最快路径

1. 找到一个完美的模板,让ai解释

2. 根据个人需求,让ai进行修改

3. 有任何错误,让ai分析原因

希望文章能对学习LaTeX的朋友们有所帮助。

未来有时间可能整理当时美赛使用的模板文件(LaTeX美赛模板教程(2))

今天就到此结束啦,再见🫡

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐