Регулировка интервала, добавленного новой командой

Регулировка интервала, добавленного новой командой

Я пишу документ, в котором я использую шрифт, отличный от шрифта LaTeX по умолчанию. Я использую EB Garamond, среди особенностей которого — старые строчные цифры. Меня устраивает эта особенность, и я хотел бы, чтобы почти все цифры, присутствующие в документе, были в этом формате.

Однако не все числа. Я нумерую некоторые абзацы, предваряя их следующим образом:§ [число].---[текст] (например§ 1.---[текст].). Я бы предпочел, чтобы число там было «заглавным», что EB Garamond допускает с помощью функций шрифта tnumи lnum.

Поскольку я буду часто использовать вышеупомянутую нумерацию, я подумал, что определение новой команды будет наиболее эффективным; новой команды, которая применит указанную выше функцию шрифта к числу. Я назвал команду \num:

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

Я полный новичок в создании новых команд; эта команда, однако, удалась, хотя и не совсем так, как я хотел. Новая команда \numфактически изменила цифру на заглавную (см. вторую строку текста на прикрепленном изображении), она ввела пустое пространство слева и справа от цифры (используйте добавленные красные линии, чтобы сравнить интервалы с другими строками).

Возможно, это не самая лучшая идея, но я подумал о добавлении \(и \)с обеих сторон; это убрало интервал, как я и хотел, но изменило шрифт числа обратно на стандартный (см. строку три на прикрепленном изображении).

Мой вопрос:Что мне следует добавить или изменить в определении новой команды или в любом месте документа, чтобы убрать странный интервал вокруг цифры?исохранить шрифт номера, EB Garamond?

МВЭ:

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

И изображение с красными линиями, добавленными для подчеркивания странных интервалов, от которых я бы избавился:

Продукт MWE.

решение1

Как указал в комментарии Дэвид Карлайл, ошибка была простой. Пробелы были добавлены до и после, потому что новая команда была определена следующим образом:

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

Когда это должно было быть:

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

Первый способ, которым я написал команду, добавил пробел до и после. Последний способ не добавляет никаких нежелательных пробелов. Еще раз спасибо г-ну Карлайлу за его ответ!

Связанный контент