LaTeX文档组织结构

Posted petewell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LaTeX文档组织结构相关的知识,希望对你有一定的参考价值。

原文引用https://www.dazhuanlan.com/2019/08/26/5d62feafd7a14/


本文的主要内容有:

  • LaTeX的基本文章结构
  • 生成目录的方法
  • 交叉引用的方法
  • 插入列表、表格、图片的方法

LaTeX提供了许多让文章更加有序的方法,比如支持标记文章的章节、自动生成目录等。接下来将逐一介绍这些方法。

章、节和段落

在我们比较常用的article类里,LaTeX支持通过以下的命令来标记文章的组织结构:section·subsection·subsubsection·paragraph·subparagraph·。他们的相对大小从左到右依次减小。

在不太多用的book中,还有chapter·part·

下面是一个例子。

1
2
3
4
5
section一级标题
subsection二级标题
subsubsection三级标题
paragraph段落标题段落内容
subparagraph子段落标题子段落内容

目录

在文中引入了章、节的标记后,我们就可以通过在正文区中使用tableofcontents来让LaTeX自动生成文章的目录。

下面是一个例子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
documentclassctexart
title从零开始的LaTeX教程(四):组织结构
author墘青
datetoday
begindocument
maketitle
tableofcontents

section学化学的理由
化学是中心学科。
subsection学化学哪家强
来五道口找清华化学系。
subsubsection清华化学系有多强
paragraphUS News排名
全球第十,远超隔壁。
subparagraph清华化学系的其他优势
师资雄厚。
enddocument

这是上面例子的输出结果:

交叉引用

在编写文章的时候总是会遇到类似“如下图所示”的表达需要。在LaTeX中你可以更加简单并且精确地做到这一点。我们可以用labelmarkerrefmarkerpagerefmarker来对于我们的图表、公式、段落来进行交叉引用。其中被花括号包裹的marker是我们自己为某个对象选择的代号,在交叉引用的时候请务必确保输入了正确的代号。

环境和浮动体

环境是LaTeX为了达到特殊的排版目的而设计的一个内容载体。我们在LaTeX中使用这样的语句来达到自己的目的:

1
2
3
beginenvironment
相应的内容,形式多种多样。
endenvironment

列表

我们有三种列表环境,分别是生成无序号列表的itemize,生成有序号列表的enumerate和能添加描述的description环境。这些列表是可以嵌套的(虽然有时候效果不好),就像下面这个例子所展示的一样。

1
2
3
4
5
6
7
8
9
10
11
12
beginenumerate
item 第一层是有序号的列表。
beginitemize
item 第二层是无序号列表,
item[记住] 用方括号括起来的内容可以是“小标题”
enditemize
item 你必须记住:
begindescription
item[列表不会] 让所有事情都看起来很漂亮有序
item[但是它能够] 让一些东西以非常美丽的方式展现出来
enddescription
endenumerate

这是上面例子的输出结果:

对齐

LaTeX中有三种基础的用于对齐的环境,分别是flushleftflushrightcenter,它们使用起来和Microsoft Word中的对齐没有太大差别,较为简单直观。下面是一个例子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
beginflushleft
这行字是向左对齐的。你可以手动换行,像这样\
或者输入两个换行符。像下面那样。
endflushleft

beginflushright
这行字是向右对齐的。

LaTeX 会自动调整字符的位置,文字太长会在合适的地方换行。
endflushright

begincenter
吾校庄严,巍然中央。
endcenter

这是上面例子的输出结果:

引用

在LaTeX中,有几个被事先设定好的环境简化作者引用内容时的排版工作量。在引用较短的句子的时候,我们可以使用quote环境;引用较长的多个段落的时候,我们可以用quotation环境,这个环境会对段落进行缩进;引用诗歌的时候,我们可以用verse环境。下面这个是一个例子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
总工程师曾说:
beginquote
不管黑猫白猫,能捉老鼠的就是好猫。
endquote
在《在武昌、深圳、珠海、上海等地的谈话要点》中,他指出:
beginquotation
抓住时机,发展自己,关键是发展经济。现在,周边一些国家和地区经济发展比我们快,如果我们不发展或发展得太慢,老百姓一比较就有问题了。所以,能发展就不要阻挡,有条件的地方要尽可能搞快点,只要是讲效益,讲质量,搞外向型经济,就没有什么可以担心的。低速度就等于停步,甚至等于后退。要抓住机会,现在就是好机会。我就担心丧失机会。不抓呀,看到的机会就丢掉了,时间一晃就过去了。

