LaTeX概览
摘自维基百科:

LaTeX, 是一种基于TEX的排版系统,由美国电脑学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式,即使用户没有排版和程序设计的知识也可以充分发挥由TEX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。

简单点说:LaTeX 基于 TeX,主要目的是为了方便排版。在学术界的论文,尤其是数学、计算机等学科论文都是由 LaTeX 编写, 因为用它写数学公式非常漂亮。

我的一点理解:

在稍微了解一点 LaTeX 后,你会发现 LaTeX 的工作方式类似 web page,都是由源文件(.tex or .html)经由引擎(TeX or browser)渲染产生最终效果(得到 PDF 文件 或者 生成页面)。两者极其神似,包括语法规则与工作方式。所以呢,与 HTML 一样,入门其实很简单。

一般的规范写法中都是在 HTML 文件中写入 web page 的结构与内容,再由 css 控制页面生成的样式。当然你也可以选择在 HTML 中直接写入样式内容,不过这并不提倡。同样,在 LaTeX 有着同样的情况,你可以在 tex 源文件中同时写入内容和样式,也可以内容与样式分离,以网络上流传广泛的 清华大学 LaTeX 模板为例,以.cls(class)结尾的 thuthesis.cls 便可看作是与 css 起到同样作用的样式文件。

LaTeX 有所谓宏包的概念,\usepackage{foo} 即可使用宏包 foo 中定义的内容。所谓宏包就是一些写好的内容打包出来以便大家使用而已。这跟 C 语言的 include 是一致的,将文件加载进来进行使用。利用宏包,我们可以使用很多现成的好用的样式。当然了,如果要编写一个自己的个性化的宏包也是可以的,不过需要学习成本。

初期的话,我们可以选择一个 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,用来控制参考文献样式
class 与 style 似乎十分相像,它们在功能上的确很相似,但是也有区别。这里 是关于 .cls 与 .sty 文件的区别.

额外推荐阅读材料: 来自北京大学李东风老师的 LaTeX 排版心得.

安装配置LaTeX
LaTeX 配置环境很简单,只需 2 步:

根据平台选择一个 TeX 发行版 进行安装,建议选择最全功能最多的版本。

TeX 发行版的概念相当于 Linux 及其发行版,Linux 内核虽然只有一个,但是有很多基于内核的不同特色的 Linux 发行版,Ubuntu,Fedora 等等不胜枚举。

OS    TeX Distribution
Windows    CTeX
Mac    MacTeX
Windows, Linux    TeXLive
Windows 用户推荐 TeXlive,不推荐 CTeX。我一开始安装的是 CTeX,在 TeXstudio 里面时常有一些莫名其妙的错误,比如明明定义了一个命令,在 log 里面还是会显示 error:undefined control sequence,换了 TeXlive 就没有那些莫名其妙的错误了。

不过 TeXlive 在线安装太慢了,安装包太大,两三个 G,这里是百度云链接 2015 TeXlive  https://pan.baidu.com/share/init?surl=jHfUzWy 离线安装包, 提取密码2cj2,解压缩后运行 install-tl-windows.bat 即可。Mac用户推荐使用 MacTeX.

选择一个合适的 LaTeX 编辑器。

在安装好LaTeX环境以后,通常都会有一个自带的编辑器,比如 CTex 的WinEdt, MacTeX的TeXShop, 不过功能并不强大,好比 Windows 记事本,只有一些基本的文本编辑功能。

在这里推荐一个我觉得还不错的LaTeX编辑器:TeXstudio。我试过 WinEdt,TeXnicle,不过都比不上 TeXstudio。在 WinEdt 下面无法编译的文件,居然可以在 TeXstudio 中编译生成最终效果 (虽然 log 里面显示 error,但的确产生了效果)。总之,用 TeXstudio 就对了, 而且它是用 qt 写的,还跨平台。

TeXmacs 有兴趣的也可以了解一下,王垠也在博客中推荐过。

开始第一个 LaTeX 文档
打开 TeXstudio,新建一个 TeX 文件,写入以下内容:

