对于文档处理工具来说,字体恐怕是最终的内容了。
LaTex可以引用多种不同的字体,从而完成优秀的排版效果。不过大部分的LaTex模板,都是使用本地字库,或者说,模板的开发者会要求你,安装相应的字体,才能最终编译陈工。
其实,LaTex可是实现直接读取字体文件来进行文档的渲染工作,这样,用户在使用的时候,不需要安装额外的字体,并且LaTex会把需要的字体,嵌入到最终的PDF文档中,保证渲染效果。
一般来说,LaTex的字体设置方式是:
\setmainfont{ }%衬线字体 \setsansfont{ }%无衬线字体 \setmonofont{ }%等宽字体,一般是打印机字体
其中,{}中是字体的名字。
而事实上,我们可以用另外一种方法,来进行字体设置。
首先,把字体文件(ttf等),放在tex目录的fonts文件夹中,然后使用代码:
%设置英文字体 鸿蒙字体 \setmainfont[ Path=fonts/, BoldFont=HarmonyOS_Sans_Bold.ttf, ItalicFont=HarmonyOS_Sans_Regular_Italic.ttf, BoldItalicFont=HarmonyOS_Sans_Bold_Italic.ttf, ]{HarmonyOS_Sans_Regular.ttf} \setsansfont[ Path=fonts/, BoldFont=HarmonyOS_Sans_Bold.ttf, ItalicFont=HarmonyOS_Sans_Regular_Italic.ttf, BoldItalicFont=HarmonyOS_Sans_Bold_Italic.ttf, ]{HarmonyOS_Sans_Regular.ttf} \setmonofont[ Path=fonts/ ]{HarmonyOS_Sans_Regular.ttf} %设置中文字体 鸿蒙字体 \setCJKmainfont[ Path=fonts/, BoldFont=HarmonyOS_Sans_SC_Bold.ttf, ItalicFont=HarmonyOS_Sans_SC_Regular.ttf, BoldItalicFont=HarmonyOS_Sans_SC_Bold.ttf ]{HarmonyOS_Sans_SC_Regular.ttf} \setCJKsansfont[ Path=fonts/, BoldFont=HarmonyOS_Sans_SC_Bold.ttf, ItalicFont=HarmonyOS_Sans_SC_Regular.ttf, BoldItalicFont=HarmonyOS_Sans_SC_Bold.ttf ]{HarmonyOS_Sans_SC_Regular.ttf} \setCJKmonofont[ Path=fonts/ ]{HarmonyOS_Sans_SC_Regular.ttf}
就可以实现字体设置了。
这种设置的好处是,不需要用户在编译时安装字体文件,能够做到在任何机器上进行直接编译。
我按照您的做了,中文起作用,英文不起作用。把\usepackage[T1]{fontenc} 的[T1]去掉,英文大字起作用,英文常规字不起作用,为啥呢?请您指教!
@三拙 这个原因有很多,不太好分析啊。
不好意思,问一个比较低级的问题。为何我在使用\setmainfont命令中提示无此命令,我所使用的环境是CTex3.02版本+Win11+WinEdt11。我也希望能用上鸿蒙字体。
@小白 没用过Ctex呢,不是很清楚。
感觉还是markdown简单啊
@xqiushi 那肯定,markdown就不是专业的排版软件,它属于轻文档语言,底层基于html,功能很弱。
@老杨 markdown更适合我
LaTex更适合你
@xqiushi 对,需求不同,用到的技术和工具也不同。