\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}

すると、Undefined control sequence, missing \begin{document} が表示されます。いろいろ試してみましたが、何が間違っているのかわかりません。

編集 私も試しました:

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

答え1

他の人がすでにコメントで指摘しているように、あなたの の使い方は\newfontfamily間違っています。

\newfontfamily{Roboto}

それはこうでなければならない

\newfontfamily\Roboto{Roboto}

文書の本文には、 と記述します... {\Roboto some text} ...

\setmainfont、、\setsansfontおよび 3 つのステートメントを使用する MWE (最小限の動作例) ( 、、およびオプション\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}

関連情報