跳转到内容

LaTeX/长度

来自维基教科书,开放的书籍,面向开放的世界

LaTeX

入门
  1. 介绍
  2. 安装
  3. 安装额外包
  4. 基础
  5. 如何获取帮助

常见元素

  1. 文档结构
  2. 文本格式化
  3. 段落格式化
  4. 颜色
  5. 字体
  6. 列表结构
  7. 特殊字符
  8. 国际化
  9. 旋转
  10. 表格
  11. 标题创建
  12. 页面布局
  13. 自定义页面页眉和页脚‎
  14. 导入图形
  15. 浮动体,图形和标题
  16. 脚注和边注
  17. 超链接
  18. 标签和交叉引用
  19. 首字母

机制

  1. 错误和警告
  2. 长度
  3. 计数器
  4. 框体
  5. 规则和撑杆

技术文本

  1. 数学
  2. 高级数学
  3. 定理
  4. 化学图形
  5. 算法
  6. 源代码列表
  7. 语言学

特殊页面

  1. 索引
  2. 词汇表
  3. 参考文献管理
  4. 更多参考文献

特殊文档

  1. 科学报告(学士报告,硕士论文,博士论文)
  2. 信函
  3. 演示文稿
  4. 教师专区
  5. 简历
  6. 学术期刊(MLA,APA 等)

创建图形

  1. 介绍过程图形
  2. MetaPost
  3. 图片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 创建 3D 图形

编程

  1. 纯 TeX
  2. 创建包
  3. 创建包文档
  4. 主题

杂项

  1. 模块化文档
  2. 协作编写 LaTeX 文档
  3. 导出到其他格式

帮助和建议

  1. 常见问题解答
  2. 技巧和窍门

附录

  1. 作者
  2. 链接
  3. 包参考
  4. LaTeX 文档示例
  5. 索引
  6. 命令词汇表

编辑此框编辑 TOC

在 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 来避免此重复。您可能想看看下面的示例,了解如何使用它们。有关更多详细信息,请参阅 框体

您还可以定义拉伸值。拉伸值是在前面加了 plusminus 的长度,用于指定tex被授权更改长度。例如

\setlength{\parskip}{10pt plus 5pt minus 3pt}

这意味着tex将尝试使用 10pt 的长度;如果不足,它会将长度增加到最大 15pt;如果超载,它会将长度降低到最小 7pt。

请注意,指定 plusminus 值不是强制性的,但如果您要指定,则 plus 必须放在 minus 之前。

要打印长度,您可以使用 \the 命令

\the\textwidth

要创建新长度

\newdimen\mylength

要设置长度

\mylength=1.5in

要查看,与 LaTeX 相同,使用命令 \the

LaTeX 默认长度

[编辑 | 编辑源代码]

常见的长度宏是

\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]
  1. http://www.giss.nasa.gov/tools/latex/ltx-86.html
  2. 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]


上一个:错误和警告 索引 下一个:计数器
华夏公益教科书