2.4 环境
环境是LaTeX中红重要的一个排版理念. 简单地说, 环境就是具有某一转项功能的模板, 比如表格环境, 只要按照规定的格式输入数据, 系统就会自动完成表格的排版工作.
2.4.1 环境命令的格式
各种环境的排版功能都是通过其环境命令实现的, 各种环境的命令的典型格式为:
\begin{环境名(*)}
内容
\end{环境名(*)}
其中环境名是所使用环境的名称, 它区分大小写. 所有的环境都是以命令\begin
开头, 环境名是该命令的必要参数, 有些环境命令在此之后还有一个或多个参数; 所有环境都是以命令\end
结束, 环境名是该命令的唯一参数. 有些环境还具有带星号的形式, 如公式环境equation
, 通常, 同一环境带不带星号与否, 功能基本相同, 只是在某个排版细节上有所不同.
2.4.2 介绍一些实用的环境
文件环境
这是每个源文件都必须使用的环境, 在源文件的正文部分就是使用的各种LaTeX命令都必须置于这个环境中, 我们也早已接触过这个环境
\begin{document}
...
\end{document}
其中命令\begin{document}
表示源文件的正文部分从此开始, 它是导言和正文的分隔线; 命令\end{document}
表示退出文件环境, 正文部分到此结束, 在编译源文件的时候, 系统将忽略这个命令后的任何字符, 因此, 也可以将与论文相关的一些资料放在这个命令之后, 方便以后查阅.
居中环境和命令
通常在排版的时候都是将文本的左右两端都对齐, 如果想使一段文字居中, 可以使用下面的环境
\begin{center}
命令
\end{center}
看下面的例子:
\begin{document}
\begin{center}
\LaTeX 教学\\[4mm]
第一讲\\
Svxk
\end{center}
\end{document}
显示效果如下:
在居中环境中, 每行文本结尾都需要使用换行命令\\
来指示换行, 否则紫铜将根据情况自行确定换行位置;如果希望加大某行与下一行的距离, 可以使用我们之前提到过的\\[<长度>]
.
系统还提供了居中命令\centering
. 它可以将其后的所有文本内容均居中排版. 由于居中命令是声明格式的命令, 所以通常都是将其放在某一环境或者组合中, 用以限制它范围, 例如{\centering <文本>}
, 如果要将上例用居中命令重写一遍, 命令是
{\centering \LaTeX 教学\\[4mm]
第一讲\\
Svxk\\}
注意!使用居中命令的时候最后一行也要添加换行命令, 否则会出现下面的问题:
{\centering \LaTeX}
首先……
如果只是需要将一行文本或者某个插图居中排版, 也可以使用系统居中命令:\centerline{<对象>}
, 注意这个命令只能排版一行, 使用\\
或\newline
换行也无效.
左(右)对齐环境和命令
由于左右对齐环境和命令很像, 所以只用左对齐来举例, 右对齐环境与命令只需把left改为right就行了.
如果需要将多行简短的文字或者插图等沿文本行左侧边对齐排版, 可以使用左对齐环境:
\begin{flushleft}
对象
\end{flushleft}
该环境可以将其中的对象与文本行的左侧边对齐, 而与文本行的右侧边可以不用对齐. 可以在左对齐环境中使用\\
换行命令还指定文本的换行厨, 否则系统只能在不断词的情况下自行确定换行位置. 例子略了. 系统还提供声明形式的左对齐命令:\raggedright
, 其中ragged是"残缺的", 即表示右侧是残缺的(未对齐的), 需要注意, 而且使用这个命令去作用一段LaTeX对象的时候, 需要用花括号括起来, {\raggedright <对象>}
. 如果只需要将一行简短文本或者某个插图靠左可以使用带必要参数的左对齐命令:\leftline{<对象>}
.
抄录环境, 命令及宏包
我们在论文写作中可能会要引用计算机程序, 而这些程序代码大多是不能直接显示的, 原因很明显, 因为在程序代码中的符号, 括号以及用来占位的空格在LaTeX里并不会原封不动的抄下来, 而且在LaTeX中的换行方法与程序代码中的换行方法也不同, 所以在LaTeX文档中直接书写程序代码是不现实的, 于是我们需要使用到抄录环境和命令.
抄录环境verbatim(*)
使用系统提供的抄录环境verbatim
或者其带星号的形式verbatim*
, 可以将环境中的文本按照其原有的格式书写下来, 默认字体也是在程序语言中常用的等宽字体, 带星号的抄录环境的不同之处是它将文本中的空格都用˽表示出来, 称为可见的空格, 以便与了解文本中的空格位置和数量.
例:将一段LaTeX代码使用verbatim环境编排:
\begin{verbatim}
\begin{document}
\begin{center}
\LaTeX 教学\\[4mm]
第一讲\\
Svxk
\end{center}
\end{document}
\end{verbatim}
编译后会出现
(如果缩进没有抄录下来的话, 把TAB换成空格即可)
例*:将上述LaTeX文档用带星号的抄录环境抄录.
抄录后会显示
即将空格可视.
抄录命令\verb
与前面的环境类似, LaTe也提供了用与抄录单行文本的命令, \verb(*)符号 文本 符号
解释一下上述命令, 用\verb
作为抄录命令的命令名, 用两个相同的符号或数字来作为这个命令作用范围的界定符, 抄录命令的界定符很灵活, 可以是没有出现在文本中, 且不是和空格的任何符号和数字*, 一般用""
和||
作为抄录命令的界定符.
例:使用抄录命令在文档中显示专用符号.
在源文件中, 符号\verb"\, $和#"都是系统赋予特殊含义的专用符号
注:抄录命令和抄录环境都不能自动换行, 即一旦被抄录的文字超过一行, 则LaTeX会持续抄录直到文字溢出边界.
抄录宏包fancyvrb
系统提供的抄录环境verbatim
功能较简单, 这里介绍一个有更多选项功能的抄录宏包fancyvrb
, 它可以根据其中的选项生成各种不同样式, 例如添加行号, 改变字体和颜色, 添加边线等等, 其中fancyvrb
宏包提供的抄录环境名称是Verbatim
, 其设置选项可以在宏包的帮助文档中查看, 这里不做过多介绍.