LaTex 学习笔记

为了解决自动化报告之类的问题,测试了几种不同的方案之后,我选了 LaTex。利用 LaTex 生成 PDF 文档可定制性强,排版精美,虽然不像 HTML 可以互动,但是 LaTex 做起来更简单明了,另外如果要自动化出纸质版报告 LaTex 就是最好的选择。

这篇文章是看《一份不太简短的 LATEX 2ε 介绍》做的笔记,其实 LaTex 一点都不难学。另外,如果你也喜欢用 Markdown ,那么就更简单了,你也会喜欢上 LaTex 的。

LaTex 的命令有点多,有的命令有点长,一下子肯定记不住这么多,随用随查即可。


LaTex 文档布局

Markdown 其实就是极简版的 LaTex。LaTex中开始一个文档之前需要先指定文档的布局方式,不同的文档布局其排版特点不同。例如:

\documentclass{article}
\begin{document}
Small is beautiful.
\end{document}

上面是一个简单的文档示例。下面是文档类型命令参数示例,指定文档为论文版式,11磅字体,双面格式排版,适合打印在 A4 纸上面。

\documentclass[11pt,twoside,a4paper]{article}

加载 LaTex 宏包

LaTex 的基础功能有时可能达不到我们的排版需求,但是有很多可用的宏包来增强排版功能,加载宏包指令:

\usepackage[options]{packagename}

LaTex 中强制换行和分页

在 LaTex 中强制换行:

\\           #换行
\newline     #换行
\*           #换行并强制不分页
\newpage     #强制分页

LaTex 中的标点符号

