嘗試使用 \newfontfamily 時未定義的控制序列

嘗試使用 \newfontfamily 時未定義的控制序列

文件結構為:

fonts
     Roboto-Regular.ttf
main.tex

該文件的實質內容為:

\documentclass{article}

\RequirePackage[utf8]{inputenc}
\RequirePackage{fontspec}

\newfontfamily [ Path = /fonts/,
 UprightFont = *-regular,
 BoldFont = *-bold, ...]
 {Roboto}

\title{TITLE}
\author{MY NAME}
\date{February 2018}

\begin{document}

\maketitle
\section{Introduction}

\end{document}

然後它給我未定義的控制序列,缺少 \begin{document}。我嘗試了很多事情,我不知道我做錯了什麼。

編輯我也嘗試過:

    \setmainfont{Roboto}[
    Path = /fonts/,
    Extension = .ttf,
    UprightFont = *-Regular,
    BoldFont = *-Bold,
    ItalicFont = *-Italic,
    ...
]

答案1

正如其他人已經在評論中指出的那樣,您的用法\newfontfamily是不正確的。代替

\newfontfamily{Roboto}

它必須像

\newfontfamily\Roboto{Roboto}

在文檔正文中,您可以撰寫... {\Roboto some text} ....

一個 MWE(最小工作範例),它使用\setmainfont\setsansfont和 三個\newfontfamily語句(請注意,並不總是需要指定ItalicFontBoldFontBoldItalicFont選項):

在此輸入影像描述

\documentclass{article}
\RequirePackage{fontspec}

\setmainfont{Minion Pro}
\setsansfont{Myriad Pro}

\newfontfamily\Roboto{Roboto}
\newfontfamily\RobotoCond{Roboto Condensed}
\newfontfamily\RobotoMed{Roboto Medium}%
        [ItalicFont     = "Roboto Medium Italic",
         BoldFont       = "Roboto Black",
         BoldItalicFont = "Roboto Black Italic"]

\newcommand\hello{Hello World.}
\newcommand\blurb{\hello{} \textbf{\hello} \textit{\hello} \textbf{\textit{\hello}}}

\begin{document}

\blurb

{\sffamily \blurb}

\medskip
{\Roboto \blurb}

{\RobotoMed \blurb}

{\RobotoCond \blurb}
\end{document}

相關內容