LaTex中文字体加粗的问题

LaTex中⽂字体加粗的问题
1. 字体加粗原理。
打开c/windows/fonts⽬录,以图标形式查看,我们可以发现有的图标是⼀张纸的样⼦,有的图标是⼏张纸叠着的样⼦。双击⼏张纸样⼦的图标,⽐如Arial,发现⾥⾯有很多个⽂件,有的⽂件名带⿊体,说明对于Arial,字体⽂件单独区分了常规体和粗体。
谁的荷尔蒙在飞我浏览了⼀下,发现英⽂⼤多数都单独定义了粗体,斜体,但是中⽂字体只有很少的会单独定义,只有雅⿊和等线。
那么没有定义的字体,在加粗时,其实是软件做了简单地描边,效果肯定没有单独定义的好。
2. LaTex字体概念
王瓜根LaTex字体有三个维度:
font family 字体族:分为rm罗马,sf⽆衬线,tt打字机三种。默认是rm。
(这个其实很少)
font shape 形状:如直⽴,倾斜。
font series 加粗
以上很难满⾜对多种字体的选择需要,尤其是针对中⽂,我们的做法是分两步,⼀是选三种较常⽤的字体,设为上⾯的三种字体族:
\setCJKmainfont{SimSun} %对应rm罗马
\setCJKsansfont{SimHei}%对应sf⽆衬线
\setCJKmonofont{FangSong}%对应tt打字机
这样就可以使⽤rmfamily, sffamily这样已有的命令来指定字体;
⼆是⾃⼰设定新的字体族:
\setCJKfamilyfont{yh}{Microsoft YaHei}
然后要⾃定义命令:
\newcommand{\yh}{\CJKfamily{yh}}
兵人模型
(英⽂字体的设定⽅法略)
2. LaTex加粗命令
textbf和bfseries是⼀样的加粗命令,只是使⽤⽅式不同。
对于单独定义了粗体的字体,这个命令⽆论对中⽂还是英⽂都是有效的。
对于没有单独定义粗体的字体,我们只说中⽂:
尼伯特台风路径莎叶兰>小黑眼如果没有使⽤setCJKmainfont或setCJKfamilyfont,那么对默认字体(不使⽤\songti这些命令)使⽤加粗命令时,得到的是⿊体,因为默认的中⽂字体族是rm,其正常字体是宋体,粗体是⿊体。其实并不是我们想要的加粗效果,因为这个已经改变字体了。
如果使⽤setCJKmainfont,可以加上AutoFakeBold这个参数,来实现加粗效果,否则是没有加粗效果的:
\setCJKmainfont{SimSun}[AutoFakeBold,ItalicFont=KaiTi]
还有⼀种⽅式,可以直接指定加粗的字体,就是设置BoldFont=,但是我并没有遇到可以应⽤的场合。

本文发布于:2024-09-20 21:44:06,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/531031.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字体   没有   定义   效果   命令   图标   查看
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议