• 第三章 文档元素


     本章了解一个结构化的文档所依赖的各种元素——章节、目录、列表、图表、交叉引用、脚注等等。

    3.1 章节和目录

    3.1.1 章节标题

      一篇结构化的、条理清晰文档一定是层次分明的,通过不同的命令分割为章、节、小节。LATEX的三个标准文档类article、report和book提供了一系列命令,用以划分章节、生成章节并自动编号:

    section{<title>}        sunsection{<title>}  subsubsection{<titile>}
    paragraph{<title>}    subparagraph{<title>}
    

    part命令用以将整个文档分割为大的分块,但不影响section等编号:

    part{<title>}
    

    book和report提供了章一级的结构:

    chapter{<title>}  

    上述命令除了生成带编号的标题之外,还向目录中添加条目,并影响页眉页脚的内容。

    3.1.2 目录

      在LATEX中生成目录非常容易,只需在合适的地方使用命令:

    	ableofcontents

    正确生成目录项,一般需要多次编译源代码。

    有时候使用了chapter*或section*这样不生成目录项的命令,而又想手动生成该章节的目录,可以在标题命令后面使用:

    addcontentsline{toc}{<level>}{<title>}  

    其中<level>为章节层次chapter或section等,<title>为需要生成目录项的章节标题。

    3.1.3 文档结构的划分

      所有文档类都提供了一个appendix命令将正文和附录分开。   

    3.2 标题页

    3.3 交叉引用

      交叉引用是LATEX强大的自动排版功能的体现之一。在能够被交叉引用的地方,如章节、公式、图标、定理等位置使用label命令:

    label{<label-name>}  

    之后可以在别处使用 ef或pageref命令,分别生成交叉引用的编号和页码:

    ef{<label-name>}     pageref{<label-name>}
    

    为了生成正确的交叉引用,一般也需要多次编译源代码  

    3.4 脚注

    3.5 特殊环境

    3.5.1 列表

      LATEX提供了基本的有序和无序列表环境enumerate和itemize,两者的用法很类似,都用item表明每个列表项。enumerate环境会自动对列表项标号。

    egin {enumerate}
    item..
    end {enumerate]  

    其中item可带一个可选参数,将有序列表的技术或者无序列表的符号替换成自定义的符号。列表可以嵌套,最多嵌套四层。

    3.5.2 对齐环境

    center、flushleft和flushright环境分别用于生成居中、左对齐和右对齐的文本环境。

    egin{center} ...end{center}
    

      

    3.5.3 引用环境

      LATEX提供了两种引用的环境:quote用于引用较短的文字、首行不缩进;quotation用于引用若干段文字,首行缩进。引用环境较一般文字有额外的左右缩进。

    3.5.4 摘要环境

      摘要环境abstract只在article和report文档类可用,一般用于紧跟maketitle命令之后介绍文档的摘要。如果文档给定了titlepage选项,则单独成页;反之相当于一个小标题加一个qutation环境。

    3.5.5 代码环境

    3.6 表格

      LATEX里排版表格不如Word等所见即所得的工具简便和自由,不过对于不太复杂的表格来讲,完全能够胜任。

      排版表格最基本的tabular环境用法为:

    egin{tabular}{<column-spec>}
    <item1>&<item2>&...\
    hline
    <item1>&<item2>&...\
    end{tabular}  

    其中<column-spec>是列格式标记;&用来分割单元格;\用来换行;hline用来在行与行之间绘制横线。

      直接使用tabular环境的话,会和周围的文字混排。tabular环境可带一个可选参数控制垂直对齐(默认是垂直居中)。

    3.6.1 列格式

      LATEX表格中基本的列格式如下表:

    3.6.2 列宽

      tabularx宏包提供了方便的解决方案。它引入了一个X格式,类似于p格式,不过会根据表格宽度自动计算列宽,多个X格式平局分配列宽。X格式也可以用array里的辅助格式修饰对其方式:

    3.6.3 横线

      在科技论文排版中广泛应用的表格形式是三线表,形式干净简明。三线表由booktabs宏包支持,它提供了 oprule、midrule和ottomrule命令用以排版三线表的三条线,除此之外,最好不好用其它横线以及竖线:

    3.6.4 合并单元格

    3.6.5 行距控制

      LATEX生成的表格看起来通常比较紧凑。修改参数arraystretch可以得到行距更加宽松的表格。

    另一种增加间距的办法是诶换行命令\添加可选参数,在这一行下面加额外的间距,适合用于在行间不加横线的表格:

    3.7 图片

      LATEX本身不支持插图功能,需要由graphicx红包辅助支持。

    在调用了graphicx宏包以后,就可以使用includegraphics命令加载图片了:

    includegraphics[<options>]{<filename>}  

    其中<filename>为图片文件名,与使用include命令类似,文件名有时需要使用相对路径或绝对路径。图片文件的扩展名可写可不写。

    3.8 盒子

      盒子是LATEX排版的基础单元,虽然解释上去有些抽象:每一行是一个盒子,里面的文字从左到右一次排列;每一页也是一个盒子,各行文字从上到下一次排布。

    3.8.1 水平盒子

      生成水平盒子的命令如下:

    mbox{...}
    makebox{[<width>][<align>]}{...}
    

    3.9 浮动体

      内容丰富的文章或者书籍往往包含丰富的图片和表格等内容。这些内容的尺寸往往太大、导致分页困难。LATEX为此引入了浮动体的机制,令大块的内容可以脱离上下文,放置在合适的位置。 

      LATEX预定义了两类浮动体环境figure和table。习惯上figure里放图片,table里放表格,但并没有严格限制,可以在任何一个浮动体里放置表格,文字、列表等等任意内容。以table环境的用法为例,figure同理:

    egin {table}[<placement>]
    ....
    end {table}
    

    <placement>参数提供了一些符号用来浮动体用来表示排版的位置。

      

     

  • 相关阅读:
    Go的几种函数式编程范例
    换零钱和快速幂
    随笔不是博客
    leetcode-51
    leetcode-50
    拨号器
    简易计算器的实现
    python入门:1-100所有数的和
    python入门:输出1-10以内除去7的所有数(简)
    python入门:输出1-10以内除去7的所有数(自写)
  • 原文地址:https://www.cnblogs.com/tcsong24/p/7808656.html
Copyright © 2020-2023  润新知