Latex学习之“\usefont”用法
一、通俗的解释
\usefont
是 LaTeX 中的一个命令,用于在文档中临时
改变字体,其基本语法如下:
\usefont{字体编码}{字体族}{字体系列}{字体形状}
这样看起来好像蛮抽象,你可能以及晕了,什么是字体编码?什么是字体族?什么是 … \ldots …
没关系,看看参数说明吧!
二、参数详细说明
2.1 字体编码(Encoding)
在 LaTeX 中,不同的字体编码支持不同的字符集,这对于处理特殊字符和符号非常重要。LaTeX 支持多种字体编码,常见的字体编码:
OT1
- LaTeX 的传统编码,支持基本的拉丁字母表,包括一些重音字符。这是 LaTeX 默认的字体编码。T1
- 欧洲字体编码,提供了对更多重音字符的支持,适合西欧语言。使用T1
编码通常需要加载fontenc
宏包,即\usepackage[T1]{fontenc}
。OML
- 数学字母编码,用于数学模式中的斜体字母
OMS
- 数学符号编码,用于数学模式中的符号。OMX
- 扩展数学符号编码,用于大号的数学符号
。U
- Unicode 编码,支持几乎所有的 Unicode 字符。使用 Unicode 编码通常需要现代的 LaTeX 引擎,如 LuaLaTeX 或 XeLaTeXEU1
- Unicode 编码的一种,通常与fontspec
宏包和 LuaLaTeX 或 XeLaTeX 引擎一起使用。EU2
- 另一种 Unicode 编码,也用于 LuaLaTeX 或 XeLaTeX。LGR
- 希腊字母编码,用于支持希腊语。T2A
- Cyrillic 编码,用于支持西里尔字母(俄语等)。T2B
- Cyrillic 编码的扩展,用于支持更多的西里尔字母字符。T2C
- 另一种 Cyrillic 编码的扩展。T3
-IPA 扩展编码,用于支持国际音标。TS1
- Text Companion 编码,提供了额外的文本符号,如版权符号、注册商标符号等。
2.2 字体族
cmr
- Computer Modern Roman:LaTeX 的默认罗马字体。cmss
- Computer Modern Sans Serif:无衬线字体。cmtt
- Computer Modern Typewriter:打字机字体。cmmi
- Computer Modern Math Italic:数学模式中的斜体罗马字体。cmsy
- Computer Modern Symbol:数学模式中的斜体符号字体。cmex
- Computer Modern Extension:数学模式中的扩展符号字体。cmbx
- Computer Modern Bold Extended:数学模式中的粗体扩展罗马字体。cmbxsl
- Computer Modern Bold Slanted:数学模式中的粗体倾斜罗马字体。cmbxti
- Computer Modern Bold Typewriter:数学模式中的粗体打字机字体。
2.3 字体系列
m
- Medium:中等粗细,这是默认的字体系列。b
- Bold:粗体。l
- Light:细体。sb
- Bold Slanted:粗体倾斜。sl
- Slanted:倾斜。ss
- Super Script:上标。sp
- Sub Script:下标。
2.4 字体形状
n
- Normal:直立字体,这是默认的字体形状。it
- Italic:斜体。sl
- Slanted:倾斜字体。sc
- Small Caps:小型大写字母。
三、注意事项
- 使用
\usefont
命令时,需要确保指定的字体在文档编译时是可用的,否则会导致编译错误。 \usefont
不会改变当前的字体大小(只改变字体本身),如果需要改变字体大小,应该使用\fontsize
命令。- 在使用非标准字体时,需要确保在文档的导言区正确地加载了相关的字体包和设置。
\usefont
命令直接与底层字体选择机制交互,因此在一般情况下,建议使用更高层次的命令,如\fontfamily
,\fontseries
,\fontshape
和\fontsize
,这些命令更加灵活,能够自动处理相关的字体大小调整和兼容性问题。- ⚠️
\usefont
的生命期直到下一个字体设置命令出现才会结束;如果一直没有对字体的设置了,那作用域一直延续到\end{document}
。如果指向对某一部分进行字体设置,请将那一部分用域符
或者说环境符{}
包含起来
四、测试
如果你想看看他们之间的组合到底会碰撞出怎样的火花,不妨来给他们做一次参数组合排列?,参数顺序不能变噢。
如果你想用人工组合的方法那当我没说,估计你今天全用来拍列了,不如用代码呗,下面是python代码,你运行以下控制台就会出来latex命令
你把这些命令粘贴到latex环境中编译就可以看到效果啦
list1 = ['cmr', 'cmss', 'cmtt', 'cmmi', 'cmsy', 'cmex', 'cmbx', 'cmbxsl', 'cmbxti']
list2 = ['m', 'b', 'l', 'sb', 'sl', 'ss', 'sp']
list3 = ['n', 'it', 'sl', 'sc']for i in list1:for j in list2:for k in list3:print(f'\\usefont{{OT1}}{{{i}}}{{{j}}}{{{k}}}This is Test text','\n')
如果你此时还没有latex基础,那我再给你一个测试模板吧
\documentclass[a4paper]{ctexart}\begin{document}%将你的测试代码行粘贴到该行后面
\end{document}