文件結構為:
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
語句(請注意,並不總是需要指定ItalicFont
、BoldFont
和BoldItalicFont
選項):
\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}