我国的经济发展,总要力争隔几年上一个台阶。当然,不是鼓励不切实际的高速度,还是要扎扎实实,讲求效益,稳步协调地发展。比如广东,要上几个台阶,力争用二十年的时间赶上亚洲“四小龙”。比如江苏等发展比较好的地区,就应该比全国平均速度快。又比如上海,目前完全有条件搞得更快一点。上海在人才、技术和管理方面都有明显的优势,辐射面宽。回过头看,我的一个大失误就是搞四个经济特区时没有加上上海。要不然,现在长江三角洲,整个长江流域,乃至全国改革开放的局面,都会不一样。
endquotation
文章写得极为接地气,令人想吟诗一首:
beginflushleft
beginverse
力微任重久神疲,再竭衰庸定不支。\
苟利国家生死以,岂因祸福避趋之?\
谪居正是君恩厚,养拙刚于戍卒宜。\
戏与山妻谈故事,试吟断送老头皮。
endverse
endflushleft

这是上面例子的输出结果:

逐字输出

有些时候(比如编程教程),我们需要将一些字符原封不动地输出,让LaTeX无视其中的所有命令。这个时候verbatim环境就非常有用了。在beginverbatimendverbatim之间的文本将直接输出,包括所有的换行符和空格,就像在打字机上键入一样,不会执行任何LaTeX命令。当然,如果只是需要在一个段落中使用这个环境,也有相应的简化版命令verb+·+来完成,下面是一个例子。

1
2
3
4
5
6
在段落中,该功能可由verb|verb+text+|完成。+仅是分隔符的一个例子。除了*或空格,可以使用任意一个字符。
beginverbatim
begindocument
Hello, verbatim!
enddocument
endverbatim

这是上面例子的输出结果:

浮动体

在一篇文章中,插图和表格通常需要占据大块空间,同时也不可被分割;所以在文字处理软件中我们经常需要调整他们的位置。figure 和 table 环境可以自动完成这样的任务;这种自动调整位置的环境称作浮动体(float)。

表格

在LaTeX中,tabular环境能够用来绘制最基础的表格。我们可以用这样的命令来进入tabular环境:begintabulartable spec。其中第二个花括号里面的table spec定义了表格的样式。

在这个环境中:hline命令表示横线,|表示竖线;用&来分列,用\来换行;每列可以分别采用居左、居中、居右等横向对齐方式,分别在table spec里面用l、c、r来表示。

下面是一个例子:

1
2
3
4
5
6
7
8
9
begintabular|l|c|r|
hline
操作系统 & 发行版& 编辑器\
hline
Windows & TeX Live & Texstudio \
Unix/Linux & teTeX & Kile \
Mac OS & MacTeX & TeXShop \
hline
endtabular

这是上面例子的输出结果:

而进阶的table环境则支持增加标题、标签,并且是一个浮动体,在排版上更加智能。

图片

在LaTeX中插入图片建议使用graphicx宏包。插入图片的基础命令是:includegraphics[key=value, ...]filename。在插入图片时,有几种可选参数可以调节,分别是:

  • width:把图形缩放到指定的宽度
  • height:把图形缩放到指定的高度
  • angle:逆时针旋转图形
  • scale:缩放图形

下面是一个例子:

1
2
3
4
5
6
beginfigure
centering
includegraphics[angle=45, width=0.7textwidth]sign.eps
captionSignature
labelfig:sign
endfigure

这是上面例子的输出结果:

重磅预告

下一期教大家如何快速简便地在LaTeX里画结构式和反应式,请大家敬请期待!!!

以上是关于LaTeX文档组织结构的主要内容,如果未能解决你的问题,请参考以下文章

LaTeXE喵的LaTeX新手入门教程参考文献文档组织

LaTex文档的基本结构

LaTeX 命令和代码结构简介

LaTeX 命令和代码结构简介

LaTeX 命令和代码结构简介

LaTeX如何设置段落层次结构