
Libertine フォントのセミボールドバージョンが使用できれば良いのですが。
デフォルトでは、エルゼビア数字を使用しますが、問題なく、エルゼビア数字を半太字で表示できます。
場合によっては、セミボールドのライニング数字を使用する必要があります。
しかし、半太字であるはずの裏地の数字は、実際には通常の太さになっています。
MWE は次のとおりです:
\documentclass{article}
\RequirePackage[oldstyle,proportional]{libertine}
\DeclareRobustCommand\textsb[1]{{\libertineSB#1}}
\begin{document}
\LARGE
\noindent
Some "default" text with old style nums : 1234567890\\
\textsb{Some semi-bold text with old style nums : 1234567890}\\
\textbf{Some bold text with old style nums : 1234567890}\\
\noindent
Some text with lining nums : \liningnums{1234567890}\\
\textsb{Some semi-bold text with lining nums : \liningnums{1234567890}}\\
\textbf{Some bold text with lining nums : \liningnums{1234567890}}\\
\end{document}
この問題を解決する方法を知っていますか?
ありがとう。
答え1
これは では動作しますが、を実行するときに必要な機能を追加する代わりにフォント ファミリをリセットする のpdflatex
バグにより、(Lua|Xe)LaTeX では動作しません。libertine.sty
\liningnums
\documentclass{article}
\usepackage{iftex}
\usepackage[oldstyle,proportional]{libertine}
\DeclareTextFontCommand\textsb{\libertineSB}
\iftutex % XeLaTeX or LuaLaTeX
\RenewDocumentCommand{\liningnums}{m}{%
{\addfontfeatures{Numbers=Lining}#1}%
}
\fi
\begin{document}
\noindent
Some "default" text with old style nums: 1234567890\\
\textsb{Some semi-bold text with old style nums: 1234567890}\\
\textbf{Some bold text with old style nums: 1234567890}
\noindent
Some text with lining nums: \liningnums{1234567890}\\
\textsb{Some semi-bold text with lining nums: \liningnums{1234567890}}\\
\textbf{Some bold text with lining nums: \liningnums{1234567890}}
\end{document}