自 2020 年 4 月翻开刘海洋《LaTeX入门》已经 4 年了, 混迹与各大 LaTeX 交流群及社区,每天都会遇到各种各样的问题, 为此我想给初学者们一些建议.
安装
这部分一般不会出现太大问题,基本上看看教程就能安装好,一次没装好就装两次,总能装好.
如果大家对这部分有疑问,我也可以写一篇文章讲一讲安装过程以及一些常见的错误处理办法.
入门
当你装好 LaTeX 后第一步,建议你找一段最简单的代码编译,确认软件安装没问题后再开始后面的学习,可以参考如下代码
\documentclass{article}
% 导言区
\usepackage[margin = 2cm]{geometry}
\usepackage{amsmath, amssymb}
\title{Test \LaTeX}
\author{Ljguo}
\date{\today}
\begin{document}
% 正文区
\maketitle
\section{Test}
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
\end{document}
确保 LaTeX 安装无误后,请不要找任何模板来编译,也不需要你写任何代码,因为这个时候你 “啥也不懂”,学任何一门语言/框架之前,都建议先通读一篇手册/官方文档,LaTeX 亦不例外,我推荐你看一看 lshort-zh-cn / 一份(不太)简短的 LATEX 2ε 介绍,初读着不希望你逐字逐句,搞懂每一行代码,即使你一行代码也没记住那也没关系。但你需要带着如下的目的去读:
先大概了解一下 LaTeX,以及和你以后需要用到的命令、环境打个招呼.
当你完成了如上工作,对于一般的问题,即使你不会写代码,你也应该知道这份文档里面有,就在某个章节里面有叙述/提到过,剩下的就是查字典了.
接下来,你就可以开始慢慢的完成一些简单的文章的排版了,在这过程中慢慢的熟练常用的宏包和命令,切忌死记硬背.
遇到报错
遇到报错可以先自行排错,可以使用注释掉你觉得可能出问题的代码部分,然后再编译看看报错情况,一步一步地定位错误,最后再想办法解决它.
解决办法包含:
提问
当你遇到你解决不了的问题的时候,你可以向别人提问,以下是对提问的一些建议
- 不要对着你的屏幕拍照!!!(这时候没有人关心你的像素或者拍照技术有多好)
- 提供 MWE(最小工作示例), 这是为了让回答者更加充分的了解你的问题,具体的可以参考下面这张图
- 如果回答者让你提供代码,注意,这里指的是代码文本,而不是代码截图,所以应提供上一点提到的 MWE
- 详尽的描述你的问题,把你遇到的问题,尝试过的方案都列出来,不要挤牙膏(别人问一句答一句)
代码结构优化
当你要写一个大型文档的时候,就需要考虑代码拆分了,拆分主要针对如下部分
- 导言区,导言区一般用于加载宏包以及自定义命令等,这部分可以单独抽离出来放到一个 tex 文件中,然后通过
\input
命令导入进来,如果常用的话可以写成一个 .cls 或者 .sty 文件 - 章节,章节内容如果比较多的话,建议按照
chapter
或者 section
分拆成多个 tex 文件,然后在主文件中通过 \input
或者 \include
命令导入
参考目录结构
main.tex
ref.bib
format/
format.tex
package.tex
...
pages/
Section1.tex
Section2.tex
....
figures/
fig1.png
fig2.png
...
...
内容格式分离
LaTeX 的特性之一便是内容与格式分离,看如下代码
{\noindent \textbf{定理 1}(xxx定理). \textit{xxxx}}
{\noindent \textbf{定理 2}(xxx定理). \textit{xxxx}}
{\noindent \textbf{定理 3}(xxx定理). \textit{xxxx}}
{\noindent \textbf{定理 4}(xxx定理). \textit{xxxx}}
如果按照内容与格式混合的思维来看待这段代码,那就是
如果按照内容与格式分离的思维,那么就是
改进如上代码
\newcounter{theorem}
\newenvironment{theorem}[1]{%
\stepcounter{theorem}
{\noindent\textbf{定理 \thetheorem}(#1). \itshape}
}{}
\begin{theorem}{勾股定理}
设直角三角形的三条边长分别是 $a$, $b$ 和 $c$,其中 $c$ 是斜边边长,则有 $a^2 + b^2 = c^2$ 成立.
\end{theorem}
\begin{theorem}{xxx定理}
设直角三角形的三条边长分别是 $a$, $b$ 和 $c$,其中 $c$ 是斜边边长,则有 $a^2 + b^2 = c^2$ 成立.
\end{theorem}
入门资料,免费知识代码:
https://flowus.cn/latex/share/66110e84-b24a-4cd5-b8a7-2ba2afb35a30
精心制作免费视频教程:
https://space.bilibili.com/209746320