Я пишу документ, в котором я использую шрифт, отличный от шрифта 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}
И изображение с красными линиями, добавленными для подчеркивания странных интервалов, от которых я бы избавился:
решение1
Как указал в комментарии Дэвид Карлайл, ошибка была простой. Пробелы были добавлены до и после, потому что новая команда была определена следующим образом:
\newcommand{\num}[1]{
{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.
}
Когда это должно было быть:
\newcommand{\num}[1]{{\addfontfeatures{RawFeature={+tnum, +lnum}}#1}.}
Первый способ, которым я написал команду, добавил пробел до и после. Последний способ не добавляет никаких нежелательных пробелов. Еще раз спасибо г-ну Карлайлу за его ответ!