
1. 为什么是LaTeX而不是Word如果你正在写一篇学术论文、一份技术报告或者任何对排版格式有严格要求、包含大量数学公式的文档那么你很可能已经听人提起过LaTeX。第一次接触时你可能会觉得它很“古老”——没有Word那样的“所见即所得”界面写文档像是在写代码需要编译才能看到最终效果。这听起来似乎增加了学习成本那为什么还有那么多人尤其是学术界和工程界的人对它趋之若鹜呢核心原因在于“控制”与“一致性”。在Word里你花在调整格式上的时间可能比思考内容本身还要多。标题的样式、公式的编号、参考文献的引用、图表的位置这些在Word里都需要手动维护一旦文档篇幅变长修改一处就可能引发全局的格式灾难。LaTeX则不同它采用“内容与格式分离”的思想。你只需要用简单的标记语言告诉它“这里是一级标题”、“这是一个公式”、“这里引用参考文献[5]”LaTeX的排版引擎就会自动处理所有繁琐的格式问题自动编号、自动生成目录和交叉引用、自动调整页面布局以确保美观。你获得的是一个专业、统一、极其稳定的排版结果尤其是在处理复杂数学公式时LaTeX生成的公式质量是Word难以企及的。所以这篇内容就是写给那些受够了Word格式折磨或者即将开始撰写第一篇学术论文、技术文档的新手。我不会讲太多深奥的底层原理而是聚焦于“如何快速上手写出你的第一份LaTeX文档”。我们将从最实际的环境搭建、文档结构、常用命令一直讲到如何应对那些新手最容易踩的坑。我的目标是让你在读完并跟着操作后能独立完成一份像样的报告或论文初稿并理解LaTeX的工作逻辑从而在后续使用中能自己探索和解决问题。2. 搭建你的LaTeX工作环境编辑器与发行版工欲善其事必先利其器。使用LaTeX的第一步不是打开一个空白文件就开始写而是搭建一个顺手的工作环境。这主要包含两部分LaTeX发行版TeX Distribution和编辑器Editor。2.1 选择并安装LaTeX发行版你可以把LaTeX发行版理解为一个“软件套装”它包含了编译引擎、宏包、字体等所有核心组件。没有它你的编辑器只是一个文本编辑器无法将.tex源文件转换成最终的PDF。对于新手我的建议非常明确在Windows上直接安装TeX Live在macOS上安装MacTeX在Linux上通过包管理器安装TeX Live。它们是当前最主流、最完整的发行版。TeX Live这是跨平台的发行版也是事实上的行业标准。它包含了成千上万的宏包几乎能满足你所有需求。安装包较大几个GB但一劳永逸。MacTeX本质上就是为macOS优化的TeX Live额外包含了一些macOS专用的工具和字体是Mac用户的不二之选。MiKTeX另一个流行的Windows发行版。它的特点是“按需安装”即只在编译时下载缺少的宏包。这对于硬盘空间紧张的用户是优点但在网络不稳定或需要离线工作时可能成为缺点。对于新手我更推荐功能完整的TeX Live避免因临时下载宏包导致的编译中断。安装实操要点访问TeX Live官网或MacTeX官网下载最新的安装镜像。Windows用户运行install-tl-windows.batmacOS用户打开.pkg安装包。安装过程就是一路“下一步”但请注意选择“安装全部集合”以确保完整性。安装时间可能较长30分钟到1小时以上取决于你的网速和硬盘速度。请耐心等待。安装完成后打开命令行CMD或PowerShell输入xelatex --version或pdflatex --version如果能看到版本信息说明安装成功。2.2 选择你的代码编辑器既然LaTeX文档是纯文本文件理论上任何文本编辑器都能写。但一个专为LaTeX设计的编辑器能极大提升效率它通常具备语法高亮、一键编译、实时预览、错误提示、代码补全等功能。主流选择对比Visual Studio Code (VSCode) LaTeX Workshop插件这是目前最流行、功能最强大的组合之一。VSCode本身轻量、免费、插件生态丰富。安装LaTeX Workshop插件后它就变成了一个全功能的LaTeX IDE。你可以边写边在侧边栏预览PDF点击PDF中的内容能跳转到源码对应行编译错误也会清晰地显示在“问题”面板中。对于习惯现代代码编辑器的人来说这是首选。TeXstudio一款专门为LaTeX设计的开源集成环境IDE。它开箱即用所有功能编辑器、预览、编译按钮、结构视图都集成在一个窗口里对新手非常友好。如果你不想折腾插件配置TeXstudio是极好的选择。Overleaf一个在线的LaTeX编辑器。你无需在本地安装任何软件打开浏览器就能编写和编译。它内置了丰富的模板并且支持多人协作。缺点是依赖网络处理大型文档或复杂编译链时可能不如本地工具流畅并且有免费项目的数量限制。非常适合新手尝鲜、快速体验或者与他人合作撰写论文。我的建议如果你是开发者或技术背景习惯VSCode那么VSCode LaTeX Workshop的组合能给你最流畅的体验。如果你希望一个专门为LaTeX定制的、无需配置的环境TeXstudio是你的菜。如果你想先不安装任何东西就试试看Overleaf是最佳起点。以VSCode为例搭建步骤非常简单安装VSCode。在扩展商店搜索“LaTeX Workshop”安装它。基本配置就完成了。当你打开一个.tex文件时左侧活动栏会出现TeX图标相关的编译、预览命令都会出现。3. 你的第一个LaTeX文档从“Hello World”到基本结构环境准备好了让我们立刻开始写第一个文档。打开你的编辑器创建一个新文件保存为hello.tex。3.1 最小工作示例将以下代码复制进去\documentclass{article} \begin{document} Hello, LaTeX World! \end{document}这就是LaTeX文档的绝对最小结构。我们来拆解它\documentclass{article}这是文档的第一行必须存在。它声明了文档的类型类。article是最常用的文档类之一适用于短文、报告、文章等。其他常见的还有report用于更长的报告、学位论文、book书籍、beamer演示文稿。\begin{document}和\end{document}这一对命令标记了文档正文的开始和结束。所有你希望出现在最终PDF里的内容都必须写在这两者之间。Hello, LaTeX World!这就是我们的正文内容。如何编译并查看结果在VSCode中保存文件后你可以按CtrlAltBWindows/Linux或CmdOptionBmacOS来编译。LaTeX Workshop默认会调用pdflatex进行编译。编译成功后会自动在右侧打开PDF预览窗口。在TeXstudio中通常有一个大的绿色箭头按钮点击它即可编译并查看。你应该会看到一个非常简洁的PDF上面写着“Hello, LaTeX World!”。恭喜你的第一个LaTeX文档诞生了3.2 充实文档标题、作者与章节一个正式的文档当然不止一句话。我们来给它加上标题、作者、日期和章节结构。\documentclass{article} \title{My First LaTeX Document} \author{Your Name} \date{\today} % 使用今天的日期 \begin{document} \maketitle % 这个命令会生成标题区域 \section{Introduction} This is the introduction section. Here, I will explain why LaTeX is awesome. \subsection{Motivation} The primary motivation is to achieve professional typesetting with minimal effort. \section{Methodology} This section describes the methods used in this dummy document. \subsection{Data Collection} We collected no data, because this is a dummy document. \section{Conclusion} In conclusion, LaTeX is a powerful tool for document preparation. \end{document}代码解读与技巧\title,\author,\date这些命令在\begin{document}之前称为“导言区”设置文档的元信息。\today是一个宏会自动替换为编译当天的日期。\maketitle这个命令必须放在\begin{document}之后。它的作用是根据前面设置的元信息生成格式化的标题页。\section和\subsection用于创建章节和子章节。LaTeX会自动为它们编号1, 1.1, 2...并将它们加入目录如果需要生成目录的话。这是“内容与格式分离”的典型体现你只关心“这是一个章节”编号和样式由LaTeX负责。编译后你会看到一个有完整标题、章节结构的文档。章节标题会自动加粗并有适当的间距。3.3 添加目录在\maketitle命令之后你想放置目录的地方插入一行命令\tableofcontents。然后你需要编译两次。\begin{document} \maketitle \tableofcontents % 添加目录 \newpage % 可选让目录单独一页 \section{Introduction} ...为什么是两次第一次编译时LaTeX会收集所有章节标题信息并写入一个.toc文件。第二次编译时它才会读取这个.toc文件生成正确的页码和目录内容。这是一个新手常遇到的困惑点为什么我加了\tableofcontents编译后目录是空的答案就是再编译一次。4. LaTeX核心技能文本、列表、数学公式与图片掌握了文档骨架我们来填充血肉。以下是撰写文档时最常遇到的几种元素。4.1 文本格式与特殊字符字体效果粗体\textbf{bold text}斜体\textit{italic text}(在英文中更推荐使用\emph{emphasized text}它会根据上下文自动切换斜体/正体)等宽字体用于代码\texttt{code text}特殊字符LaTeX中# $ % { } _ ^ ~ \这些字符有特殊含义。如果想在正文中输出它们需要在前面加反斜杠\进行转义例如\$输出美元符号\%输出百分号\输出。例外是\本身需要用\textbackslash命令输出。引号正确的英文引号是开单引和 关单引以及开双引和 关双引。在LaTeX中用两个反引号表示开双引用两个单引号表示关双引This isquoted text. 编译后为 “This is “quoted” text.”换行与分段空一行即按两次回车表示开始一个新的段落\par。\\或\newline表示强制换行但不开始新段落。在正文中应谨慎使用通常只在表格、诗歌等特定环境中使用。4.2 列表环境LaTeX提供了强大的列表环境用于创建有序和无序列表。% 无序列表 (itemize) \begin{itemize} \item First item. \item Second item. \begin{itemize} % 嵌套列表 \item Nested item. \end{itemize} \end{itemize} % 有序列表 (enumerate) \begin{enumerate} \item Step one. \item Step two. \begin{enumerate} \item Sub-step. \end{enumerate} \end{enumerate} % 描述列表 (description) \begin{description} \item[LaTeX] A document preparation system. \item[Word] A word processor. \end{description}4.3 数学公式LaTeX的杀手锏这是LaTeX最闪耀的地方。公式分为两种行内公式和独立公式。行内公式嵌入在文本行中用单个美元符号包裹$E mc^2$会生成E mc²。独立公式单独成行居中显示。有两种常用方式使用\[和\]\[ \sum_{i1}^{n} i \frac{n(n1)}{2} \]使用equation环境可以自动编号\begin{equation} \label{eq:sum} % 给公式加标签便于引用 \int_a^b f(x) \, dx F(b) - F(a) \end{equation}之后在文中可以用\eqref{eq:sum}来引用这个公式的编号。常用数学符号示例上下标x^2,a_{ij}分数\frac{numerator}{denominator}根号\sqrt{x},\sqrt[n]{x}希腊字母\alpha,\beta,\Gamma,\Delta运算符\times(乘),\cdot(点乘),\pm(正负),\sum(求和),\int(积分)括号直接使用()和[]对于会自动伸缩的大括号使用\left(和\right)配对。提示不需要记忆所有命令。在实践中你可以随时搜索“LaTeX 符号名称”来找到需要的命令。使用equation环境并善用\label和\ref进行交叉引用是撰写科技文档的最佳实践。4.4 插入图片在LaTeX中插入图片需要使用graphicx宏包并利用figure环境。第一步在导言区加载宏包\documentclass{article} \usepackage{graphicx} % 引入图形处理包 \begin{document} ...第二步在正文中使用figure环境插入图片\begin{figure}[htbp] % htbp是位置参数建议新手就用这个 \centering % 让图片居中 \includegraphics[width0.8\textwidth]{example-image.png} % 设置宽度为文本宽度的80% \caption{This is an example image.} % 图片标题 \label{fig:example} % 图片标签用于引用 \end{figure}参数详解与避坑指南[htbp]这是给LaTeX的位置指示符告诉它尽量按顺序尝试将图片放在here当前位置、top页面顶部、bottom页面底部、page单独一页。LaTeX的图片浮动机制是为了避免页面出现大片空白但有时会导致图片“跑”到你不希望的位置。对于新手如果图片位置让你困扰可以暂时使用[H]需要先加载float宏包强制图片位于代码所处位置但这可能破坏页面美观。\includegraphics支持PDF, PNG, JPG等格式。强烈推荐使用PDF或PNG格式它们能保证打印和显示质量。避免使用BMP等格式。{example-image.png}图片文件名。如果图片不在当前目录需要加上路径如{figures/myplot.pdf}。路径中不要有中文或空格这是跨平台兼容性的常见坑。\caption和\label和公式一样为图片添加标题和标签后就可以在文中用\ref{fig:example}引用它如“如图\ref{fig:example}所示”。LaTeX会自动处理编号。5. 参考文献管理与交叉引用让学术写作自动化手动管理参考文献是学术写作的噩梦。LaTeX配合BibTeX或Biber后端工具以及biblatex宏包现代推荐可以完美解决这个问题。5.1 创建.bib数据库文件首先你需要一个纯文本文件比如references.bib。在这个文件里你以特定格式存放所有参考文献条目。每条文献都有一个唯一的“引用键”citekey。article{einstein1905, author {Albert Einstein}, title {On the Electrodynamics of Moving Bodies}, journal {Annalen der Physik}, volume {322}, number {10}, pages {891--921}, year {1905}, doi {10.1002/andp.19053221004} % DOI是很好的标识符 } book{knuth1984, author {Donald E. Knuth}, title {The {\TeX}book}, publisher {Addison-Wesley}, year {1984}, address {Reading, Massachusetts} }如何获取BibTeX条目几乎所有的学术搜索引擎Google Scholar, IEEE Xplore, ACM DL等和文献管理软件Zotero, Mendeley, EndNote都支持直接导出BibTeX格式。你不需要自己手打。5.2 在LaTeX文档中引用第一步在导言区设置参考文献样式和数据库文件使用biblatex\usepackage[backendbiber, stylenumeric, sortingynt]{biblatex} % 使用biber后端数字引用样式按年份、作者、标题排序 \addbibresource{references.bib} % 指定你的.bib文件第二步在文中需要引用的地方使用\cite命令As shown in the theory of relativity \cite{einstein1905}, and discussed in the classic text by \textcite{knuth1984}, typesetting is an art.第三步在文档末尾\end{document}之前打印参考文献列表\printbibliography % 这个命令会生成参考文献列表5.3 编译流程重要由于引入了外部数据库编译流程从1步变成了4步按顺序执行xelatex或pdflatex编译主文档生成.aux文件其中记录了引用信息。biber处理.aux文件读取.bib数据库生成格式化后的参考文献数据.bbl文件。xelatex或pdflatex再次编译将正确的引用标记如[1]插入文中。xelatex或pdflatex第三次编译解决可能存在的交叉引用页码等问题。在VSCode的LaTeX Workshop中通常有一个名为“LaTeX Recipe”的编译工具链它默认就包含了这个多步流程如latexmk你只需按一次编译快捷键即可。在TeXstudio中也通常有对应的按钮如“编译并查看”。但你必须知道这个原理当参考文献没有正确显示时就知道可能是编译步骤不全。6. 新手进阶模板使用与常见问题排雷当你熟悉了基础下一步就是利用社区的力量——使用模板并学会自己解决常见错误。6.1 善用模板站在巨人肩膀上几乎所有的学术期刊、会议、大学学位论文都会提供官方的LaTeX模板。使用模板能让你瞬间获得符合格式要求的文档框架省去大量排版时间。如何使用模板从官网下载模板文件包通常是一个.zip文件。解压后找到主文件通常是main.tex,sample.tex或类似名称。用你的编辑器打开它仔细阅读开头的注释说明。模板通常会定义好文档类、页边距、字体、标题样式、参考文献格式等。将模板中的示例内容替换成你自己的内容。不要修改你不理解的格式定义部分除非你知道自己在做什么。Overleaf上也有海量的优质模板可以直接复制使用。6.2 常见错误与排查思路编译出错是LaTeX新手的日常。别慌错误信息虽然有时很晦涩是解决问题的钥匙。“Undefined control sequence”最常见的错误。意思是“未定义的命令”。原因你拼错了命令名或者没有加载所需的宏包。解决检查拼写。如果命令名正确例如\usepackage{graphicx}确保该宏包已正确安装TeX Live完整安装通常包含所有常用宏包。“Missing $ inserted”与数学公式相关。原因在数学环境外使用了数学模式专用的命令如_,^或者数学环境没有正确闭合。解决检查所有下标_和上标^是否都被包含在$...$或\[...\]等数学环境中。检查每一个\begin{equation}是否都有对应的\end{equation}。“File not found”找不到文件。原因引用的图片路径错误、文件名错误注意大小写或者.bib文件路径错误。解决仔细检查\includegraphics或\addbibresource中的文件路径和名称。确保文件确实存在于该路径下。参考文献显示为问号 [?]原因编译流程不完整没有运行biber。解决确保你使用的编译工具链包含了biber步骤。在VSCode中可以检查LaTeX Workshop的配置。最保险的方法是在命令行手动执行一遍四步编译流程。图片/表格“跑”得太远原因LaTeX的浮动体机制为了页面美观将浮动体figure, table放到了别处。解决可以尝试使用[H]位置参数需加载float宏包或者接受LaTeX的排版在文中用\ref引用而不要写“如下图所示”或者调整[htbp]中参数的顺序。通用调试技巧从第一个错误开始解决一个错误可能导致后面报出一堆错误。先解决第一个然后重新编译。阅读错误信息上下文编辑器会高亮出错行附近。错误往往就在那附近。善用搜索引擎将错误信息直接复制到搜索引擎十有八九能找到解决方案。Stack Exchange的TeX板块是宝藏。简化测试如果一段复杂代码出错可以新建一个最小文档只包含这段代码逐步调试。7. 从入门到熟练工作流建议与资源推荐最后分享一些让我效率倍增的工作习惯和学习资源。高效工作流建议版本控制像管理代码一样管理你的LaTeX文档。使用Git配合GitHub, GitLab等来跟踪每一次修改。这不仅能备份还能让你放心地尝试各种格式调整随时回退。子文件管理当论文或书籍很长时不要把所有内容都塞进一个.tex文件。使用\input{chapter1.tex}或\include{chapter2.tex}命令将各个章节放在独立的文件中。主文件只负责设置文档类和加载宏包。这样管理起来清晰得多。自动化编译使用latexmk工具。它是一个Perl脚本能自动判断需要运行多少次编译命令latex, biber, 再latex...。在VSCode和TeXstudio中默认的编译命令通常就封装了latexmk。语法检查与格式化在VSCode中可以安装LTeX等语言工具插件对中英文进行语法和拼写检查。对于代码格式化latexindent是一个不错的工具。学习资源推荐Overleaf Documentation LearnOverleaf的官方学习指南图文并茂非常适合新手循序渐进。CTAN (Comprehensive TeX Archive Network)LaTeX宏包的官方仓库。当你需要某个特定功能时去这里搜索宏包名和文档。Stack Exchange - TeX - LaTeX全球最活跃的LaTeX问答社区。几乎你遇到的所有问题都能在这里找到答案。提问前请先搜索。《The Not So Short Introduction to LaTeX 2ε》俗称“lshort”一份免费的、优秀的英文入门教程有中文翻译版。本地文档安装TeX Live后在命令行使用texdoc命令可以快速打开任何已安装宏包或工具的手册例如texdoc graphicx。LaTeX的学习曲线前期确实比Word陡峭但一旦越过那个坡你会发现它在处理严肃、复杂文档时的生产力是碾压性的。它强迫你专注于内容本身而将排版交给专业的引擎。这份控制力、稳定性和最终输出的美感正是它历经数十年而不衰的魅力所在。开始写你的下一篇文档吧从模仿一个模板开始遇到问题就搜索、提问很快你就能得心应手。