之前从来没有用过LaTeX,也没听说过LaTeX这个东东,最近的参加学校的数学建模的美赛选拔,要求最后的作品需要用LaTeX进行排版,基本上都是借助模板来进行排版的,当然也发现了LaTeX的强大
什么是LaTeX
LaTEX(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/),文字形式写作LaTeX,是一种基于TEX的排版系统,由美国计算机科学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式系统的处理,即使用户没有排版和程序设计的知识也可以充分发挥由TEX所提供的强大功能,不必一一亲自去设计或校对,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学、化学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
LaTEX使用TEX作为它的格式化引擎,当前的版本是LaTEX2ε。
和word的区别
–
Word是一种即写即显示的文本编辑器,平时很常用,但是在排版的过程比较复杂,有时需要消耗的时间很多。
和markdown的区别
–
感觉两者还算是比较相似,都是通过一定的语法生成对应的排版完成的文件,自动排版确实有很大的好处,前提是要掌握一定的语法
LaTeX主要是对于论文、学术报告进行编辑,更加专业一些,排版更加公证,语法也相对难一些,而且需要编译、运行生成对应的PDF。而markdown更多的是平时文本编辑,语法相对简单一些。
LaTeX和web的关联
–
我最开始看LaTeX时,感觉这完全是web的翻版,在网上看了一张图片,关于两者的相似之处讲的很好
LaTeX的安装
自己了解到的主要的LaTeX主要就是Ctex和texlive两种,texlive更专业一些,Ctex更适合入门
下面是自己的安装包
texlive 密码:y40r
Ctex 密码:aq6s
texlive太大,安装比较慢,当时比赛就确定使用Ctex,同时也安装SumatraPDF并设置为默认PDF阅读器
在安装之后会有一个专门的Windit的编辑器
LaTeX的简单使用
LaTeX常用文件和功能
LaTeX模板常见文件类型 | 功能简要介绍 |
.dtx | Documented LaTeX sources,宏包重要部分 |
.ins | installation,控制 TeX 从 .dtx 文件里释放宏包文件 |
.cfg | config, 配置文件,可由上面两个文件生成 |
.sty | style files,使用\usepackage{…}命令进行加载 |
.cls | classes files,类文件,使用\documentclass{…}命令进行加载 |
.aux | auxiliary, 辅助文件,不影响正常使用 |
.bst | BibTeX style file,用来控制参考文献样式 |
我们主要编写.tex文件来进行文件排版
用Windit来打开LaTeX,可能会出现打开失败
如果打开失败,主要是识别码的问题,LaTeX这东西对于中文的兼容真是差到了无法让人容忍的境地,那就把打开方式换成UTF-8的形式
LaTeX还有一个反向搜索的功能,可以通过点击生成的PDF文件部分返回.tex所对应
的部分。这样可以方便操作。
这次给参加比赛的人发了一个模板,更多是在填内容,下面的用法自己在排版过程积累的只是点
主题的架构
ducumentclass{}
主要定义了整个文本的内容格式
usepackage{}
引用包,和其他语言一样调用库和包,有时也需要调用包
LaTeX一个强大原因在于环境,同一个表达式在不同的环境下显示的作用不尽相同
\begin{...}
\end{...}
尤其数学环境,算是LaTeX虽然麻烦但是仍在论文和学术方面很受欢迎的原因。
正文环境
\begin{document}
\end{document}
这和HTML标签实在太像了,里面写正文就可以了^_^。
\input{}
相当于文件间的引用,如果一个文件比较大,我们只用一个.tex文件来编写会因为文件过程在找bug时带来不必要的麻烦。如同编程时主函数不应该长一样。
\tableoscontents
生成目录,会根据你的标题自动进行排版出页码和目录。
\setction{}
\subsection{}
\subsubsection{}
各级别的标题,subsection是setction的小标题,剩下的都类似,section{}下面填写内容时在会自动按标题划分你的内容,比起word还是要方便一些的,同时在content会自动加上序号。
如果我们不想让它在目录中出现序号,可以使用
\section*{}
这样目录生成时不会把该标题列入序号。
对于LaTeX的整体架构也不算很清楚,但是可以先用别人的模板,自己去慢慢地了解,逐渐熟悉到最终定义自己的框架
LaTeX的数学公式
–
LaTeX被广泛的应用在论文、学术报告等学术领域,更多的还是因为LaTeX强大的数学公式,比起平时常用的公式编辑器感觉要强上不少。
但是数学公式有一个前提,那就是必须的在数学环境下进行使用。
我的体会是LaTeX和markdown在数学公式编辑方面整的太相似了。
1. 数学公式环境
LaTeX 的数学模式有两种:行内模式(inline)和行间模式(display)。前者在正文的行文中,插入数学公式;后者独立排列单独成行。
$ ... $ //行内插入
$$ ... $$ //行外插入
编写数学公式时经常使用的环境
\begin{equation}
\end{equation}
- 但凡键盘敲不出来的,说明可以通过转义字符转义对应的字符来表示
一个简单的小栗子
$\sum \uppercase\expandafter{\romannumeral20} \romannumeral1 $
在数学环境下就会显示其意义
3.上下标
^{} //上标
_{} //下标
它默认只作用于之后的一个字符,如果想对连续的几个字符起作用,请将这些字符用花括号{}括起来,也就是下面分组的概念
4.分组。很简单,就是用{…}将内容包含起来视作整体,比如上下标很长的时候。遇到什么时候得到的效果不是预期,那么很可能你需要加个分组,也就是添个大括号{…}
其实很很多的数学公式的转义在Windit中都有辅助工具栏
关于LaTeX数学公式的一个网站MathJax basic tutorial
LaTeX下排版的常用操作
换行
\\
\newline
换页
\newpage
插入图片
\begin{figure}[!htb]
\centering\small
\includegraphics[width=\textwidth/*大小可以调整*/]{//图像名}
\caption{//图片表述}
\label{fig:aa}
\end{figure}
插入表格
\begin{table}[!hbp]
\begin{tabular}{|c|c|c|c|c|} //表格形式
\hline
content & content & content & content & content \\
\hline
content & content & content & content & content \\
\hline
\end{tabular}
\caption{//表格名称}
\end{table}
控制表格内容换行
\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
\tabincell{c}{content\\ content \\ content}
插入文件中的代码
\VerbatimInput{//文件名}
因为论文确实写的内容不算丰富,所以用的功能比较少,以后还会继续总结的
最后附上自己选拔赛的LaTeX文件包以及最后的成品
2017数模B题