\documentclass{article}
\begin{document}
Here comes \LaTeX!
\end{document}
点击 F5(默认快捷键)compile and view,即可看到效果。

至此,一个极简易的 LaTeX 文档已经完成。以后要做的事情不过是多用多查,熟能生巧。此外记得找本 LaTeX 的书籍看一下,一来对于更为精细的知识做一个了解,二来可以作为工具书查询。我经常查的是 «LaTeX入门与提高 第二版»。

LaTeX数学公式
学习 LaTeX 的一大初衷便是为了写漂亮的数学公式。而于我个人而言,数学公式的练习始于 markdown,很多 markdown 编辑器是支持 LaTeX 数学公式的,比如 haroopad。

以下内容直接在支持数学公式的 markdown 编辑器中即可操作,而且是即时显示效果,对新手很有帮助。如果使用 haroopad,请在 偏好设置 中 启用数学表达式。

学会写 LaTeX 公式,只需要了解 4 个概念:

数学公式环境。

LaTeX 的数学模式有两种:行内模式(inline)和行间模式(display)。前者在正文的行文中,插入数学公式;后者独立排列单独成行。

在行文中,使用 \$ ... \$ 可以插入行内公式,使用 \$\$ ... \$\$ 可以插入行间公式,如果需要对行间公式进行编号,可以使用 equation 环境.

控制序列。

凡是键盘不能够直接表示的符号或者起着特定作用的皆有命令,类似转义,叫做控制序列(control sequence)。比如求和符号$\sum$对应的命令为 \sum.

上下标。

_{...}表示下标,^{...}表示上标。它默认只作用于之后的一个字符,如果想对连续的几个字符起作用,请将这些字符用花括号{}括起来, 也就是下面分组的概念。

分组。

很简单,就是用{...}将内容包含起来视作整体,比如上下标很长的时候。遇到什么时候得到的效果不是预期,那么很可能你需要加个分组,也就是添个大括号{...}.

LaTeX命令    预览效果
\$ x_i \$    $x_i$
\$ x^2 \$    $x^2$
\$ x^ {y^z}\$    $x^{y^z}$
\$ \int_a^b f(x)\$    $\int_a^bf(x)$
\$ \frac ab \$    $\frac ab$
有了这几个概念以后,再动手写几个就大概懂了。无论多么复杂的公式都是有一个个简单的东西构成。推荐一个网站:MathJax basic tutorial .

LaTeX 中文支持
不同环境具体操作有所不同,造成这种不同的主要是各平台下的字体不同。下面介绍 Windows 与 Mac 平台。

Windows平台比较简单, 引入 CJK 宏包并应用 CJK 环境即可。

\documentclass[11pt]{article}  %百分号表示注释
\usepackage{CJK}               %引入CJK宏包
\begin{document}               %begin与end成对出现
\begin{CJK}{UTF8}{song}        %应用CJK环境
你好
\end{CJK}
\end{document}
LaTeX将

\begin{...}
content
\end{...}
称为 ... 环境。在对应环境中 content 产生对应效果。

还有一个更方便的方式,直接使用ctexart模板:

\documentclass[UTF8]{ctexart}
或者使用 ctex 宏包:

\usepackage{ctex}
如果 Mac 下直接使用 ctex 有问题的话, 可以使用 xeCJK ,不过可能需要稍微多几个操作,除了引入xeCJK宏包,还要设置字体名称。测试系统为osx 10.11.3, 关于设置字体名称,spotlight 输入 font 打开 Mac 的字体册,从字体中选择一个,将其名称填入,如华文楷体的名称为 STKaiti 。 如果没有显示字体名称,请 command + I 或在显示–>显示字体信息即可。

LaTeX 资源推荐
Detexify LaTeX handwritten symbol recognition.

通过手写识别 LaTeX 符号,识别率很高。尤其是当看到一个符号却不知道其 LaTeX 命令的时候它很有用。只要画出记忆中符号的样子,就会自动出现各种可能想要的表示方法。

LaTeX公式编辑器  http://zh.numberempire.com/texequationeditor/equationeditor.php

对于尚不熟悉的人书写 LaTeX 公式提供一点便利。

