-
Notifications
You must be signed in to change notification settings - Fork 163
想要使用无衬线大写粗斜体怎么办?
按照概率论和随机过程的惯用符号,一个随机变量用大写字母表示,它的实现用小写字母表示。 一般的,矩阵和向量用大写字母表示,标量用小写字母表示。 当一个变量的含义是随机矩阵或者随机向量时,如果要写出该变量的概率密度函数f_{X}(X),那么上述表示方式就造成了混淆, 所以有的文献用无衬线大写粗斜体表示随机矩阵或者随机向量,用有衬线大写粗斜体表示它的实现。 UESTCthesis模板使用CM字体作为数学字体,但是CM字体的字形不够丰富,没有想要的无衬线大写粗斜体, 因此需要修改模板。
解决办法是把CM字体更换为Latin Modern字体,LM字体的字形与CM几乎完全一样,但是具有更多的变体。
首先需要用MikTeK或者TeX Live的包管理器安装lm包。安装好后,开始修改模板。 用编辑器打开模板的文类定义文件 \UESTCthesis-master\source\uestcthesis.dtx ,
1.加入字体,找到
% \begin{macrocode}
\LoadClass[cs4size,UTF8,fancyhdr,hyperref,fntef,openany]{ctexbook}[2011/03/11]
% \end{macrocode}
%\changes{v0.6.1}{2014/01/20}{修正所有正文的英文为Times字体。抄录环境中的英文使用打印机字体,并不能用Times字体。}
在下面添加
% \begin{macrocode}
\RequirePackage{lmodern}
% \end{macrocode}
%\changes{v1.1.1}{2015/03/19}{默认的CM字体没有那么多变体。需要换字体。改为Latin Modern字体,字形与 CM 几乎完全一样,更多变体。}
% \begin{macrocode}
\DeclareMathAlphabet{\mathsfit}{OT1}{lmss}{m}{it}
\SetMathAlphabet{\mathsfit}{bold}{OT1}{lmss}{bx}{it}
% \end{macrocode}
2.将通用字体声明由cm打头改为lm打头,找到
% \begin{macrocode}
\DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n}
\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
\DeclareSymbolFont{operators} {OT1}{cmr} {m}{n}
\DeclareSymbolFont{letters} {OML}{cmm} {m}{it}
\SetSymbolFont{operators}{bold}{OT1}{cmr} {bx}{n}
\SetSymbolFont{letters} {bold}{OML}{cmm} {b}{it}
\SetSymbolFont{symbols} {bold}{OMS}{cmsy}{b}{n}
% \end{macrocode}
将c换成l,即
% \begin{macrocode}
\DeclareSymbolFont{symbols} {OMS}{lmsy}{m}{n}
\DeclareSymbolFont{largesymbols}{OMX}{lmex}{m}{n}
\DeclareSymbolFont{operators} {OT1}{lmr} {m}{n}
\DeclareSymbolFont{letters} {OML}{lmm} {m}{it}
\SetSymbolFont{operators}{bold}{OT1}{lmr} {bx}{n}
\SetSymbolFont{letters} {bold}{OML}{lmm} {b}{it}
\SetSymbolFont{symbols} {bold}{OMS}{lmsy}{b}{n}
% \end{macrocode}
3.加入检查语句,找到
\checkctexbookclass{2011/03/11}
在下面添加
\checkctexbookclass{lmodern}{2014/09/13}
保存后退出uestcthesis.dtx的编辑。
改动\UESTCthesis-master\example目录中的主文件thesis.tex ,加入自己isomath包
1.根据isomath文档[1]的说明,该包已经定义了 mathsfit mathsfbfit 等命令, 所以在
\documentclass[doctor,onlychapters]{uestcthesis}
下面直接加入
\usepackage{isomath}
2.测试,打开\UESTCthesis-master\example\chapters\math.tex文件,加入
$ \mathsfbfit{AX}, \bm{AX}, AX $
编译后可见效果。
参考文献: http://tug.ctan.org/macros/latex/contrib/isomath/isomath.sty.html#id17