2

What exactly is the symbol produced in LaTeX by \i. I haven't located it in several lists of symbols. The output looks like a smaller version of the numeral 1, but with the top "hook" horizontal rather than angled downward.

(The question was inspired by How to typeset 2pii in LaTeX. I'm well aware of the need to use dotless-i \imath in math mode to put, say, an arrow over it, as in vector notation; writing in English, I just had never encountered the need to put a diacritical mark over the letter "i" in text.)

  • It's an 'i' with the dot removed. – PhilipPirrip Aug 7 '17 at 15:01
  • 1
    It's for use in text mode, to generate a "dotless i". Some languages -- notably Turkish -- feature both dotted and dottless "i" characters. Incidentally, in math mode one should use \imath. – Mico Aug 7 '17 at 15:01
  • I thought the dotless letter i is \imath. – murray Aug 7 '17 at 15:02
  • 1
    Wikipedia. – Sverre Aug 7 '17 at 15:03
  • 2
    the fact that \i sometimes works in math mode is an accident of the implementation and only true with certain encodings, it should not be used in math. – David Carlisle Aug 7 '17 at 16:36
3

TeX fonts usually have a slot dedicated to a “dotless i”, which is used for adding accents not already provided as precomposed glyphs. The command \i produces this glyph.

I assume LaTeX, because plain TeX doesn't really have support for different font encodings than the traditional Knuth one.

Recent versions of the kernel and of the base packages support several composites freeing from the need to use \i. For instance, ot1enc.def has

\DeclareTextComposite{\.}{OT1}{i}{`\i}
\DeclareTextComposite{\.}{OT1}{\i}{`\i}
\DeclareTextCompositeCommand{\`}{OT1}{i}{\@tabacckludge`\i}
\DeclareTextCompositeCommand{\'}{OT1}{i}{\@tabacckludge'\i}
\DeclareTextCompositeCommand{\^}{OT1}{i}{\^\i}
\DeclareTextCompositeCommand{\"}{OT1}{i}{\"\i}

which means you can type

\.i \`i \'i \^i \"i

to get “i”, “ì”, “í”, “î” and “ï” respectively. The inputs

\.{\i} \`{\i} \'{\i} \^{\i} \"{\i}

will do exactly the same. This is probably the reason why you have never seen \i.

With the T1 encoding the set of composites is the same (but all of them point to a single glyph and not to a composite one).

On the other hand, using UTF-8 as input allows to use directly essentially all accents over “i”:

ì í î ï ī ĭ 

and perhaps some others. However, “classical” input for the last two characters needs \i, so you have to input \={\i} and \u{\i} (no TeX font provides the precomposed glyphs).

There is also \j for the “dotless j”, but there is no precomposed glyph for the accented letter, so you always need the input \'{\j} or similar. However, not all fonts provide the dotless j.

  • Why surprised me is that \i works in both math and text modes to produce the same character (or at least, so it appears to my eyes). For math mode I would have expected to need \mathrm{\i}. – murray Aug 7 '17 at 15:41
  • 2
    The dotless i is not only there for adding diacritics. In Turkish it's a letter in its own right. – Sverre Aug 7 '17 at 15:43
  • @Sverre That's true, but I didn't want to overcomplicate things. – egreg Aug 7 '17 at 15:44
1

To place a diacritic on top of an i or a j, its dot has to be removed. The dotless version of these letters is accomplished by typing \i and \j. For example:

`\^{\i}` should be used for i circumflex `'î'`;
`\"{\i}` should be used for i umlaut `'ï'`.
  • 2
    This is not really true in LaTeX, because \^{i} and \"{i} or \^i and \"i work as well. – egreg Aug 7 '17 at 15:16
  • 1
    @egreg For some text encodings (e.g. T1) you don't need to explicitly remove the most of dots on i's (\=i doesn't work in T1 encoding, but \=\i does.) But removing dots when you don't need to is always harmless. You always need to remove the dots on j's. – alephzero Aug 7 '17 at 15:20

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.