I use TeX Live. See my example:

Check ligatures: first % here I have ligature for "fi"

I have Unicode symbol here: . When I compile the above LaTeX file I get:

! Package ucs Error: Unknown Unicode character 64257 = U+FB01

Then I apply the LaTeX system recommendation and compile the following file:

\DeclareUnicodeCharacter{FB01}{fi}% Here I defined a Unicode ligature
Check ligatures: first

But when I compile this LaTeX file I get:

! Missing number, treated as zero.
<to be read again>
l.4 \DeclareUnicodeCharacter{FB01}{fi}

So my question is: How can I input ligatures in a LaTeX file using just the ligature's Unicode symbol?

  • I'm wondering what you want to achieve as it is seems you are trying to solve the wrong problem. Feb 23 '12 at 11:13
  • Why do you think I solve wrong problem?
    – Michael Z
    Feb 23 '12 at 11:37
  • 4
    Using Unicode ligature glyphs does not make much sense with TeX since it will naturally do the ligaturing for you. Feb 23 '12 at 11:50
  • 1
    @KhaledHosny : you can have some Unicode ligature appearing in your TeX file through a cut'n paste operation. I remember having had some similar problems and I guess it is a legitimate possibility, even if not optimal. Feb 23 '12 at 12:16
  • 1
    I strongly recommend to use XeLaTeX or LuaLaTeX for this. Feb 23 '12 at 12:39

There are two problems with the code:

  1. Use [utf8] instead of [utf8x]
  2. The second parameter of \DeclareUnicodeCharacter is what the character will be replaced with, so it's meaningless to put the character there again. Replace it with what you reallly need (f and i will be joined in a ligature by TeX, as usual): \DeclareUnicodeCharacter{FB01}{fi}

After these changes the code will work as desired.

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.