科研人快速入门LaTex到日常使用,下载安装配置,语法使用说明等
1 前言
Latex是一款开源免费并且应用相当广泛的排版工具,被⼴泛运⽤在各个⾏业,⽐如学术界、出版界。LaTeX 和 Word 相比,LaTeX 入门者更能写出漂亮的文档。它不但能对文字、公式、图片进行精确而复杂的排版,并且还能保证全文各个章节格式的一致性。像大家平时看到的论文、书籍无一例外都是使用LaTex生成的。
LaTex同时提供相当数量的宏包,作为对基础排版功能的扩充。像乐谱、原理图,甚至简单的动画也都可以用它完成。如果你正在求职,使用LaTex来做一份专业的简历也可能会让你在众人之中脱颖而出。
本文整理了目前已知的搜罗到的各种相关入门介绍,消除对LaTex复杂难用的刻板印象,快速上门入手这款文字排版的必备神器。
了解更多:LaTex官网 https://www.latex-project.org/
2 LaTex介绍
LaTex的主要优势是它会将文档的内容和排版区分开来,这就好像是HTML和CSS的关系。另外如果你使用过Markdown这款编辑器的话,你会更清楚地了解到它也是一种将内容和排版分开的标记语言,比如本文就是用Markdown编写的。Markdown的语法非常轻量,非常适合于简单文字的创作,像很多WIKI,比如GitHub的文档、程序员的博客等大多数都是采用的Markdown语法生成的。
和Markdown类似,LaTex的格式和排版也可以随后轻易地替换,通常也就是一两行代码的事,例如你可以轻易的将一篇普通文档切换为科学期刊,甚至是幻灯片。当然每个工具都有适用的地方,LaTex也不能应用与所有的情况。如果只是记记笔记,不怎么需要大篇幅排版的情况下,使用Word这种所见即所得的工具自然也会方便很多。
如果你认为我上面说明还不是太清楚的话,那么推荐一份大名鼎鼎的文档《一份不太简短的LaTex介绍》,对想要迅速了解LaTex的人来说仍有些略长,但内容较为系统,相对简短,仍具有很大的指导意义。
网站地址:https://ctan.org/tex-archive/info/lshort/chinese
进去之后点击下载中文文档即可。
我这里也提供了一个镜像地址(随版本更新),可以直接下载:一份不太简短的LaTex介绍http://mirrors.cqu.edu.cn/CTAN/info/lshort/chinese/lshort-zh-cn.pdf
3 下载安装
常用的Tex发行版一般有两个:Tex Live 和MikTex
Tex Live 提供的包很全,但占用空间大,4点多个G。MikTex占用空间小,安装速度快,但如果遇到本地缺少的包则需要联网下载,大家可以根据自己的实际情况考虑。如果你的网络连接不太稳定,则可以选择下载TexLive,一劳永逸。
3.1 TexLive下载
TexLive官网地址:https://tug.org/texlive/
官网下载太慢,可以使用国内镜像来加速下载
- 清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
- 北京外国语大学开源镜像站:https://mirrors.bfsu.edu.cn/CTAN/systems/texlive/Images/
- 南方科技大学开源镜像站:https://mirrors.sustech.edu.cn/CTAN/systems/texlive/Images/
可以在以上网址中下载TexLive离线安装包,不过TexLive的安装速度有点慢,需要耐心等待。
3.2 安装教程
可参考:TexLive 安装步骤 2022版
3.3 在线使用版
当然,还有另一种方式,如果不希望配置本地环境,只是想快速尝试的话,也可以使用Overleaf,官网地址:https://www.overleaf.com/,这款可以免费在线使用的Tex编辑器。
4 LaTeX编辑器
关于 LaTeX 的编辑器有很多:Texworks、TeXstudio、WinEdt、Sublime Text 3、VS Code、Vim、Emacs 等。
- Texworks 是 TeX Live 自带的编辑器,对英文支持比较好。
- Sublime Text 3是个人特别喜欢的高级编辑器,用它来写代码非常炫酷,也可以配置 LaTeX 环境。高级编辑器的查找功能特别好用。
- VS Code被称为「宇宙第一编辑器」的 VS Code (Visual Stuido Code) 当然也可以作为 LaTeX 的编辑器。
- WinEdt 是 Windows 平台上一款功能强大,界面简洁的 LaTeX 编辑器。WinEdt 10 (最新的版本是 WinEdt 10.3) 相比老版本界面更加简洁,而且支持高分屏,更加好用。
- TeXstudio是很多网友推荐的编辑器,它也非常好用。对于刚入门的 LaTeX 学习者,推荐使用 WinEdt 或 TeXstudio,因为它们属于专业的 IDE,也就是专门为 LaTeX 开发的软件。
4.1 下载TeXstudio
TeXstudio优于TeXlive自带的TeXwork editor编辑器,大概可以理解为Java的各种编译器
官网下载地址:http://texstudio.sourceforge.net/
官网下载太慢了。。。
其他地址:
-
阿里云盘:
链接:https://www.aliyundrive.com/s/x1sitTcbNtH
提取码:DFwd -
百度网盘
链接:https://pan.baidu.com/s/1du7_V5vaWqKXxIV4VcEe8w -
我的云盘:https://yun.macw.cc/s/4xfmjg
4.2 安装程序
傻瓜式安装,只需要注意一下安装路径。
可以选择更改安装路径,也可以选择默认直接下一步。
4.3 配置程序
- 1)将软件设置为中文,打开软件,点击顶部的Options,然后选择Configure TexStudio…
再选择General,设置为中文
- 2)选择XeLaTeX为编译命令
XeLaTeX命令可以编译中文,如果为PdfLaTeX编译中文会报错的。
- 3)查看命令
正常的情况就是安装之后就会自动扫描出来各种命令自动添加,如果显示的不是这样的,那就是安装LaTeX的时候出现了错误(环境变量没有配置好)。这一点的解决方法请搜索 LaTeX环境变量的配置
- 4)测试
Ctrl+N
新建一个文件,输入以下代码,来一个最简单的示例:
LaTex中所有的命令都以\
开头,后面可以跟一个花括号{},代表这个命令的参数。\命令名{}
\documentclass{article}
\begin{document}
``Hello world!'' from \LaTeX.
\end{document}
这是一个最基础的示例,也就是一个Tex文档最少要包含documentclass,begin和end三条命令语句,接下来演示一个完整一点的,后面再说怎么用
% 导言区
\documentclass{article}
% 导入中文宏
\usepackage{ctex}
% 构建命令,取别名,使用degree 代替 ^ circ
\newcommand\degree{^\circ}
\title{\heiti 勾股定理}
\author{\kaishu 刘一根}
\date{\today}
% 正文区
\begin{document}
\maketitle
勾股定理可以用现代的语言描述如下:
直角三角形斜边的平方等于两腰的平法和。
可以用符号语言描述为:设直角三角形
$\angle C=90\degree $则有:
$$
AB^2 = BC^2 + AC^2
$$
这就是勾股定理
\end{document}
点击构建并查看
或快捷键F5
来查看。
参考文章:https://blog.csdn.net/weixin_45832959/article/details/123093209
5 利用LaTeX编写文档
5.1 文档类型
TeX有多种文档类型可选,较常用的有如下几种类型:
- 对于英文,可以用
book
、article
和beamer
; - 对于中文,可以用
ctexbook
、ctexart
和ctexbeamer
,这些类型自带了对中文的支持。
不同的文件类型,编写的过程中也会有一定的差异,如果直接修改文件类型的话,甚至会报错。
- article:文章格式的文档类,广泛用于科技论文、报告、说明文档等。对应中文的
ctexart
- book:书籍文档类,包含章节结构和前言、正文、后记等结构。对应中文的
ctexbook
- beamer:幻灯片类,可以创建外观很棒的演示文稿,具有海量的模板可以用。对应中文的
ctexbeamer
- report:长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单的书籍等。
以下统一选用ctexart。在编辑框第一行,输入如下内容来设置文件类型:
\documentclass[⟨options⟩]{⟨class-name⟩}
例如
\documentclass{ctexart}
所有位于\begin{document}
之前的内容都称作是前言(preamble),他就像是HTML中的head标签,可以在这里设置文档的格式,页面的尺寸,也可以指定文档中需要导入的宏包等等
另外,一般也可以在\documentclass
处设置基本参数,可选参数 ⟨options⟩ 为文档类指定选项,以全局的规定一些排版的参数,如字号、纸张大小、单双面等等。比如调用 article 文档类排版文章,指定纸张为 A4 大小,基本字号为 11pt,双面排版。
笔者通常设置默认字体大小为12pt,纸张大小为A4,单面打印。需要将第一行的内容替换为:
\documentclass[12pt, a4paper, oneside]{ctexart}
文件的正文部分需要放入document环境中,在document环境外的部分不会出现在文件中。
\documentclass[12pt, a4paper, oneside]{ctexart}
\begin{document}
这里是正文.
\end{document}
5.2 宏包
在使用 LATEX 时,常常需要依赖一些扩展来增强或补充 LATEX 的功能,比如排版复杂的表格、插入图片、增加颜色甚至超链接等等。这些扩展称为宏包。调用宏包的方法非常类似调用文档类的方法:
\usepackage[⟨options⟩]{⟨package-name⟩}
通常与数学公式与定理环境相关的宏包为amsmath、amsthm、amssymb,用于插入图片的宏包为graphicx,代码如下:
\usepackage{amsmath, amsthm, amssymb, graphicx}
另外,在加载宏包时还可以设置基本参数,如使用超链接宏包hyperref,可以设置引用的颜色为黑色等,代码如下:
\usepackage[bookmarks=true, colorlinks, citecolor=blue, linkcolor=black]{hyperref}
5.3 文件格式
除了源代码文件 .tex 以外,我们在使用 LATEX 时还可能接触到各种格式的文件。本节简单介绍一下在使用 LATEX 时能够经常见到的文件。
每个宏包和文档类都是带特定扩展名的文件,除此之外也有一些文件出现于 LATEX 模板中:
- .sty 宏包文件。宏包的名称与文件名一致。
- .cls 文档类文件。文档类名称与文件名一致。
- .bib BibTeX 参考文献数据库文件。
- .bst BibTeX 用到的参考文献格式模板。
LTEX 在编译过程中除了生成 .dvi 或 .pdf 格式的文档外9,还可能会生成相当多的辅助文件和日志。一些功能如交叉引用、参考文献、目录、索引等,需要先通过编译生成辅助文件,然后再次编译时读入辅助文件得到正确的结果,所以复杂的 LATEX 源代码可能要编译多次:
- .log 排版引擎生成的日志文件,供排查错误使用。
- .aux LATEX 生成的主辅助文件,记录交叉引用、目录、参考文献的引用等。
- .toc LATEX 生成的目录记录文件。
- .lof LATEX 生成的图片目录记录文件。
- .lot LATEX 生成的表格目录记录文件。
- .bbl BIBTEX 生成的参考文献记录文件。
- .blg BIBTEX 生成的日志文件。
- .idx LATEX 生成的供 makeindex 处理的索引记录文件。
- .ind makeindex 处理 .idx 生成的用于排版的格式化索引文件。
- .ilg makeindex 生成的日志文件。
- .out hyperref 宏包生成的 PDF 书签记录文件。
5.4 标题
标题可以用\title{}
设置,作者可以用\author
设置,日期可以用\date{}
设置,这些都需要放在导言区。为了在文档中显示标题信息,需要使用\maketitle
。例如:
\documentclass[12pt, a4paper, oneside]{ctexart}
\usepackage{amsmath, amsthm, amssymb, graphicx}
\usepackage[bookmarks=true, colorlinks, citecolor=blue, linkcolor=black]{hyperref}
% 导言区
\title{我的第一个\LaTeX 文档}
\author{Macw}
\date{\today}
\begin{document}
\maketitle
这里是正文.
\end{document}
5.5 正文
正文可以直接在document环境中书写,没有必要加入空格来缩进,因为文档默认会进行首行缩进。相邻的两行在编译时仍然会视为同一段。在LaTeX中,另起一段的方式是使用一行相隔,例如:
我是第一段.
我是第二段.
这样编译出来就是两个段落。在正文部分,多余的空格、回车等等都会被自动忽略,这保证了全文排版不会突然多出一行或者多出一个空格。另外,另起一页的方式是:
\newpage
在编写文档时,为了保证美观,通常将中文标点符号替换为英文标点符号(需要注意的是英文标点符号后面还有一个空格),这比较适合数学类型的文档。
在正文中,还可以设置局部的特殊字体:
字体 | 命令 |
---|---|
直立 | \textup{文本内容} |
斜体 | \textit{} |
倾斜 | \textsl{} |
小型大写 | \textsc{} |
加宽加粗 | \textbf{} |
下划线 | \underline{} |
如果我们要在文章中添加一个新的段落,我们可以通过输入两个换行符来完成,需要注意的是单独的一个换行符只会生成一个空格,并不会开启一个新的段落。
5.6 章节
对于ctexart
文件类型,章节可以用\section{}
和\subsection{}
命令来标记,例如:
\documentclass[12pt, a4paper, oneside]{ctexart}
\usepackage{amsmath, amsthm, amssymb, graphicx}
\usepackage[bookmarks=true, colorlinks, citecolor=blue, linkcolor=black]{hyperref}
% 导言区
\title{我的第一个\LaTeX 文档}
\author{Macw}
\date{\today}
\begin{document}
\maketitle
% 一级章节
\section{一级标题}
% 二级章节
\subsection{二级标题}
这里是正文.
\subsection{二级标题}
% 三级章节
\subsubsection{三级标题}
这里是正文.
\end{document}
5.7目录
在有了章节的结构之后,使用\tableofcontents
命令就可以在指定位置生成目录。通常带有目录的文件需要编译两次,因为需要先在目录中生成.toc文件,再据此生成目录。
\documentclass[12pt, a4paper, oneside]{ctexart}
\usepackage{amsmath, amsthm, amssymb, graphicx}
\usepackage[bookmarks=true, colorlinks, citecolor=blue, linkcolor=black]{hyperref}
% 导言区
\title{我的第一个\LaTeX 文档}
\author{Macw}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{一级标题}
\subsection{二级标题}
这里是正文.
\subsection{二级标题}
这里是正文.
\end{document}
5.8 图片
插入图片需要使用graphicx
宏包,建议使用如下方式:
\begin{figure}[htbp]
\centering
\includegraphics[width=8cm]{图片.jpg}
\caption{图片标题}
\end{figure}
其中,[htbp]
的作用是自动选择插入图片的最优位置,\centering
设置让图片居中,[width=8cm]
设置了图片的宽度为8cm,\caption{}
用于设置图片的标题。
5.9 表格
LaTeX中表格的插入较为麻烦,可以直接使用Create LaTeX tables online – TablesGenerator.com:https://www.tablesgenerator.com/来生成。建议使用如下方式:
\begin{table}[htbp]
\centering
\caption{表格标题}
\begin{tabular}{ccc}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{tabular}
\end{table}
5.10 列表
LaTeX中的列表环境包含无序列表itemize
、有序列表enumerate
和描述description
,以enumerate
为例,用法如下:
\begin{enumerate}
\item 这是第一点;
\item 这是第二点;
\item 这是第三点.
\end{enumerate}
另外,也可以自定义\item
的样式:
\begin{enumerate}
\item[(1)] 这是第一点;
\item[(2)] 这是第二点;
\item[(3)] 这是第三点.
\end{enumerate}
5.11 定理环境
定理环境需要使用amsthm
宏包,首先在导言区加入:
\newtheorem{theorem}{定理}[section]
其中{theorem}
是环境的名称,{定理}
设置了该环境显示的名称是“定理”,[section]
的作用是让theorem
环境在每个section中单独编号。在正文中,用如下方式来加入一条定理:
\begin{theorem}[定理名称]
这里是定理的内容.
\end{theorem}
其中[定理名称]
不是必须的。另外,我们还可以建立新的环境,如果要让新的环境和theorem环境一起计数的话,可以用如下方式:
\newtheorem{theorem}{定理}[section]
\newtheorem{definition}[theorem]{定义}
\newtheorem{lemma}[theorem]{引理}
\newtheorem{corollary}[theorem]{推论}
\newtheorem{example}[theorem]{例}
\newtheorem{proposition}[theorem]{命题}
另外,定理的证明可以直接用proof环境。
5.12 页面
最开始选择文件类型时,我们设置的页面大小是a4paper
,除此之外,我们也可以修改页面大小为b5paper
等等。
一般情况下,LaTeX默认的页边距很大,为了让每一页显示的内容更多一些,我们可以使用geometry
宏包,并在导言区加入以下代码:
\usepackage{geometry}
\geometry{left=2.54cm, right=2.54cm, top=3.18cm, bottom=3.18cm}
另外,为了设置行间距,可以使用如下代码:
\linespread{1.5}
5.13页码
默认的页码编码方式是阿拉伯数字,用户也可以自己设置为小写罗马数字:
\pagenumbering{roman}
另外,aiph
表示小写字母,Aiph
表示大写字母,Roman
表示大写罗马数字,arabic
表示默认的阿拉伯数字。如果要设置页码的话,可以用如下代码来设置页码从0开始:
\setcounter{page}{0}
5.14 上下标
上标可以用^
输入,例如a^n
,效果为a^n 。
下标可以用_
来输入,例如a_ 。
上下标只会读取第一个字符,如果上下标的内容较多的话,需要改成^{}
或_{}
。
6 总结
这个教程比较简短,涉及到的东西也比较少,耐心学习完后,应该能满足日常使用的需求。
另外本文中没有提及的其他语法说明,请下载第2节中的PDF文件参阅详细说明,本文第5节语法说明部分也是参考该文档而来。
本文中还没有提及的研究如何美化排版,或是使用网络上的精美模板,让排版的效果更好。
以及导入期刊给定的Tex模板等内容,由于篇幅太长本文就不再总结,后续再新写一篇文章总结下如何下载期刊模板,如何导入TexStudio等内容,敬请关注。。。。