LaTeX自定义字体安装

LaTeX自定义字体安装:Latex模板使用Windows-Stix-fontinstaller安装Wiley stix-fonts字体出错
2019年03月17日 21:19:42 brave_stone 阅读数 721 标签: LATEX wiley stix-fonts Windows-Stix-fontinstaller 自定义字体 更多
个人分类: LaTeX
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/brave_stone/article/details/88619556
感谢以下参考文献:
[1] TeX Users Group网站介绍: https://www.tug.org/fonts/fontinstall.html.
[2] Stack Exchange上关于手动安装字体的回答: https://tex.stackexchange.com/questions/88423/manual-font-installation
[3] 以及 https://ctan.org/tex-archive/fonts/ccicons?lang=en

问题简述
Wiley Online Library 的杂志LaTeX模板需要安装stix-fonts 字体,但是按照README里面执行,安装这个Windows-Stix-fontinstaller.exe应用程序时出现ERROR:Miktek path does not exist or check permission 。因为无法安装字体文件,导致LaTeX在编译生成PDF时出现错误。

LaTeX环境
win10(或win7)系统+CTeX套装软件

问题原因
CTeX使用了MikTex编译引擎,而字体安装需要将字体文件复制到Miktex安装目录,在CTeX中,miktex集成在ctex目录下(c:\ctex\miktex),而Windows-Stix-fontinstaller.exe这个应用程序默认去找C:\Program Files\MiKTeX 2.9这个目录位置,因此在Ctex集成环境下会出现找不到路径的错误。

注:单独下载安装Miktex时,安装路径默认为C:\Program Files\MiKTeX 2.9,此时使用Windows-Stix-fontinstaller.exe不会报错。

解决方法
找到问题所在,接下来我们可以手动配置安装新字体。

本文接下来介绍假定CTEX安装路径为C:\CTEX,需要安装的字体文件为Wiley期刊模板字体文件夹“Stix-fonts”,文件夹中包含的文件类型主要有.enc、.fd、.map、.pfb、.tfm、.vf、.sty、.dtx等文件。
其他安装目录及字体文件请酌情参考。

知识简介(可跳过不看)
Tex按照层次结构组织文件,新字体文件不能只选择任何目录,它必须是TeX层次结构的一部分。新字体文件必须根据标准的TEX目录结构(TDS树)进行组织,因此,对于我们所得到的字体文件,首先应该按照TDS树结构排列。

具体步骤
第一步:首先将不同类型的字体文件按照TDS文件树结构组织排列。
(1) 在任意位置建立一个新文件夹,命名为"MiKTeX"。(注意大小写!)
然后在此"MiKTeX"文件夹下建立三个新文件夹,分别命名为"dvips"、“fonts”、“tex”。
(2) 在"dvips"文件夹下建立"stix"文件夹,然后将"Stix-fonts"中的 .map文件(此处即stix.map)复制到新建立的MiKTeX\dvips\stix文件夹中。
(3) 在"fonts"文件夹下建立"afm"文件夹,然后在"afm"中建立"public"文件夹,之后在此"public"文件夹中建立"stix"文件夹。(此文件夹保持为空即可)
(4) 在"fonts"文件夹下建立"enc"文件夹,然后在"enc"中建立"dvips"文件夹,之后在"dvips"中建立"stix"文件夹,将"Stix-fonts"中所有的 .enc文件全部复制到此新建立的MiKTeX\fonts\enc\dvips\stix文件夹中。
(5) 在"fonts"文件夹下建立"tfm"文件夹,然后在"tfm"文件夹下建立"public"文件夹,之后在"public"中建立"stix"文件夹。将"Stix-fonts"中所有的 .tfm 文件全部复制到此新建立的MiKTeX\fonts\tfm\public\stix文件夹中。
(6) 在"fonts"文件夹下建立"type1"文件夹,然后在"type1"下建立"public"文件夹,之后在"public"中建立"stix"文件夹。将"Stix-fonts"中所有的 .pfb文件全部复制到此新建立的MiKTeX\fonts\type1\public\stix文件夹中。
(7) 在"fonts"文件夹下建立"vf"文件夹,然后在"vf"下建立"public"文件夹,之后在"public"中建立"stix"文件夹。将"Stix-fonts"中所有的 .vf文件全部复制到此新建立的MiKTeX\fonts\vf\public\stix文件夹中。
(8) 在"MiKTeX\tex"文件夹下建立"latex"文件夹,然后在"latex"下建立"stix"文件夹。将"Stix-fonts"中所有的 .fd文件全部复制到此新建立的MiKTeX\tex\latex\stix文件夹中。
最终形成的文件树结构如下图所示:
在这里插入图片描述
  第二步: 将新建立的"MiKTeX"文件夹复制到MiKTeX安装目录C:\CTEX。注意:此操作仅在原目录添加新文件,不必担心对原有文件造成影响。

第三步: 更新FNDB文件名数据库
打开WinEdt,依次选择TeX—>MiKTeX—>MikTeX Options—>General—>Refresh FNDB,待更新完文件名数据库后,点击确定退出。
在这里插入图片描述
  第四步:在updmap文件中添加字体映射
方法1: 进入C:\CTEX,按住shift健点击鼠标右键,选择"在此处打开Powershell窗口"(或者win7用户选择打开cmd命令行窗口)打开命令行窗口,输入命令:

initexmf --edit-config-file updmap
1
该命令打开updmap文件,在文件最后一行输入以下代码:(若文件为空直接输入)

Map stix.map
1
在这里插入图片描述
其中stix.map为你所添加的字体映射map文件名,点击“保存”完成配置文件编辑操作。
然后回到命令行窗口,输入命令:

initexmf --mkmaps
1
等待其完成重建映射操作,即可完成自定义字体配置的所有操作。
方法2: 上述方法1在C:\CTEX\UserData\miktex\config\updmap.cfg文件中添加"Map stix.map",此外也可以用Notepad++或记事本打开文件C:\CTEX\MiKTeX\miktex\config\updmap.cfg在其最后一行添加"Map stix.map",然后执行initexmf --mkmaps命令更新映射。

第五步: 使用wiley 模板进行排版
需要将所给stix-fonts 文件夹中的stix.sty样式文件复制到LaTeX文档根目录下方可正常编译。

祝科研顺利,Good luck!

你可能感兴趣的:(latex,latex)