Ajustar el espaciado agregado por un nuevo comando

Ajustar el espaciado agregado por un nuevo comando

Estoy escribiendo un documento en el que estoy usando una fuente diferente a la predeterminada de LaTeX. Estoy usando EB Garamond, entre cuyas características se encuentran los números en minúsculas de estilo antiguo. Estoy de acuerdo con esta característica y me gustaría que casi todos los números presentes en el documento estuvieran en este formato.

Sin embargo, no todos los números. Estoy numerando algunos párrafos precediéndolos así:§ [número].---[texto] (p. ej.§ 1.---[texto].). Preferiría que el número estuviera en "mayúsculas", lo que EB Garamond permite a través de las funciones de fuente tnumy lnum.

Dado que utilizaré con frecuencia la notación de numeración antes mencionada, pensé que definir un nuevo comando sería lo más eficiente; un nuevo comando que aplicaría la característica de fuente anterior al número. Llamé al comando \num:

\newcommand{\num}[1]{
    {\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.
}

Soy un completo novato cuando se trata de crear nuevos comandos; Este tuvo éxito, sin embargo, aunque no del todo como yo quería. El nuevo comando \numcambió efectivamente el número a mayúsculas (vea la segunda línea del texto en la imagen adjunta), introdujo espacios vacíos a la izquierda y a la derecha del número (use las líneas rojas agregadas para comparar el espaciado con las otras líneas).

Quizás no sea la mejor idea, pero pensé en agregar \(y \)a ambos lados; y eliminó el espaciado como deseaba, pero cambió la fuente del número a la predeterminada (ver línea tres en la imagen adjunta).

Mi pregunta:¿Qué debo agregar o cambiar en la definición del nuevo comando, o en cualquier parte del documento, para eliminar el espacio extraño alrededor del número?y¿Conservar la fuente del número, EB Garamond?

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

Y la imagen, con líneas rojas añadidas para resaltar el extraño espaciado que eliminaría:

El producto del MWE.

Respuesta1

Como señaló en un comentario de David Carlisle, el error fue simple. Se agregaron espacios antes y después porque el nuevo comando se definió así:

\newcommand{\num}[1]{
    {\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.
}

Cuando debería haber sido:

\newcommand{\num}[1]{{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.}

La forma en que escribí el comando por primera vez agregó el espacio antes y después. Esta última forma no añade espacios no deseados. ¡Gracias nuevamente al Sr. Carlisle por su respuesta!

información relacionada