Estou escrevendo um documento no qual estou usando uma fonte diferente do padrão do LaTeX. Estou usando o EB Garamond, entre os quais estão os números minúsculos do estilo antigo. Estou bem com esse recurso e gostaria que quase todos os números presentes no documento estivessem neste formato.
No entanto, nem todos os números. Estou numerando alguns parágrafos prefaciando-os assim:§ [número].---[texto] (por exemplo§ 1.---[texto].). Eu preferiria que o número fosse "maiúsculo", o que EB Garamond permite através dos recursos de fonte tnum
e lnum
.
Como usarei frequentemente a notação de numeração mencionada acima, pensei que definir um novo comando seria mais eficiente; um novo comando que aplicaria o recurso de fonte acima ao número. Eu nomeei o comando \num
:
\newcommand{\num}[1]{
{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.
}
Sou totalmente novato quando se trata de criar novos comandos; este teve sucesso, entretanto, embora não inteiramente da maneira que eu queria. O novo comando \num
efetivamente alterou o numeral para maiúscula (veja a segunda linha do texto na imagem anexada), introduziu espaços vazios à esquerda e à direita do número (use as linhas vermelhas adicionadas para comparar o espaçamento com as outras linhas).
Talvez não seja a melhor ideia, mas pensei em acrescentar \(
e \)
nos dois lados; e removeu o espaçamento como eu desejava, mas alterou a fonte do número de volta ao padrão (veja a linha três na imagem anexada).
Minha pergunta:O que devo adicionar ou alterar na definição do novo comando, ou em qualquer lugar do documento, para remover o espaçamento estranho ao redor do numeralemanter a fonte do número, EB Garamond?
O MWE:
\documentclass[10pt]{memoir}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\newcommand{\num}[1]{
{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.
}
\begin{document}
§ 5.---To the left is a lowercase, oldstyle Garamond 5.
§ \num{5}---To the left is an "uppercase" Garamond 5. NB the spacing with the command.
§ \(\num{5}\)---As before, but the attempt to remove the spacing changed the font of the 5.
The above are some visual examples. Oldstyle lowercase numerals: 1234567890.
\end{document}
E a imagem, com linhas vermelhas adicionadas para destacar o espaçamento estranho que eu eliminaria:
Responder1
Conforme apontado em comentário de David Carlisle, o erro foi simples. Espaços foram adicionados antes e depois porque o novo comando foi definido assim:
\newcommand{\num}[1]{
{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.
}
Quando deveria ter sido:
\newcommand{\num}[1]{{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.}
A maneira como escrevi o comando pela primeira vez adicionou o espaço antes e depois. A última forma não adiciona espaçamento indesejado. Obrigado novamente ao Sr. Carlisle por sua resposta!