引号: LaTex 中的左引号和右引号是分别用不同的字符表示的

  • 左单引号为 ` ,就是 Tab 键上面 Esc 键下面那个反引号
  • 左双引号为 `` ,就是两个左单引号
  • 右单引号为 ' ,就是一个普通的单引号,分号键右边那个键
  • 右双引号为 '' ,就是两个普通的单引号

破折号,连字符和减号: LaTex 中横线符号

  • ‘-’ 一个短横线,连字符
  • ‘--’ 两个短横线,短破折号
  • ‘---’ 三个短横线,长破折号
  • '$-$' 两个美元符号夹着一个短横线,数学负号

波浪号: LaTex 中有两种波浪号

  • ‘~’ 小波浪号
  • ‘$\sim$’ 大波浪号

省略号:虽然可以用英文句点,但是跟真正的省略号占字符长度是有差异的

  • ‘\ldots’ 省略号

LaTex 中的标题和章节

LaTex 中把文章分为章、节和子节的命令。例如 论文版式 文档分章节指令如下:

\section{...}
\subsection{...}
\subsubsection{...}
\paragraph{...}
\subparagraph{...}
\tableofcontents    #在其出现的地方插入目录
\appendix           #标志着文档附录材料的开始,之后页码改用字母标记

LaTex 中的字体和强调

LaTex 中一般用斜体字表示强调

\emph{text}     #普通环境下是将 text 斜体表示,但是在已经指定字体为斜体的情况下,则是将 text 用正体显示
\textit{text 为斜体}

LaTex 文档环境

LaTex 文档不同环境排版形式不同,只要保持调用顺序,不同的环境可以嵌套。

\begin{environment}
text
\end{environment}

LaTex 中的环境参数:

  • itemize,是一种简单列表
  • enumerate,是带序号的列表
  • description,是带描述的列表
  • flushleft,左对齐的段落
  • flushright,右对齐的段落
  • center,文本居中的段落
  • quote,引用段落
  • verbatim,逐字打印,不执行任何 LaTex 命令
  • \verb#text#,将井号(其他符号也行)包裹的 text 逐字打印,效果同上一条
  • tabular,表格,表格环境有比较多的控制参数可以自定义表格的样式

字体、行距以及段落格式

LaTex 会自动根据文档的逻辑结构选择合适的字体,但也可以自己指定字体类型和尺寸。

行距和段落格式也可以自己指定。

\linespread{factor} # 指定行距,factor=1.3 时是 1.5 倍行距...
\setlength{\parindent}{0pt} # 段落开头 0 缩进

LaTex 中可以自定义很多版面格式,但是默认的版式自有默认的道理,详细参考《一份不太简短的 LATEX 2ε 介绍》文中第 5.4 章节。

LaTex 自动化布局之浮动体

当排版到图片和表格时,可能在这个页面放不下,但是又不可能把图片和表格分开放到不同的页面里,浮动体可以解决这个问题,把这个页面放不下的图片和表格浮动到下一页,本页面的余空白用后面的文本来填充。

表格和图片就是可以被浮动的对象,浮动命令:

\begin{figure}[htbp!]   # 浮动图片,[ ]中是放置说明符
\begin{table}[htbp!]    # 浮动表格,[ ]中是放置说明符

放置说明符制定了浮动体放置的位置:

  • h,浮动体就放在当前页面上,适合小浮动体
  • t,浮动体放在页面顶部
  • b,放在页面底部
  • p,放在一个专门的页面,页面仅含一个浮动体
  • !,忽略阻止浮动体放置的大部分内部参数,例如一页中允许的浮动体的最大个数

浮动体还可以自定义标题,自动添加图和表的序号或字母编号:

\caption{caption text}  # 为图和表添加标题
\listoffigures          # 为图添加序号
\listoftables           # 为表添加序号

保护脆弱命令

某些命令当出现在其他命令的参数中时可能会失效,这些命令被称为脆弱命令,需要使用 \protect 对其进行保护,强制其作为 LaTex 命令生效。

\footnote 或 \phantom 出现在 \section 命令的参数中时就需要使用 \protect 进行保护,但 \protect 只保护紧邻其右侧的一个命令。

LaTex 数学公式

数学符号和公式的排版是 LaTex 的一大利器,Markdown 中排版数学公式就是用的 LaTex 的功能。

LaTex 中数学公式使用 \(和 \)或者 $ 和 $ 或者 \begin{math} 和 \end{math}包裹起来。不同符号包裹显示效果不同。

常用数学符号可以在《一份不太简短的 LATEX 2ε 介绍》文中第 3.10 数学符号表章节查询。

插入图片

简单的说 LaTex 支持插入的图片格式为 EPS,而要在文档中看见图片,还需要安装一个 PostScript 打印机驱动输出图片。要在文档中添加图片,需要先生成 EPS 格式的图片,然后利用 graphicx 宏包来插入图片

\usepackage[driver]{graphicx}
\includegraphics[key=values,...]{file}

第一个命令中的 driver 参数是‘从 dvi 到 PostScript’用的程序,最常用的是 dvis,由于 LaTex 中没有插入图形的标准,需要这个参数才能使 graphicx 选择合适的方法将图形插入到 .dvi 文件中。
第二个命令中 file 就是图形文件,key 有多个参数可用:

  • width 指定图形的宽度
  • heigth 指定图形的高度
  • angle 逆时针旋转图形度数
  • scale 缩放图形

举例说明:

\usepackage[dvis]{grahpicx}
\begin{figure}
\begin{center}
\includegraphics[angle=90, width=0.5\textwidth]{test}
\end{center}
\end{figure}

这段命令把 test.eps 中的图片逆时针旋转 90 度,然后缩放使得图形宽度为文本页面宽度的 0.5 倍,居中放置于文档中。

参考文献

可以通过 thebibliography 环境来产生参考文献。在文章中引用文献 \cite{marker} ,参考文献条目中列出参考文献详情 \bibitem{marker}, marker 是联系引用和参考文献详情的字符串标识。

对于一些大型的项目,有很多参考文献的,可以用 BibTeX 程序,BibTeX 通常被包含在 TeX 的发行版中,可以建立一个参考文献的数据库,方便在文档中使用。

索引

在排版工具书,参考书中应该会用到。生成关键词索引需要用 LaTex 和辅助软件 makeindex,而且需要编译 LaTex 源文件两次以生成索引。

LaTex 中需要用到宏包 makeidx :

\usepackage{makeidx}
\makeindex      # 激活索引命令
\index{key}     # 在文档的这个位置添加一个关键词为 key 的索引
\printindex     # 列出所有的索引(关键词)
# 编译 LaTex 文档,之后使用 makeindex 程序处理后缀为 .idx 的文件
# 会产生一个 .ind 的索引文件
# 第二次编译 LaTex 文档,索引就会出现在 \printindex 指定的位置

定制页眉和页脚

定制文档的页眉和页脚需要用到宏包 fancyhdr,用到的时候再看宏包说明吧。

Verbatim 宏包

Verbatim 宏包重新实现了 Verbatim 环境,并且提供一个命令可以导入一个 ASCII 文件到文档中。

\verbatiminput{filename}

下载并安装 LaTex 宏包

当然可以手动从 CTAN 上下载宏包源文件,然后手动编译安装,不推荐这种方法,有点麻烦。类似 python 的 pip ,LaTex 也有自己的包管理工具,windows 下面可以用 MiKTeX 套件自带的包管理工具,Linux 下面可以:

tlmgr install 宏包名

这里还有一个王垠写的 Tex 学习资料:
http://www.ctex.org/documents/shredder/tex_frame.html

以及这里有个专门解决 LaTex 的中文支持问题的论坛:
http://www.ctex.org/HomePage


在这个世界上我只确定一件事。那就是人确定的事情越少越好。 -- 毛姆

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容