LaTeX的学习--字体

打开cmd,输入texdoc xeCJK可以查看xeCJK宏包的帮助

英文字体

字族(family)

  1. 罗马字体(默认):\rmfamily\textrm{}
  2. 无衬线字体:\sffamily\textsf{}
  3. 等宽字体:\ttfamily\texttt{}

字系(series)

  • 粗体:\bfseries\textbf{}
  • 常规字体:\mdseries\textbf{}

字形(shape)

  • 斜体:\itshape\textit{}
  • 小型大写:\scshape\textsc{}
  • 倾斜:\slshape\textsl{}
  • 直立:\upshape\textup{}

中文字体

要使用中文字体,需要引入中文的宏包ctexctex中预先设置了下列六种字体:

  • 宋体:\songti
  • 楷书:\kaishu
  • 黑体:\heiti
  • 隶书:\lishu
  • 幼圆:\youyuan
  • 雅黑:\yahei

上述六种字体皆可以看成英文的字族系列,同样中文的粗体为\textbf{文字}、斜体为\textit{文字}

使用系统字体

需要的宏包有xeCJKfontspec。但ctex宏包包含了xeCJK宏包,而xeCJK包含了fontspec宏包。故而只需要引用ctex宏包就行。

对于latex中,系统的中文字体与英文字体是分开设置与使用的。这样方便了文章中中英文使用不同的字体。使用时,可以在导言区中使用命令将其合并。例如:

\newcommand{\myfont}[1]{\heiti\sffamily #1}

上面的命令定义了一条新命令\myfont,使用中文为黑体,英文为无衬线字体。

设置全文字体

\usepackage{ctex}
\setmainfont{字体名称}  % 英文正文罗马字体
\setsansfont{字体名称}  % 英文正文无衬线字体
\setmonofont{字体名称}  % 英文正文等宽字体
\setCJKmainfont{字体名称}   % 正文中文字体
\setCJKsansfont{字体名称}   % 正文中文无衬线字体
\setCJKmonofont{字体名称}   % 中文中文等宽字体

导入系统的中文与英文字体

% 英文
\newfontfamily{\自定义名称}{字体名称}
% 中文
\newCJKfontfamily[CJKfamily名称]\自定义名称{字体名称}[粗体,斜体设置]

例子:

% 导入英文的黑体
\newfontfamily{\enheiti}{SimHei}
% 导入中文的黑体
\newfontfamily[SimHei]\zhheiti{SimHei}[AutoFakeSlant=0.3, AutoFakeBold=3]

字体大小设置

ctex宏包中,定义了一个字号命令\zihao{},括号里面为数字。可以为0、-0、1、-1、...

  • 0 -- 初号
  • -0 -- 小初
  • 1 -- 一号
  • -1 -- 小一

以此类推,最多为8.

自定义字体的大小

\fontsize{大小}{行距}\selectfont

其中单位默认为pt,行距一般设置比字体大20%。

字体颜色

其他

中文与英文之间距离调整

  • 局部设置:
    1. \CJKsetecglue{} -- 括号里为距离,如果不填就默认为没有空格。
    2. \mbox{} -- 例如 \mbox{中文}english 就不会产生空格。
  • 全局设置:
    \xeCJKsetup{ CJKecglue=距离, <key>=<value>, ...} -- 如果距离不填默认全局中英文之间没有距离。

自定义命令

\newcommand{新命令}[参数数量][默认值]{定义内容}
  • 新命令 ----------- 不能以\end开头,否则将报错。
  • 参数数量 --------- 可选参数,用于指定该新命令所具有参数的个数,它可以为0~9之中的一个整数,默认值为0即没有参数。
posted @ 2019-02-20 22:06  54fire  阅读(1180)  评论(0编辑  收藏  举报