字号、水平间距与垂直间距

字号、水平间距与垂直间距 #

作者:二花

关键词:字号,水平间距,垂直间距

这一节,我们讨论字号的大小,单位是pt,pt单位是英寸的 1/72 大小,水平间距与垂直间距

首先我们明确,在LaTeX中,行距和字号是直接相关的,设置字号是,同时会默认设置基本行距(一行文字的基线到下行文字的基线距离)为文字大小的1.2倍.

字号的普通的声明式命令之局部字号设置 #

英文字号 #

注意:字号命令表示的尺寸和行间距随文档类和其他因素影响,因此并不能准确的表示字号的大小

\tiny		\scriptszie		\footnotesize		\small		
\normalsize	\large			\Large				\LARGE
\huge		\Huge
\documentclass{article}
\usepackage{ctex}
\begin{document}
{\tiny 夜雨秋灯} {\scriptsize 夜雨秋灯} {\footnotesize 夜雨秋灯} {\small 夜雨秋灯}\par
夜雨秋灯 {\large 夜雨秋灯} {\Large 夜雨秋灯} {\LARGE 夜雨秋灯}\par
{\huge 夜雨秋灯} {\Huge 夜雨秋灯}
\end{document}

链接: pt与中国字号的关系

中文字号: #

中文字号的表示,在我们使用了ctex文档类,或者使用了ctex宏包之后就默认包含了,如下形式:

\zihao{1}
\zihao{-1}
\zihao{3}
\zihao{-3}
\documentclass{article}
\usepackage{ctex}
\begin{document}
\zihao{1} 夜雨秋灯\par 
\zihao{-1}夜雨秋灯\par
\zihao{3}夜雨秋灯\par
\zihao{-3}夜雨秋灯\par 
\end{document}

字号的普通的声明式命令之整体字号大小的设置 #

我们知道一篇文章或者一本书,总是有一种字体和字号作为正文是占主导作用的,通常的字体有默认的几个选项

\tiny		\scriptszie		\footnotesize		\small		
\normalsize	\large			\Large				\LARGE
\huge		\Huge

那么我们可以使用重定义命令对其进行重新的定义,修改其默认代表的pt值,做到修改全局字体大小的作用

\renewcommand\normalsize{\fontsize{18pt}{\baselineskip}\selectfont}
使用宏包\anyfontsize
其中\fontsize命令为\fontsize{大小}{行间距}\selectfont

竖直间距的设定 #

基本行距的设置: #

中英都使用命令 \linespread{factor} (此命令的生效范围是在\selectfont命令之后)

其中factor指的是基本行距的倍数因子,默认基本行距为文字大小的1.2倍

默认的英文因子是1,默认的中文因子是1.3

即默认条件下,英文的行距是字号的1.2 X 1 = 1.2倍;中文行距是字号的 1.3 X1.2 = 1.56 倍

宏包:setspace 宏包

\documentclass[]{article}
\usepackage{ctex}
\usepackage[left = 30mm,right = 30mm]{geometry}
\setlength{\parskip}{0.5cm}%设置段落间距
\usepackage{showframe}
\begin{document}
我在导言区设置了段落之间的间距为 0.5cm,所以当我写完这一断,然后开辟下一段的时候,大家就会发现,下一段和这一段的距离是 0.5cm。\par
这是我新开启的一段,是不是可以清晰的看到段落之间的间距是 0.5cm。\par
\linespread{4}\selectfont        %设置行间距
在这是我又设置了一个4倍的默认行距,所以在这一段里,每一行之间的行距是上面一段行距的4倍,待会儿编译完之后可以清晰的看到这个设置。\par
\linespread{1.3}\selectfont
重新设置了行距是单倍行距,现在我这一段的行距就是1.3倍(中文默认的行距)的了。锦瑟无端五十弦,一弦一柱思华年
\end{document}

垂直间距:(实验失败,不知原因) #
命令 作用
\vspace{长度} 生成垂直方向间距为“长度”的空白,但是有个大毛病
\vspace*{长度} 生成垂直方向间距为“长度”的空白
\vfill = \vspace{fill} 垂直方向上分散均匀排列

notice:其中长度参数可以是\parskip,\itemsep,\smallskip,\medskip,\bigskip等

以下比较以下\vspace{}与\vskip 长度 的异同

\documentclass[]{article}
\usepackage{ctex}
\usepackage{blindtext}
\begin{document}
锦瑟无端五十弦一弦一柱思华年庄生晓梦迷蝴蝶望帝春深托杜鹃,沧海月明珠有泪
\vskip 1cm
锦瑟无端五十弦一弦一柱思华年庄生晓梦迷蝴蝶望帝春深托杜鹃,沧海月明珠有泪
\vspace*{1cm}
锦瑟无端五十弦一弦一柱思华年庄生晓梦迷蝴蝶望帝春深托杜鹃,沧海月明珠有泪
\end{document}

可以明显的看出,\vspace必须将上一行补全才可以使用。所以建议使用\vskip

参考链接: \vskip 与 \vspace 的关系

水平间距的设定 #

先介绍几个常用的LaTeX单位:

单位 中文 大小 备注
pt 1/72英寸
in 英寸 2.54cm
em 全身 字号对应的长度 大小等于\quad,大写M的宽度
ex 本意是小写字母 x 的高度
\quad 1em
\qquad 2em
\hspace{长度} 生成水平方向大小为“长度”的空白间距(每行的起始处不生效,不会产生缩进效果)
\hspace*{长度} 生成水平方向大小为“长度”的空白间距(每行的起始处生效,产生缩进效果)
\hfill = \hspace{fill} 水平方向上分散均匀排列

例子

\documentclass{article}
\usepackage{ctex}
\usepackage{showframe}
\begin{document}
\setlength{\parindent}{0em}
锦瑟无端五十弦\quad 一弦一柱思华年\par
庄生晓梦迷蝴蝶\qquad 望帝春深托杜鹃\par
沧海月明珠有泪\hspace{3cm}蓝田日暖玉生烟\par
此情可待\hfill 成追忆\hfill 只是当时\hfill 已惘然
\end{document}