LaTex 学习笔记

作者: wangpeng905 | 来源:发表于2017-06-16 21:26 被阅读1100次

为了解决自动化报告之类的问题,测试了几种不同的方案之后,我选了 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


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

相关文章

  • Latex 学习笔记

    Latex 是一种文档编辑语言. 在撰写论文的时候, 对于文字及图片的排版是必不可少的. 对于文字的排版主要考虑的...

  • LaTex 学习笔记

    为了解决自动化报告之类的问题,测试了几种不同的方案之后,我选了 LaTex。利用 LaTex 生成 PDF 文档可...

  • Latex学习笔记

    今天主要总结了latex的一些基本配置和使用latex进行科技论文写作的基本要素(书写文档,插入表格,插入图片,插...

  • LaTeX学习笔记

    矩阵: ![][00] 双曲余弦函数: ![][01] 排列组合公式: ![][02] 开方运算: ![][03]...

  • LaTeX学习笔记

    学习内容包括从零开始LaTeX、LaTeX新人教程 分享一下TeXLive2019的下载链接链接:https://...

  • LaTex 学习笔记

    原文地址 LaTeX(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/),排版时通常使用LATE...

  • 2018-04-03

    【LaTeX】Lyx/LaTeX笔记01---插入伪代码[latex]使用algorithm包来编写伪代码 - C...

  • latex语法

    1. latex 语法 latex笔记:基本语法[https://zhuanlan.zhihu.com/p/243...

  • Latex 学习

    Latex 学习 @(05.2 Latex)[latex][基础教程] 这篇文章是关于latex基础教程.pdf的...

  • Latex学习笔记(一)

    1. 基本模板 代码结果如下: 2. 文档类型设置 常见的文档类型包括article、book、report等。不...

网友评论

本文标题:LaTex 学习笔记

本文链接:https://www.haomeiwen.com/subject/etrmqxtx.html