新しいコマンドによって追加された間隔の調整

新しいコマンドによって追加された間隔の調整

私は、LaTeX のデフォルトとは異なるフォントを使用して文書を作成しています。EB Garamond を使用していますが、その機能の 1 つに旧式の小文字の数字があります。この機能は問題なく、文書内の数字のほとんどすべてをこの形式にしたいと考えています。

ただし、すべての番号ではありません。いくつかの段落には、次のように前置きして番号を付けています。§ [番号]。 - -[テキスト] (例:§ 1.---[テキスト]。数字が「大文字」であればよいのですが、EB Garamond ではフォント機能によって大文字が許可されていますtnumlnum

前述の番号表記法は頻繁に使用するので、上記のフォント機能を番号に適用する新しいコマンドを定義するのが最も効率的だと考えました。コマンドに次の名前を付けました\num

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

私は新しいコマンドの作成に関してはまったくの初心者です。ただし、この新しいコマンドは成功しましたが、完全に私の希望どおりではありませんでした。新しいコマンドは、\num数字を大文字に変更し (添付画像のテキストの 2 行目を参照)、数字の左右に空白を導入しました (追加された赤い線を使用して、他の行との間隔を比較してください)。

おそらく最善のアイデアではないかもしれませんが、両側に\(と を追加することを考えました\)。すると、希望どおりにスペースが削除されましたが、数字のフォントがデフォルトに戻りました (添付画像の 3 行目を参照)。

私の質問:数字の周りの奇妙なスペースを削除するには、新しいコマンドの定義、またはドキュメントのどこかに何を追加または変更すればよいですか?そして数字のフォント、EB Garamond を保持しますか?

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}

そして、私が取り除きたい奇妙な間隔を強調するために赤い線を追加した画像は次のとおりです。

MWE の製品。

答え1

David Carlisle のコメントで指摘されているように、間違いは単純でした。新しいコマンドが次のように定義されたため、前後にスペースが追加されました。

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

本来であればこうなるべきだった:

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

最初にコマンドを書いた方法では、前後にスペースが追加されていました。後者の方法では、不要なスペースは追加されません。回答してくださった Carlisle 氏に改めて感謝します。

関連情報