A fonte Times New Roman no meu Mac não tem formato versalete. Então, quero definir TeX Gyre Termes como fonte substituta em versalete.
Usando TeX Gyre Termes como fonte principal
\documentclass{article}
\usepackage{fontspec}
\setmainfont{texgyretermes}%
[
Extension = .otf,
UprightFont = *-regular,
BoldFont = *-bold,
ItalicFont = *-italic,
BoldItalicFont = *-bolditalic
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\end{document}
O resultado é satisfatório como pode ser visto abaixo:
Usando Times New Roman como fonte principal
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\end{document}
Como mostra o log, as formas da fonte estão todas m/sc
faltando .b/sc
m/scit
Usando TeX Gyre Termes como substituto
De acordo com o manual fontspec, podemos definir o fallback em versalete da seguinte maneira:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
[
SmallCapsFont = TeX Gyre Termes,
SmallCapsFeatures = {Letters=SmallCaps}
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\end{document}
O exemplo acima só pode ser compilado por lualatex
(já que os usuários do macOS não podem usar fontes na árvore texmf pelo nome da fonte ao usar xelatex
). No entanto, lualatex
também não pode dar o resultado satisfatório:
Depois de instalar a fonte TeX Gyre Termes em meu sistema, ela xelatex
também pode ser usada, mas o resultado é o mesmo da imagem acima.
Pergunta
Sem ter que instalar o TeX Gyre Termes no sistema, como definir a fonte substituta em versalete corretamente em ambos xelatex
e lualatex
para usuários do macOS?
Responder1
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
[
BoldFeatures =
{SmallCapsFont={TeX Gyre Termes Bold},
SmallCapsFeatures = {Letters=SmallCaps}} ,
ItalicFeatures =
{SmallCapsFont={TeX Gyre Termes Italic},
SmallCapsFeatures = {Letters=SmallCaps}} ,
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\textbf{\textit{\textsc{hello}}}
\end{document}
No sistema onde as fontes na árvore texmf não podem ser encontradas pelo nome do arquivo, isso pode funcionar (não testado)
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
[
BoldFeatures =
{SmallCapsFont={texgyretermes-bold},
SmallCapsFeatures = {Extension=.otf,Letters=SmallCaps}} ,
ItalicFeatures =
{SmallCapsFont={texgyretermes-italic},
SmallCapsFeatures = {Extension=.otf,Letters=SmallCaps}} ,
]
\begin{document}
hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\textbf{\textit{\textsc{hello}}}
\end{document}