维基百科提到了 NB 的连字符(请注意),但是我在 latex 文献中似乎找不到对此的任何引用。有没有办法在我的 latex 文档中使用此连字符?
答案1
据我所知,没有任何字体 (甚至 Junicode 也没有!) 提供现成的 NB 连字符。
实际上,通过在和NB
之间插入负字距来创建复合字形(不要与“真正的”连字混淆)并不太难。但是,对于许多字体系列来说,复合字形非常不美观。IMNSHO,这生动地提醒我们,创建美观的连字需要做的工作远不止“将两个或多个字形紧密贴合”。N
B
N-B
以下屏幕截图显示了 4 种衬线字体和 3 种无衬线字体的可能 NB 候选。(如果您想在“实际工作”中使用它,请务必在\textcolor{red}{...}
的定义中省略包装器\NB
。)
\documentclass{article}
\usepackage{xcolor} % for '\textcolor' macro
\newcommand\NB[1][0.3]{N\kern-#1em\textcolor{red}{B}} % default kern amount: -0.3em
\usepackage{fontspec}
\begin{document}
\setmainfont{Latin Modern Roman}
\NB --- Latin Modern Roman
\setmainfont{Times Roman}
\NB[0.265] --- Times Roman
\setmainfont{EB Garamond}
\NB[0.275] --- EB Garamond
\setmainfont{Trajan Pro}
\NB[0.385] --- Trajan Pro
\setmainfont{Latin Modern Sans}
\NB[0.27] --- Latin Modern Sans
\setmainfont{Helvetica}
\NB[0.24] --- Helvetica
\setmainfont{Futura}
\NB[0.295] --- Futura
\end{document}
答案2
即使在具有许多不寻常连字的商业字体中,这种连字也很少见。我收藏的唯一一种连字是P22 霍伊职业队,并且还未通过任何定义的功能轻松访问它:
\documentclass{article}
\usepackage{fontspec,luacode}
\setmainfont{P22 Hoy Pro}[
Contextuals=Alternate,
Ligatures=Rare]
% https://tex.stackexchange.com/a/120762:
\begin{luacode}
documentdata = documentdata or { }
local stringformat = string.format
local texsprint = tex.sprint
local slot_of_name = luaotfload.aux.slot_of_name
documentdata.fontchar = function (chr)
local chr = slot_of_name(font.current(), chr, false)
if chr and type(chr) == "number" then
texsprint
(stringformat ([[\char"%X]], chr))
end
end
\end{luacode}
\def\fontchar#1{\directlua{documentdata.fontchar "#1"}}
\begin{document}
\fontchar{N_B}: This is P22 Hoy Pro.
\end{document}