![使用字体规格选择基本字体时出现关键错误。](https://linux22.com/image/368165/%E4%BD%BF%E7%94%A8%E5%AD%97%E4%BD%93%E8%A7%84%E6%A0%BC%E9%80%89%E6%8B%A9%E5%9F%BA%E6%9C%AC%E5%AD%97%E4%BD%93%E6%97%B6%E5%87%BA%E7%8E%B0%E5%85%B3%E9%94%AE%E9%94%99%E8%AF%AF%E3%80%82.png)
我正在使用 lualatex 编译文档(由于我需要其他软件包,因此我必须使用此编译器)。我正尝试更改注释的字体。到目前为止我的代码
\usepackage{fontspec}
\text{
\newfontfamily\textnote[1]{{Arial}}
\text{ \textnote{This is a note.} }
}
我认为 Latex 可以找到该字体(因为它不会抛出“未找到字体”错误。相反,我得到:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "kernel/key-unknown"
!
! The key 'fontspec-opentype/1' is unknown and is being ignored.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H <return>.
!...............................................
我已经验证了 Arial 字体的存在(我可以在字体册中找到它,并且可以在 Word 中使用它)。有人知道我该如何解决这个问题吗?
答案1
您使用的语法错误。另外,\newfontfamily
应该位于序言中,在 之前\begin{document}
。
抱歉,我没有 Windings,所以示例使用了不同的符号字体。
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\windings{MarVoSym} % I don't have Windings in OT format
\DeclareTextFontCommand{\textwingdings}{\normalfont\windings}
\begin{document}
text \textwingdings{text} text
\end{document}
答案2
该\newfontfamily
命令的语法与(比如)不同\newcommand
。
的可选参数\newfontfamily
是逗号分隔的 Open Type 字体功能列表。在该可选参数之前,是一个强制参数,它为字体提供命令名称。就您而言,您可能不需要任何 Open Type 功能。因此:
\newfontfamily\myarial{Arial}
这提供了可以在文档的任何地方使用的命令名称\myarial
。要使其成为普通字体(如果您希望这样做),请将命令放在\myarial
文档主体中的任何其他内容之前。
否则,本地文本部分将会像这样:
{\myarial Some text.}
如果您希望选择 Open Type 功能,您可以执行以下操作:
\newfontfamily\myfunnyarial[Numbers=OldStyle]{Arial}
这假设字体确实具有指定的功能。如果没有,也没什么坏处。