我的公司为我编辑的文档提供了一个 pdflatex 模板。特别是,某些标题使用 Adobe Reader 调用的字体URWGroteskT-Bold
。该效果产生如下(可由 编译的独立文档pdflatex
):
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\newcommand{\fontcommand}[1]{{\fontfamily{ugq}\selectfont #1}} % command taken from company's style sheet, not sure what it actually does
\begin{document}
\fontcommand{The quick brown fox jumps over the lazy dog.}
\end{document}
我希望在使用编译时重现相同的行为lualatex
。阅读后如何在文档中的一小部分文本中使用特定字体?我尝试如下:
\documentclass{standalone}
\usepackage{fontspec}
\newfontfamily\specialfont{Grotesk T}
\begin{document}
{\specialfont The quick brown fox jumps over the lazy dog.}
\end{document}
失败了,因为! Package fontspec Error: The font "GroteskT" cannot be found.
我认为我尝试了字体名称的所有可能的变体(Grotesk/Grotesque,带或不带 T,带或不带 URW 等)
我相信这是由于字体未在操作系统级别安装,但是:
- pdflatex 在哪里获取用于字体的文件?
- 是否可以强制 lualatex 获取相同的文件?如何操作?
答案1
这URW 怪诞字体仅作为 PostScript Type 1 字体提供,因此不能通过 使用fontspec
。但是,当您还更改字体编码时,旧的字体切换命令仍然有效:
\newcommand{\fontcommand}[1]{{\fontencoding{T1}\fontfamily{ugq}\selectfont #1}}
这可以与 pdflatex 和 lualatex 一起使用,例如:
\documentclass{standalone}
\usepackage{fontspec}
\newcommand{\fontcommand}[1]{{\fontencoding{T1}\fontfamily{ugq}\selectfont #1}}
\begin{document}
\fontcommand{The quick brown fox jumps over the lazy dog.}
\end{document}
答案2
由于您已经拥有 Type 1 字体,因此 Ralf Stubner 的答案可能对您更实用。但是,URW Grotesk 是一种商业字体,也有 TrueType 和 OpenType 格式。您的公司可能已经购买了 OpenType 字体,您可以通过简单(但已弃用)的命令使用它
\usepackage{fontspec}
\defaultfontfeatures{Scale = MatchLowercase}
\setsansfont{URW Grotesk}
在这种情况下,你可以用 替换\fontfamily{ugq}
。\sffamily
如果这不起作用,你可以使用较新的界面:
\setsansfont{URWGrotesk}[
UprightFont = *-Reg ,
BoldFont = *-Bol ,
ItalicFont = *-RegIta ,
BoldItalicFont = *-BolIta ,
Extension = .otf
]
由于原始模板和其他旧文档可能引用了 NFSS 字体系列,因此您可以通过在方括号内添加选项来保持兼容性NFSSFamily = ugq
。这应该使您给出的命令能够继续工作。您还可以将类似的定义保存到名为的文件中,并使用它来保持源文档的简洁性。在这种情况下,请确保在方括号内URWGrotesk.fontspec
添加。这是和的默认设置,但需要为指定。Ligatures = Common
\setmainfont
\setsansfont
\newfontfamily
除此之外,最接近的免费替代品将是 Helvetica 的克隆版,例如 Geneva、Arial、TeX Gyre Heros 或 Nimbus Sans。