• latex学习--基础知识


    1 文档结构

    文档类、序言、正文

    LATEX源文件的结构分三大部分,依次为:文档类声明序言(可 选)正文
    文档类声明用来指定文档的类型;序言(preamble)用来完成一些特 殊任务,比如引入宏包,定义命令,设置环境等;文档的实际内容则放在 正文部分。这里的正文指得是egin{document}end {document}之间 的部分,和通常人们心目中的“正文”概念有所出入。

    这三部分的基本语法如下:

    documentclass[options]{class} %文档类声明 usepackage[options]{package} %引入宏包 ...
    egin{document} %正文
    ...
    end{document}
    

    常用的文档类(documentclass)有三种:article、report、book, 它们的常用选项见表

    文档类常用选项

    LATEX 的核心只提供基本的功能,系统以宏包(package)的形式提供 附加功能或增强原有功能。其它一些编程语言也有类似的模块化机制,比 如 C/C++ 的 #include,Java 的 import。

    标题、摘要、章节

    一份文档正文部分的开头通常有标题、作者、摘要等信息,之后是章 节等层次结构,内容则散布于层次结构之间。
    标题、作者、日期等命令如下,注意maketitle 命令要放在最后。

    	itle{标题} 
    author{作者} 
    	oday 
    maketitle
    

    摘要环境用法如下:

    egin{abstract}
    ...
    end{abstract}
    

    常用的层次结构命令如下

    chapter{...}
    section{...}
    subsection{...}
    subsubsection{...}
    

    每个高级层次可以包含若干低级层次。article 中没有 chapter,而 report 和 book 则支持上面所有层次。

    目录

    我们可以用 ableofcontents 命令来生成整个文档的目录,LATEX 会 自动设定目录包含的章节层次,也可以用 setcounter 命令来指定目录层 次深度。

    	ableofcontents
    setcounter{tocdepth}{2}
    

    如果不想让某个章节标题出现在目录中,可以使用以下带 * 的命令来 声明章节。

    chapter*{...}
    section*{...}
    subsection*{...}
    

    类似地,我们也可以用以下命令生成插图和表格的目录,插图和表格
    功能将在后面章节中介绍。

    listoffigures
    listoftables
    

    当章节或图表等结构发生变化时,我们需要执行两遍编译命令以获得 正确结果。LATEX 之所以设计成这样可能是因为当时的电脑内存容量有限。

    2 文字排版

    字符输入

    文档中可以输入的内容大致可以分为:普通字符、控制符、特殊符 号、注音符号、预定义字符串等。而这些内容有两种输入模式:文本模式 (缺省)和数学模式,普通的行间(inline)数学模式用$...$来表示。

    LATEX中有些字符(例如# $ % ^ & _ { } ~ 等)被用作特殊的 控制符,所以不能直接输入,多数需要在前面加个 。而 本身则要用 extbackslash 命令来输入,因为 被用作了换行指令。很奇怪为什么 不用 C 语言的 ,也许是因为 TEX 的编程语言是 Pascal。
    表 2.2 提供了一些符号的输入方法示例,完整的符号列表见 Scott Pakin的《The Comprehensive LATEX Symbol List》[1]。

    换行、换页、断字

    通常 LATEX 会自动换行、换页。用户也可以用 或 ewline 来强制 换行;用 ewpage 来强制换页。

    一般情况下 LATEX 会尽量均匀地断字(Hyphenate),使得每一行的 字间距分布整齐。但有时我们也需要显式指明断字位置,比如下例就指明 BASIC 这个词不能断开,而 blar-blar-blar 可以在-处断开。

     hyphenation{BASIC blar-blar-blar}
    

    字样、字号

    LATEX会自动调整正文、标题、章节、上下标、脚注等的字样3、字 号。我们也可以用表 2.3中的命令来设置字样;用表 2.4中的命令来设置 相对字号,比如正文字号是 10pt、11pt、12pt 时,tiny的字号就分别是 5pt、6pt、6pt。

    LATEX 有一个特别的字样强调命令:emph,它在不同字样和装饰环境 下有不同效果。比如周围文字是正体,它就是斜体;反之它就是正体。

    3 常用命令环境

    列表

    LATEX 中有三种列表环境:itemize、enumerate、description,它 们的一般用法如下:



    对齐

    LATEX中的段落缺省两端对齐(fully justified),我们也可以让段落居左、居右或居中对齐。

    摘录

    LATEX 中有三种摘录环境:quote、quotation、verse。

    • quote 两端都缩进
    • quotation 在 quote 的基础上增加了首行缩进
    • verse 比 quote 多了第二行起的缩进。

    原文照排

    一般文档中,命令和源代码通常使用等宽字样来表示,也就是原文照 排。对此 LATEX 提供了 verb 命令(一般用于在正文中插入较短的命令) 和 verbatim 环境。后者有带 * 的版本用来标明空格。

    交叉引用

    我们常常需要引用文档中 section、subsection、figure、table 等 对象的编号,这种功能叫作交叉引用(cross referencing)。

    LATEX 中可以用 label{marker} 命令来定义一个标记,标记名可以是 任意字符串,但是在全文中须保持唯一。之后可以用 ef{marker} 命令来 引用标记处章节或图表的编号,用 pageref{marker} 来引用标记处的页 码。

    文档中新增交叉引用后,第一次执行 latex 或 pdflatex 编译命令时 会得到类似下面的警告信息。因为第一次编译只会扫描出有交叉引用的地 方,第二次编译才能得到正确结果。

    脚注

    脚注(footnote)的一般用法如下:

    4 长度单位

    LATEX 中的常用长度单位如表 2.5 所示。point 是个传统印刷业采用的 单位,而big point是Adobe推出PS时新定义的单位。em是个相对单位, 比如当前字体是 11pt 时,1em 就是 11pt。

    5 盒子

    LATEX在排版时把每个对象(小到一个字母, 大到一个段落)都视为一个矩形盒子(box),我们在 HTML 和 CSS 中也可以见到类似的模型。

    mbox 和 fbox

    LATEX 中最简单的盒子是 mbox 和 fbox。前者把一组对象组合起来, 后者在此基础上加了个边框。

    makebox 和 framebox

    稍复杂的 makebox 和 framebox 提供了宽度和对齐方式控制选项。这
    里用 l、r、s 分别代表居左、居右和分散对齐。

    parbox 和 minipage

    大一些的对象比如整个段落可以用 parbox 命令和 minipage 环境, 两者语法类似,也提供了对齐方式和宽度的选项。但是这里的对齐方式是 指与周围内容的纵向关系,用 t、c、b 分别代表居顶、居中和居底对齐。

    细心的读者会发现 parbox 和 minipage 的选项排列顺序和 makebox 和 framebox|的不一致,可能出自不同的作者。

  • 相关阅读:
    POJ 3678 Katu Puzzle(POJ 六道2SAT之一)
    POJ 2942 Knights of the Round Table ★(点双连通分量+二分图判定)
    POJ 3207 Ikki's Story IV Panda's Trick (POJ 六道2SAT之一)
    POJ 2762 Going from u to v or from v to u?(有向图单向连通)
    POJ 3207 Ikki's Story IV Panda's Trick (POJ 六道2SAT之一)
    POJ 3694 Network ★(边双连通分量+并查集缩点+LCA)
    Visual C#常用函数和方法集汇总
    软件项目版本号的命名规则及格式
    软件项目版本号的命名规则及格式
    软件项目版本号的命名规则及格式
  • 原文地址:https://www.cnblogs.com/cmi-sh-love/p/latex-xue-xiji-chu-zhi-shi.html
Copyright © 2020-2023  润新知