Ajustando o espaçamento adicionado por um novo comando

Ajustando o espaçamento adicionado por um novo comando

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 tnume 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 \numefetivamente 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:

O produto do MWE.

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!

informação relacionada