我去了这个地点并为我的 Windows 电脑下载了 Futura。我提取了文件并将它们保存在与我的代码相同的位置。我还打开了我想要的两个字体,Futura Book 字体和 Futura Book Italic,然后单击“安装”。
当我使用 XeLaTeX 或 LuaLaTeX 在 TeXworks 中运行代码时出现错误。
梅威瑟:
\documentclass[twoside,openany]{book}
\usepackage[paperheight=7.5in,paperwidth=7.5in,left=1in,right=1in,top=1in,bottom=1in]{geometry}
\usepackage[hidelinks]{hyperref}
\usepackage{graphicx}
\usepackage{tipa}
\usepackage{xcolor}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{subfiles}
\usepackage{enumitem}
\usepackage[none]{hyphenat}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{fontspec}
\setmainfont{Futura Book}[ItalicFont={Futura Book Italic}]
\usepackage{titlesec}
\titleformat{\chapter}{}{}{0em}{\bf\LARGE}
\titleformat*{\subsubsection}{\Large\bfseries}
\setlength{\parindent}{0pt}
\setcounter{secnumdepth}{-1}
\setcounter{tocdepth}{3}
\renewcommand\chaptermark[1]{%
\markright{\thechapter\ #1}}
\newcommand{\changefont}{%
\fontsize{10}{9}\selectfont
}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LO]{\textit\rightmark}
\fancyhead[RO]{\thepage}
\fancyhead[LE]{\thepage}
\fancyhead[RE]{\textit\leftmark}
\renewcommand{\headrulewidth}{0pt}
%\definecolor{BLUE}{HTML}{23afdc}
%\definecolor{RED}{HTML}{a81e2d}
%\definecolor{ORANGE}{HTML}{ea6d3c}
%\definecolor{YELLOW}{HTML}{e6a327}
%\definecolor{GREEN}{HTML}{5fa244}
%\definecolor{INDIGO}{HTML}{005988}
%\definecolor{VIOLET}{HTML}{7B2C8E}
\begin{document}
Please help me write this text in Futura!
\end{document}
这是我的错误:
This is XeTeX, Version 3.14159265-2.6-0.999991 (MiKTeX 2.9.7000 64-bit)
entering extended mode
("C:/Users/Ethan/Documents/Codex 2.0/untitled-2.tex"
LaTeX2e <2018-12-01>
("C:\Program Files\MiKTeX 2.9\tex/latex/base\book.cls"
Document Class: book 2018/09/03 v1.4i Standard LaTeX document class
("C:\Program Files\MiKTeX 2.9\tex/latex/base\bk10.clo"))
("C:\Program Files\MiKTeX 2.9\tex/latex/geometry\geometry.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics\keyval.sty")
("C:\Program Files\MiKTeX 2.9\tex/generic/oberdiek\ifpdf.sty")
("C:\Program Files\MiKTeX 2.9\tex/generic/oberdiek\ifvtex.sty")
("C:\Program Files\MiKTeX 2.9\tex/generic/ifxetex\ifxetex.sty")
("C:\Program Files\MiKTeX 2.9\tex/xelatex/xetexconfig\geometry.cfg"))
("C:\Program Files\MiKTeX 2.9\tex/latex/hyperref\hyperref.sty"
("C:\Program Files\MiKTeX 2.9\tex/generic/oberdiek\hobsub-hyperref.sty"
("C:\Program Files\MiKTeX 2.9\tex/generic/oberdiek\hobsub-generic.sty"))
("C:\Program Files\MiKTeX 2.9\tex/latex/oberdiek\auxhook.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/oberdiek\kvoptions.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/hyperref\pd1enc.def")
("C:\Program Files\MiKTeX 2.9\tex/latex/00miktex\hyperref.cfg")
("C:\Program Files\MiKTeX 2.9\tex/latex/url\url.sty"))
("C:\Program Files\MiKTeX 2.9\tex/latex/hyperref\hxetex.def"
("C:\Program Files\MiKTeX 2.9\tex/latex/hyperref\puenc.def")
("C:\Program Files\MiKTeX 2.9\tex/generic/oberdiek\stringenc.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/oberdiek\rerunfilecheck.sty"))
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics\graphicx.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics\graphics.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics\trig.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics-cfg\graphics.cfg")
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics-def\xetex.def")))
("C:\Program Files\MiKTeX 2.9\tex/latex/tipa\tipa.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/base\fontenc.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/tipa\t3enc.def")
("C:\Program Files\MiKTeX 2.9\tex/latex/base\tuenc.def")))
("C:\Program Files\MiKTeX 2.9\tex/latex/xcolor\xcolor.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics-cfg\color.cfg"))
("C:\Program Files\MiKTeX 2.9\tex/latex/wrapfig\wrapfig.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/float\float.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/subfiles\subfiles.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/import\import.sty"))
("C:\Program Files\MiKTeX 2.9\tex/latex/enumitem\enumitem.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/hyphenat\hyphenat.sty")
("C:\Program Files\MiKTeX 2.9\tex/latex/caption\caption.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/caption\caption3.sty"))
("C:\Program Files\MiKTeX 2.9\tex/latex/fontspec\fontspec.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/l3packages/xparse\xparse.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/l3kernel\expl3.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/l3kernel\expl3-code.tex")
("C:\Program Files\MiKTeX 2.9\tex/latex/l3kernel\l3xdvipdfmx.def")))
("C:\Program Files\MiKTeX 2.9\tex/latex/fontspec\fontspec-xetex.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/base\fontenc.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/base\tuenc.def"))
("C:\Program Files\MiKTeX 2.9\tex/latex/fontspec\fontspec.cfg")))Running miktex-makemf.exe...
Sorry, but miktex-makemf did not succeed.
The log file hopefully contains the information to get MiKTeX going again:
C:\Users\Ethan\AppData\Local\MiKTeX\2.9\miktex\log\miktex-makemf.log
Running miktex-hbf2gf.exe...
Couldn't open `Futura Bo.cfg'
hbf2gf (CJK ver. 4.8.4)
Sorry, but miktex-maketfm did not succeed.
The log file hopefully contains the information to get MiKTeX going again:
C:\Users\Ethan\AppData\Local\MiKTeX\2.9\miktex\log\miktex-maketfm.log
! Package fontspec Error: The font "Futura Book" cannot be found.
For immediate help type H <return>.
...
l.14 ...ura Book}[ItalicFont={Futura Book Italic}]
?
答案1
首先,您应该更新您的 MikTeX 安装,以防有重要的错误修复。
听起来好像你把文件放在了一个fontspec
找不到它们的位置。在 Windows 上,当你以默认方式(仅适用于你的用户帐户)安装字体时,就会发生这种情况。这会将它们放在 XeTeX 不会搜索的用户文件夹的隐藏子目录中。我可能应该写一个全面的指南,涵盖本网站上的每个用例,但就这个问题而言,以下是你的选项:
- 如果您想在其他应用程序中使用字体,请从“字体”控制面板卸载它们,然后以管理员身份为所有用户安装。这会将文件放入
%WINDIR%\Fonts\
。 - 如果您只想将它们用于一个项目,或者您想要确保正确版本的字体与源一起存档,以便编译文档所需的文件不会丢失,请将它们复制到您的项目目录中。
- 如果您想要将它们用于多个 TeX 项目,但又不想让它们弄乱您的字体菜单,请将它们放在本地 TeX 树中。由于您使用的是 MikTeX,请运行 MikTeX 控制台,将操作模式切换为管理员,转到设置 > 目录,然后打开或添加本地管理的 TEXMF 目录。(在 TeX Live 上,您需要键入
kpsewhich --var-value=TEXMFLOCAL
以查找本地 TeX 树,该树可能位于c:\texlive\texmf-local
Windows 上。) - 如果与上述情况类似,但由于某种原因您没有在自己的机器上编译它们,请在用户目录中以用户模式添加本地目录。(对于 TeX Live,您将使用 中的目录
kpsewhich --var-value=TEXMFHOME
,通常为%USERPROFILE%\texmf
。)
您可以选择运行fc-cache -f -s -v
并luaotfload-tool -f -u -p -v
刷新 XeTeX 和 LuaTeX 的字体缓存,但每当您请求缓存中没有的字体时,这都会自动发生。
如果您需要的文件的命名方式与您提供的链接中的命名方式相同,我建议您将以下命令保存到本地 TeX 树或项目文件夹中名为 的文件中Futura.fontspec
。(警告:这尚未经过测试。)
\defaultfontfeatures[Futura]{
UprightFont = {* Book font},
ItalicFont = {* Book Italic font},
BoldFont = {* Bold font},
BoldItalicFont = {* Bold Italic font},
Extension = .ttf
}
添加您想要的和它支持的任何其他字体功能,例如(可能)Ligatures = Common
或Numbers = OldStyle
。
您的文档现在可以说
\setmainfont{Futura}
答案2
一般来说,fontspec
似乎不喜欢文件名中的空格。对于初学者,请尝试直接使用字体文件 (.ttf):将字体文件放在当前工作目录中,然后重命名它们以删除空格。我使用了FuturaBook.ttf
和FuturaBookItalic.ttf
:
\documentclass{book}
\usepackage{fontspec}
\setmainfont{FuturaBook.ttf}[ItalicFont={FuturaBookItalic.ttf}]
\begin{document}
\Large Please help me write \emph{this text} in Futura!
\end{document}