在线LaTeX编辑器shareLaTeX

https://cn.sharelatex.com/

好处就是不用本地搭建环境,有中文界面,直接在线操作。还有很多 LaTeX 模板可供选择。

LaTeX数学符号
LaTeX具有十分强大的数学符号编辑功能

1.LaTeX语法有两种控制符可以用来控制生成数学公式
$……$ 生成的数学公式与文字并列
……
……
 生成的数学公式独占一行
通过$…$控制符来生成数学行内公式:

例子:

语句:$y=\sum_{b}^{a}x^2$_

运行生成之后:

通过


控制符来生成数学块公式:

例子:

语句:
y=∑bax2
y=∑bax2
运行生成之后:

2.有了前面两种数学公式的控制语句之后我们就可以开始在里面编辑数学公式了
我们可以把数学公式的编辑分为语法(结构)和元素(内容)两部分

一个字符或字符串可以称为元素,由中括号{}括起来的语句也可以称为元素

举个栗子:

公式:$\sum_{b}^{a}{x_i}$ 
运行生成之后:

在这个例子中\sum_{}^{}{}就是一个语法产生这样的结构,x_i中的_也可以看成是一个产生下标的语法

而b、a、{x_i}就可以看成是元素

有了语法和元素的概念之后就可以通过查文档或者百度的方法获得各种各样的数学符号了

需要注意的一点:因为控制语句$ _ { }等在公式表达中用来控制语句的结构,所以如果我们要在公式中使用这些符号就需要用到转义字符来表示

比如要得到,就在公式中就需要用到\{和\}来表示前后中括号,$\frac{1}{\{a+b\}}$

同样如果要表示\就需要这样写:\\

更多的数学符号表示可以参考网上一份总结:http://www.mohu.org/info/symbols/symbols.htm

四:论文格式控制
论文格式的命令控制语法和类似于HTML的标签式语言

下面列举一些常用的排版格式控制语句:

1.整体格式控制

\ begin{XXX}…..\end{XXX}    表示一个段落,XXX填document表示整篇文章,abstract表示摘要。。。
\newpage    新起一页
\setcounter{page}{1}    设置页码计数器从当前页面开始之后每页自动加上页码
\section{XXX}    段落,XXX为段落标题
\subsection{XXX}    子段落

2.语句编辑

\indent…….    缩进
\noindent    不缩进(如果本身就没有缩进就不用加)
\\    换行,不另起一段
\par    换行,另起一段(首行缩进)
\bf    加粗
{…}    语句块,和之前latex数学符号中的作用类似
$…$    行内数学公式


数学公式块
\url    加入超链接(一般用于参考文献那里)

3.插入图片

\centerline{\includegraphics[height=X.Xcm]{图片名.后缀名}}    插入图片设置图片高度(大小),要插入的图片放在figures文件夹里面
\centerline{XXXX}    图片下方文字标注

4.插入表格

