2.1.1 字斟句酌
2.1.1.1 从字母表到单词
\documentclass{article}
\usepackage[greek,english]{babel}
\usepackage[OT2,OT1]{fontenc}
\begin{document}
\textgreek{abcd}
{\fontencoding{OT2}\selectfont ABCabc}
\end{document}
效果:
![](https://i-blog.csdnimg.cn/blog_migrate/4c78a5b20c1b1ea742107c9955982e5a.png)
2.1.1.2 正确使用标点
键盘上有16种标点:
, . ; : ! ? ` ’ ( ) [ ] - / * @
其中, . ; : ! ?用来分隔句子或部分句子
- 引号
引号在Latex中用‘和’两个符号表示。单引号用一遍,双引号用两遍。如果遇到单引号和双引号连续出现的情形,则在中间用\,命令分开:
``\,`A' or `B?'\,''he asked.
效果:
![](https://i-blog.csdnimg.cn/blog_migrate/3ce3e58967351b5fb49b61e155c845cb.png)
“`”是键盘左上角esc下面的按键
注意,Latex并不会忽略以符号命名的宏前后的空格(如\,),所以在它前后都不要加多余的空格。符号`同时是所有格和省字的撇号。
引号和括号通常要在前后加空格分隔单词。
-
除了在数学模式中表示减号,符号-单独使用是连字符,–表示数字范围也可用~或$\sim$,—表示破折号
-
西文的省略号:$\ldots$或$\dots$
-
数学模式符号$、注释符%、上标^、分组{}、宏命令\。剩下的符号中,~是带子,#用在宏定义中,&用于表格对齐,而_表示下标。要在正文中使用这些符号,大部分是在前面加\,但反斜杠例外:
\# \quad \$ \quad \% \quad \& \quad \{ \quad \} \quad \_ \quad \textbackslash
效果:
2.1.1.3 看不见的字符——空格与换行
- 文本中的空格起分隔单词的作用,任意多个空格与一个空格功能相同;只有字符后面的空格是有效的,每行最前面的空格则被忽略,单个换行也被看做是一个空格。
- 以字母命名的宏,后面的空格会被忽略,可以用+空格达到空格的效果
- 一种不可打断的空格,用~表示,如1,~2,and~3
- 西文的逗号、句号、分号登标点后面应该加空格
2.1.2 特殊符号
2.1.3 字体
2.1.3.1 字体的坐标
字体的三种属性:字体族(font famliy)、字体形状(font shape)、字体系列(font series)
Latex提供了带参数的命令和字体声明两类修改字体的命令,前者用于少量字体的更换,后者用于分组或环境中字体的整体更换。如:
\textit{Italic font test}
{\bfseries Bold font test}
- 预定义命令的字体族有三种:罗马字体族(roman family)、无衬线字体族(sans serif family)、打字机字体族(typeweiter famliy)
字体族 | 带参数命令 | 命令声明 |
---|---|---|
罗马 | \textrm(文字) | \rmfamily |
无衬线 | \textsf{文字} | \sffamily |
打字机 | \texttt{文字} | \ttfamily |
正文默认使用罗马字体族
2.预定义命令的字体形状有四种
字体形状 | 带参数命令 | 命令声明 |
---|---|---|
直立 | \textup(文字) | \upshape |
意大利 | \textit{文字} | \itshape |
倾斜 | \textsl{文字} | \slshape |
小型大写 | \textsc{文字} | \scshape |
正文默认使用直立字体形状;通常说的“斜体”往往是指意大利形状,而倾斜形状是直接对符号倾斜产生的
3.预定义命令的字体系列有两种
字体系列 | 带参数命令 | 命令声明 |
---|---|---|
中等 | \textmd(文字) | \mdseries |
加宽加粗 | \textbf{文字} | \bfseries |
正文默认使用中等字体系列,加粗(bold),半粗(demi-bold)
-
字体的这三种性质确定字体的三维坐标,同一维度内的性质不能叠加,但不同类的性质可以叠加
-
除了上面列觉得字体命令,还有\textnormal{文字}和\normalfont命令用来把字体设置为“普通”的格式。默认情况下,普通字体相当于\rmfamily\mdseries\upshape的效果。普通字体特别适用于在复杂的字体环境中恢复普通的字体,尤其是在宏定义这类不知道外部字体设置的情况下
-
倾斜校正命令/
-
中文字体的选择命令和西文字体是分离的,选择中文字体族使用\CJKfamily命令,如:
{\CJKfamily{hei} 这是黑体}
{\CJKfamily{kai} 这是楷书}
2.1.3.2 使用更多字体
- 把整套字体换为Times Roman的衬线字体(罗马体)或Helvetica的无衬线字体,Times字体也能与中文宋体很好地配合,有几个宏包可以达到这个目的
- 最简单的是times宏包,只能更换正文字体,没有更换配套的数学字体,很少使用
- mathptmx在times宏包的基础上增加了数学字体的支持
- 效果最好的免费字体则是txfonts宏包,对整套西文字体和数学符号给出了完整的解决方案
使用字体宏包非常简单:
\documentclass{article}
\usepackage{txfonts}
\begin{document}
Test test
\end{document}
- 有时需要分别定义正文字体和与之配套的数学字体,此时就必须手工指定不同的字体包。例如使用高德纳的Concrete正文字体与Zapf的Euler数学字体配合时,就需要综合使用字体包ccfonts和euler:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{ccfonts, eulervm}
\begin{document}
Test test
\end{document}
在使用Concrete与Euler字体时,我们使用了一个新的宏包fontenc来选择字体的编码。fontenc宏包可以包含多个选项,表示文档所使用的正文字体编码,最后一个选项的编码是文档默认使用的编码。传统Latex字体编码有一般正文字体OT1、扩展正文字体T1、数字字母OML、数学符号OMS、数学符号扩展OMX等
- 使用XeLaTex选择字体。在XeLaTex中,主要使用fontspec宏包的机制来调用字体。最基本的是设置正文罗马字体族、无衬线字体族和打字机字体族的命令:
\setmainfont[可选选项]{字体名}
\setsansfont[可选选项]{字体名}
\setmonofont[可选选项]{字体名}
例如:
\usepackage{fontspec}
\setmainfont{Times New Roman}
\setsansfont{Verdana}
\setmonofont{Courier New}
此时\rmfamliy、\sffamily和\ttfamily就分别对应设置的三种字体
- 定义新的字体族命令:
\newfontfamily(命令)[可选选项]{字体名}
例如:
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\lucidasans{Lucida Sans}
\begin{document}
{\lucidasans This is Lucida Sans.}
\end{document}
2.1.3.3 强调文字
- \emph命令表示强调,用于把直立体改为意大利体,把意大利体改为直立体:
\documentclass{article}
\begin{document}
%两种形式
You \emph{should} use fonts carefully.
\textit{You {\em should\/} use fonts carefully.}%注意\/倾斜校正
\end{document}
在西文中通常使用意大利体表示夹在正文中的强调句,不过有时仍然使用大写、小型大写或粗体进行更醒目的强调,比如在参考文献的一些项目、书籍索引中的部分页码,或其他类似的内容
- 假设我们需要用粗体表示比\emph更强烈的强调,可以定义一个新的命令:
\newcommand\Emph{\textbf}
This is \Emph{emphasized} text.
- 下划线是另一种颇具手稿风格的强调方式:
\underline{Emphasized} text and \underline{another}
不过\underline的一个很大缺点是下划线部分不能换行,如果仔细看上面的例子还会发现下划线与文字的距离不整齐。ulem宏包的\ulem命令解决了这些问题,使用并且把默认的\emph命令也改为了使用下划线的方式:
\usepackage{ulem}
A \emph{very} long sentence.
除了下划线,ulem宏包也提供了其他一些修饰文字的命令
CJKfntef宏包对汉字也提供了类似的功能,同时进行了一些扩充
2.1.4 字号和行距
- Latex提供10个简单的声明式命令调整文字的大小
\tiny | \Large |
---|---|
\scriptsize | \LARGE |
\footnotesize | \huge |
\small | \Huge |
\normalsize | |
\large |
-
中文字号可以使用同样的命令设置。不过为了明确字号的具体大小,也可以使用ctex宏包或ctexart等文档类提供的\zihao命令设置
-
Latex中的行距是与字号直接相关的,在设置字号时,同时也就设置了基本行距位文字大小的1.2倍
-
可以使用命令
\linespread{因子}来设置实际的行距,行距=因子 * 基本行距。
对article文档类来说,因子默认值是1,对ctexart等中文文档类来说,默认值为1.3
- setspace宏包提供了一组命令和环境,用于修改行距因子的同时保证数学公式、浮动体、脚注间距的值也相对合理。基本命令是\setstretch{因子}。
2.1.5 水平间距与盒子
2.1.5.1 水平间距
命令 | 距离 |
---|---|
\, | 0.1667em |
\! | -0.1667em |
\enspace | 0.5em |
\quad | 1em |
\qquad | 2em |
\enskip | 0.5em |
\空格 | 空格 |
\hspace
2.1.5.2 盒子
盒子是Tex中的基本处理单位