LaTeX/长度
在 TeX 中,长度是
- 一个浮点数,后面跟着一个单位,可选地跟着一个伸缩值;
3.5pt plus 1pt minus 2pt
|
- 一个浮点因子,后面跟着一个宏,它扩展到一个长度。
1.7\textwidth
|
首先,我们介绍 LaTeX 测量单位。所有 LaTeX 单位都是两位字母缩写。您可以从各种单位中进行选择。以下是最常见的单位。[1]
缩写 | 定义 | 点 (pt) 值 | 微米 (µm) 值 |
---|---|---|---|
pt | 一个点是 1/72.27 英寸,这意味着大约 0.0138 英寸。 | 1 | 351.46 |
mm | 一毫米 | 2.84 = 7227/2540 | 1000 |
cm | 一厘米 | 28.4 = 7227/254 | 10000 |
in | 英寸 | 72.27 | 25400 |
ex | 大约是 'x' 的高度,在当前字体中 | 未定义,取决于使用的字体 | |
em | 大约是 'M'(大写)的宽度,在当前字体中 | 未定义,取决于使用的字体 |
点是默认单位,1pt 是默认长度。所有其他单位都通过固定比率转换为点。
以下是一些不太常见的单位。[2]
缩写 | 定义 | 点 (pt) 值 | 微米 (µm) 值 |
---|---|---|---|
bp | 一个大点是 1/72 英寸,这意味着大约 0.0139 英寸。 | 1.00375 = 803/800 | 352 7/9 |
pc | 排 | 12 | 4218 |
dd | 迪多 | 1.070 = 1238/1157 | 376 |
cc | 西塞罗 (12 迪多) | 12.84 = 14856/1157 | 4512 |
nd | 新迪多 | 1.067 = 685/642 | 375 |
nc | 新西塞罗 (12 新迪多) | 12.80 = 1370/107 | 4500 |
sp | 缩放点 | 0.000015 = 1/65536 | 0.00536 |
TeX 中的框体由三个长度表征
- 深度
- 高度
- 宽度
参见 框体.
您可以使用两个命令更改定义页面布局的变量的值。使用此命令,您可以为现有长度变量设置新值
\setlength{\mylength}{length}
|
使用另一个命令,您可以向现有值添加一个值
\addtolength{\mylength}{length}
|
您可以使用命令创建自己的长度,并且必须在尝试设置长度之前创建新的长度
\newlength{\mylength}
|
您还可以使用以下命令之一从文本大小设置长度
\settowidth{\mylength}{some text}
\settoheight{\mylength}{some text}
\settodepth{\mylength}{some text}
|
该calc包还提供了函数 \settototalheight{\mylength}{some text}
使用这些命令时,如果您打算也显示参考文本,您可以复制要用作参考的文本。但是 LaTeX 还提供 \savebox
来避免此重复。您可能想看看下面的示例,了解如何使用它们。有关更多详细信息,请参阅 框体。
您还可以定义拉伸值。拉伸值是在前面加了 plus
或 minus
的长度,用于指定tex被授权更改长度。例如
\setlength{\parskip}{10pt plus 5pt minus 3pt}
|
这意味着tex将尝试使用 10pt 的长度;如果不足,它会将长度增加到最大 15pt;如果超载,它会将长度降低到最小 7pt。
请注意,指定 plus 和 minus 值不是强制性的,但如果您要指定,则 plus 必须放在 minus 之前。
要打印长度,您可以使用 \the
命令
\the\textwidth
|
要创建新长度
\newdimen\mylength
|
要设置长度
\mylength=1.5in
|
要查看,与 LaTeX 相同,使用命令 \the
。
常见的长度宏是
- \baselineskip
- 段落中行之间的正常垂直距离。
- \baselinestretch
- 一个乘以 \baselineskip 的因子。必须使用
\renewcommand{\baselinestretch}{factor}
设置 - \columnsep
- 列之间的距离。
- \columnwidth
- 列的宽度。
- \evensidemargin
- “偶数”页的页边距(想想一本印刷的小册子)。
- \linewidth
- 局部环境中行的宽度。
- \oddsidemargin
- “奇数”页的页边距(想想一本印刷的小册子)。
- \paperwidth
- 页面的宽度。
- \paperheight
- 页面的高度。
- \parindent
- 正常的段落缩进。
- \parskip
- 段落之间的额外垂直空间。
- \tabcolsep
- 表格环境中列之间的默认间距。
- \textheight
- 页面上文本的高度。
- \textwidth
- 页面上文本的宽度。
- \topmargin
- 顶部页边距的大小。
- \unitlength
- picture 环境中的长度单位。
要插入固定长度空格,请使用
\hspace{length}
\vspace{length}
|
\hspace
代表水平空格,\vspace
代表垂直空格。
如果这样的空格即使落在行尾或行首也要保留,请使用 \hspace*
代替。
如果空格应该在页面顶部或底部保留,请使用命令的星号版本,\vspace*
,而不是 \vspace
。如果您想在文档开头添加空格,在其他内容之前没有任何内容,那么您可以使用
{ \vspace*{length} }
|
使用 \vspace*
命令代替 \vspace
命令很重要,否则 LaTeX 可能会静默忽略额外的空格。
TeX 提供了一些用于固定长度间距的宏。
\smallskip
- 在垂直模式下插入一个小空格(两个段落之间)。
\medskip
- 在垂直模式下插入一个中等空格(两个段落之间)。
\bigskip
- 在垂直模式下插入一个大空格(两个段落之间)。
垂直模式是在垂直组装盒子(例如,将段落组装成页面)的过程中进行的。水平模式是在水平组装盒子(例如,将字母组装成单词,将单词组装成段落)的过程中进行的。
它们是垂直模式命令的事实意味着它们将在水平模式下被忽略(或失败),例如在一个段落的中间。如果第一个与双行分隔符相邻的标记没有扩展到字符,则它仍然处于垂直模式。
% WRONG!
Some words.
\bigskip
Let's continue.
%% CORRECT!
Some words.
\bigskip
Let's continue.
|
橡胶/拉伸长度
[edit | edit source]命令
\stretch{factor}
|
生成一个特殊的橡胶空间,其中 factor 是一个数字,可能是浮点数。它会一直拉伸,直到填满一行中剩余的所有空间。如果在同一行上发出两个 \hspace{\stretch{factor
}} 命令,它们将根据拉伸因子增长。
x \hspace{ \stretch{1} } x \hspace{ \stretch{3} } x
|
x x x |
同样的方式,你可以垂直拉伸
\maketitle
\vspace{ \stretch{1} }
Some comments.
\vspace{ \stretch{1} }
\tableofcontents
|
你也可以使用 \fill
代替 \stretch{1}
。
\stretch
命令与 \pagebreak
命令结合使用,可以用于将文本排版在页面的最后一行,或将文本垂直居中在页面上。
对于因子为 1(即使用 \stretch{1}
或 \fill
)的拉伸,有“快捷命令”:\hfill
和 \vfill
。
示例
\maketitle
\vfill
Some comments.
\vfill
\tableofcontents
|
填满剩余的行
[edit | edit source]几个宏允许以不同的方式填满剩余的行(或拉伸行的一部分)。
\hfill
将产生空白。\dotfill
将产生点。\hrulefill
将产生一条规则。
示例
[edit | edit source]将图像大小调整为文本宽度的一半
\includegraphics[width=0.5\textwidth]{mygraphic}
|
使项目之间的距离更大(在一个 itemize 环境中)
\addtolength{\itemsep}{0.5\baselineskip}
|
使用 \savebox
将图像大小调整为文本高度
% Create the holders we will need for our work
\newlength{\mytitleheight}
\newsavebox{\mytitletext}
% Create the reference text for measures
\savebox{\mytitletext}{%
\Large\bfseries This is our title%
}
\settoheight{\mytitleheight}{ \usebox{\mytitletext} }
% Now creates the actual object in our document
\framebox[\textwidth][l]{%
\includegraphics[height=\mytitleheight]{my_image}%
\hspace{2mm}%
\usebox{\mytitletext}%
}
|
参考文献
[edit | edit source]- ↑ http://www.giss.nasa.gov/tools/latex/ltx-86.html
- ↑ http://anonscm.debian.org/cgit/debian-tex/texlive-bin.git/tree/texk/web2c/pdftexdir/pdftex.web?h=debian/2015.20150524.37493-5#n10460
另见
[edit | edit source]