\ begin{table}…\end{table}    插入表格块控制语句
\ begin{tabular}{{p{3cm}|p{3cm}|p{3cm}|p{3cm}}… \end{tabular}    控制表格每一列的宽度
\centering    居中
\hline    表格每一行的的横线
&    表示表格一行中的
\\    表格中一行的结束
\rowcolor[gray]{0.9}    设置一行的颜色

上面的控制语句需要在文档开头添加上相对应的包(package):

\usepackage{palatino}    字体
\usepackage{graphicx}    图片
\usepackage{tabularx}    表格

在使用的编辑文档过程中如果遇到不会的问题可以百度寻找相应的教程。数学公式可以采用MathType和latex进行关联使用。

LaTeX官方网站:https://www.latex-project.org/

CTeX官方网站:http://www.ctex.org/HomePage

2.CTeX下载安装教程
   CteX的下载可以直接在CteX官网下载页面找到下载的镜像网站,点击对应的网站选择要下载的软件即可。我下载的是CTeX_2.9.2.164的完整版本,1.3G左右。下载完成之后点击安装:

首先会需要你选择语言版本,默认语言就是中文,如需选择其他语言点击下拉框进行选择即可,

之后几步基本都是直接点击下一步,如需更改安装路径在对应的步骤中进行更改

最后的安装过程比较漫长,可以先听一下音乐或者干一些别的工作。

2.TeX Live 下载安装教程
   TeX Live 是 TUG (TeX User Group) 维护和发布的 TeX 系统,可说是「官方」的 TeX 系统。推荐任何阶段的 TeX 用户,都尽可能使用 TeX Live,以保持在跨操作系统平台、跨用户的一致性。TeX Live 的官方站点是 https://tug.org/texlive/。TeX Live 各版本的安装过程基本没有变化,故仍可参考

TeX Live下载链接

https://liam0205.me/texlive/

TeX Live 2014安装引导流程

https://zhuanlan.zhihu.com/p/19779481?columnSlug=LaTeX

TeXLive 2014安装过程演示

http://www.latexstudio.net/archives/2574
 TeXLive小白安装入门视频与必读

http://www.latexstudio.net/archives/12221

3.TeXstudio 安装手记&WinEdt
TeXstudio官网

http://texstudio.sourceforge.net/

WinEdt官网

http://www.winedt.com

3.TeX Live & TeXstudio 安装手记

http://www.cnblogs.com/joyeecheung/p/3596255.html

4. LaTeX简易教程
一份其实很短的 LaTeX 入门文档

https://liam0205.me/2014/09/08/latex-introduction/#TeX_%E5%AE%B6%E6%97%8F
(LaTex)CTex的初次使用心得及入门教程

https://blog.csdn.net/tostq/article/details/50110329
LaTeX新人教程,一小时从完全陌生到基本入门

原作者:http://blog.renren.com/share/1004803728/15161273077
        CSDN转载地址:https://blog.csdn.net/u014803202/article/details/50410748

(PS:个人感觉CSDN转载看起来比较方便)

Mac 本使用:

(1)下载Tex Live

https://liam0205.me/texlive/     download Mac version. Then install it.

(2) texstudio download, then install it.

http://texstudio.sourceforge.net

mac中文支持

在T e x s tu di o中 出现第一个错误:

Critical ctex error: "fontset-unavailable" CTeX fontset `fandol' is unavailable in current mode. For immediate help type H <return>. }
这是不要使用pdflatex,改用xelatex即可,在texstudio设置中进行修改,具体如下: 
Texstudio->preference -> Configure TeXstudio -> Build -> Default Compiler -> XeLaTex

使用宏包ctex即可直接使用中文。除了ctex还有CJK, xeCJK, 不过对于pdfLaTeX,ctex应该算是最方便的方式了。

\usepackage[UTF8]{ctex}

ubuntu中文支持

在ubuntu下使用 sudo apt install texlive-full 后,在texstudio中直接使用 \usepackage[UTF8]{ctex} 在pdflatex下编译会出现一堆错误,第一个错误便是:

Critical ctex error: "fontset-unavailable" CTeX fontset `fandol' is unavailable in current mode. For immediate help type H <return>. }
这是不要使用pdflatex,改用xelatex即可,在texstudio设置中进行修改,具体如下: 
Options -> Configure TeXstudio -> Build -> Default Compiler -> XeLaTex

sudo apt install texlive-full

texlive 安装详解-windows:

https://blog.csdn.net/qq_38386316/article/details/80272396

我的LaTeX入门--h相关推荐

  1. 学术写作利器——LaTeX入门笔记整理(不定期更新,附加使用心得)

    LaTeX入门教程(上) 比Word更适合学术写作的编纂语言 Credit:讲座是敝系的几个技术宅办的,作者只负责记录和整理.后面的更新是个人心得. 写这篇日志的初衷是小圈子分享和个人心得记录,适合完 ...

  2. Latex入门篇之论文排版

    Latex入门篇 1. 概述 1.1 Latex作用 1.2 初识Latex 2. Latex模板的使用 3. Latex排版的正经讲解 3.1 关于tex File文件 3.2 关于普通文本 3.3 ...

  3. Latex入门教程用法笔记(结尾附完整示例)

    以下是我在Latex使用过程中用到的一些语法,可能不是很全面,但是足够我使用了.有说错的地方还请大家谅解,在评论区多多指正-下面分为几个部分说明(注意导入所需要的包!可参照文章末尾完整示例里的用法) ...

  4. [论文阅读] (01) 拿什么来拯救我的拖延症?初学者如何提升编程兴趣及LATEX入门详解

    又是在凌晨三点赶作业,又是在Deadline前去熬夜,一次次无眠,一次次抱怨.为什么三年前.两年前.一年前,甚至是昨天,我都下定决心"从现在开始读顶会论文",却又悄悄选择逃避:为什 ...

  5. LaTeX入门最终集 :LaTeX格式的调整LaTeX中怎么打出数学公式LaTeX的各种上下标

    LaTeX入门最终集!LaTeX格式的调整!LaTeX中怎么打出数学公式!LaTeX的各种上下标! 一.资源 Latex设置A4页面及页边距调整 atex 编译Underfull \hbox (bad ...

  6. LaTeX入门第二集!LaTeX的几个示例!

    LaTeX入门第二集!LaTeX的几个示例! 一.基本入门教程视频 latex中文教程-15集从入门到精通包含各种latex操作 二.几个示例 LaTeX源文件的基本结构 % 导言区 \documen ...

  7. LaTeX入门第一集!LaTeX下载资源分享!LaTeX教学资源分享!TeXstudio下载资源分享!

    LaTeX入门第一集!LaTeX下载资源分享!LaTeX教学资源分享!TeXstudio下载资源分享! 一.下载资源 以下提取码均为210916 LaTex下载资源(腾讯微云版) LaTex下载资源( ...

  8. 一份其实很短的 LaTeX 入门文档

    一份其实很短的 LaTeX 入门文档 优雅的 LaTeX 有很多 Geeks 或者 LaTeX's Fanatical Fans 过分地强调了 LaTeX 的一些并非重点的特性,以至于很多初学者会觉得 ...

  9. Latex指南(part2)--Latex入门之组织文档结构

    学习笔记,仅供参考,有错必纠 参考资料:刘海洋 · LaTeX 不快速的入门 - 跟着大神学习最纯正的 LaTeX 知识; 课件 文章目录 Latex入门 文档的组成 Latex文档基本结构 文档部件 ...

最新文章

  1. SpringCloud中Hystrix容错保护原理及配置,看它就够了!
  2. Python数组合并
  3. 脱壳学习之加壳的概念
  4. python—多进程之进程之间通信
  5. 吐血大奉献,打造cnblogs最新最火辣的css3模板(IE9以下请勿入内) -- 第一版
  6. ​Linux下C如何调用PCI Lib函数
  7. 腾讯开源软件镜像站上线
  8. 轻拢慢捻,微服务熔断大总管
  9. java 补丁_java SP3补丁说明
  10. 计算机ps移动是什么键,ps快捷键都有哪些 移动工具V等
  11. 第10章 模糊查询和聚合函数
  12. 多用途手机登录页面模板
  13. 命主属性是水什么意思_五行为水的命主会有怎么样的性格特点
  14. DB2相关数据库命令
  15. 数据解读 | 广东省内,谁才有资格做下一个深圳?
  16. 网站推广----献给广大站长(转载)
  17. 利用XSL和ASP在线编辑XML文档
  18. 有关七巧板复原的算法初步探讨
  19. 网站流量统计实现在原理
  20. JSON视频讲解 | 开发者学堂

热门文章

  1. iconfont 使用规则
  2. Jekyll建站之搜索引擎收录小技巧
  3. 关于对xmms安装过程的一点总结!
  4. webpack+ES6+less开发环境搭建(附带视频教程)
  5. 美东时间php,解析美国东部时间与北京时间相互转换的实现代码
  6. MySQL下数据库习题篇:银行数据库习题(第五版)
  7. 曲鸟全栈UI自动化教学(五):Selenium的键盘鼠标事件详解
  8. java程序员求职个人简历,请各位前辈指导
  9. Golang获取整点的时间戳
  10. 手把手教你打印出PDF(fpdf的简单应用)