14

Wikipedia mentions a ligature for NB (nota bene), however I can't seem to find any reference to this in the latex literature. Is there a way to use this ligature in my latex document?

An example of the ligature: Nota Bene ligature

2 Answers 2

16

To the best of my knowledge, there are no fonts out there (not even Junicode!) that provide a ready-made NB ligature.

It's actually not too difficult to create a composite NB glyph (not to be confused with a "true" ligature) by inserting a negative kern between N and B. However, for many font families the N-B composite is quite unattractive. It's a vivid reminder, IMNSHO, of the fact that creating a good-looking ligature requires a lot more work than just "snugging up" two or more glyphs.

The following screenshot shows possible NB candidates for 4 serif fonts and 3 sans-serif fonts. (If you wanted to use this in "real work", be sure to omit the \textcolor{red}{...} wrapper in the definition of \NB.)

enter image description here

\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}
5
  • 2
    You can never find a Monk when you need one Apr 7, 2019 at 9:27
  • 3
    It might be worth noting that this is the same workaround which is also used on the linked Wikipedia page: The "ligature" is $\mathrm{N}\!\!\mathrm{B}$ which should be the same as \NB[0.33333] with Computer Modern Roman. Apr 7, 2019 at 11:23
  • Thank you! The Latin Modern Roman looks pretty good! Apr 7, 2019 at 12:02
  • One way to improve this might be to clip the N glyph where the B begins to avoid the N poking out from the bottom like in Garamond or Futura. No idea whether that's possible though (although it's LaTeX, so arbitrary vector graphics operations on arbitrary font glyphs should be no problem, from what I've seen so far).
    – Joey
    Apr 8, 2019 at 7:35
  • @Joey - Feel free to post a new answer in which you implement the ideas outlined in your comment. :-)
    – Mico
    Apr 8, 2019 at 15:39
10

Even among commercial fonts with many unusual ligatures, this ligature is rare. The only one in my large collection is found in P22 Hoy Pro, and it hasn’t been made readily accessible through any defined feature:

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

output

5
  • 2
    +1. P22 Hoy Pro is a truly remarkable font face! :-)
    – Mico
    Apr 7, 2019 at 14:31
  • 1
    I've taken the liberty of inserting some meta-code to pretty-print the Lua code chunk. Feel free to revert if it's not to your liking.
    – Mico
    Apr 7, 2019 at 15:15
  • 1
    @Mico Thanks. Neat trick — how do you do that?
    – Thérèse
    Apr 7, 2019 at 15:19
  • 1
    I inserted the directives <!-- language: lang-lua --> and <!-- language: lang-tex --> on lines by themselves, not indented by four spaces. (I can’t remember off-hand who taught me this trick — I certainly didn’t come up with it on my own.)
    – Mico
    Apr 7, 2019 at 16:24
  • @Thérèse My upvote also for the comment into a my recent question. :-) When you read it, I'll delete this message. Greetings.
    – Sebastiano
    Jun 26, 2019 at 10:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.