tex模版wins版本在mac中字体不对应问题解决方案

以南开大学硕博论文模版为例

wins模版下载地址

http://222.30.48.141/~sunwch/tex/tex.htm

 

直接在mac中运行会报错

tex模版wins版本在mac中字体不对应问题解决方案_第1张图片

原因是模版nktfont.cfg中的字体名字是在windows里的名称,与mac系统中字体名称不一致

 

解决方法:修改NKTfonts.cfg 字体配置文件

step 1. 在路径/usr/local/texlive/2015/texmf-dist/tex/latex/ctex/fontset/中打开ctex-fontset-mac.def文件,可以看到相关CJK在mac版本中所对应的字体名字。

step2. 打开NKTfonts.cfg 

原文件为

\ifxetex
  \setCJKmainfont[BoldFont={[simhei.ttf]},ItalicFont={[simkai.ttf]}]{SimSun}
  \setCJKmonofont{[simfang.ttf]}
  \setmainfont{Times New Roman}
\else
  \ifpdf
    \pdfmapline{=gbksong@UGBK@ < stsong.ttf}
    \pdfmapline{=gbkfs@UGBK@   < simfang.ttf}
    \pdfmapline{=gbkkai@UGBK@  < simkai.ttf}
    \pdfmapline{=gbkhei@UGBK@  < simhei.ttf}
  \else
    \special{pdf:mapline -gbksong@UGBK@}
    \special{pdf:mapline -gbkkai@UGBK@}
    \special{pdf:mapline -gbkhei@UGBK@}
    \special{pdf:mapline -gbkfs@UGBK@}
	\special{pdf:mapline + gbksong@UGBK@ unicode :0:simsun.ttc -v 50}
	\special{pdf:mapline + gbkkai@UGBK@  unicode simkai.ttf -v 70}
	\special{pdf:mapline + gbkhei@UGBK@  unicode simhei.ttf -v 150}
	\special{pdf:mapline + gbkfs@UGBK@  unicode simfang.ttf -v 50}
  \fi
\fi

其中的simhei(黑体),simkai(楷体), simsun(宋体), simfang(仿宋)均为win字体名称,在mac中分别对应 华文黑体:STHeiti ,华文楷体:STKaiti ,华文宋体:STSong ,华文仿宋:STFangsong

所以将原文件中的字体名称全部替换,新文件为

\ifxetex
  \setCJKmainfont[BoldFont=STHeiti,ItalicFont=STKaiti]{STSong}
  \setCJKmonofont{STFangsong}
  \setmainfont{Times New Roman}
\else
  \ifpdf
    \pdfmapline{=gbksong@UGBK@ < STsong }
    \pdfmapline{=gbkfs@UGBK@   < STFangsong }
    \pdfmapline{=gbkkai@UGBK@  < STKaiti }
    \pdfmapline{=gbkhei@UGBK@  < STHeiti }
  \else
    \special{pdf:mapline -gbksong@UGBK@}
    \special{pdf:mapline -gbkkai@UGBK@}
    \special{pdf:mapline -gbkhei@UGBK@}
    \special{pdf:mapline -gbkfs@UGBK@}
	\special{pdf:mapline + gbksong@UGBK@ unicode :0:STsong -v 50}
	\special{pdf:mapline + gbkkai@UGBK@  unicode STKaiti -v 70}
	\special{pdf:mapline + gbkhei@UGBK@  unicode STHeiti -v 150}
	\special{pdf:mapline + gbkfs@UGBK@  unicode STFangsong -v 50}
  \fi
\fi

注意: 其中第二句

  \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ]  { STSong }

是根据step 1 中文件的写法,不仅要替换字体名,还要删去字体名外的框{[]}。(一开始就是在这里bug卡了好久!)

 

保存后替换NKTfonts.cfg 文件即可运行。(还有些小bug,如cchead package不属于mac tex可读包,直接注释掉即可。)

 

ref:

https://bbs.pku.edu.cn/v2/post-read.php?bid=134&threadid=14993727

http://www.latexstudio.net/archives/3382.html

 

你可能感兴趣的:(其它)