27

How do I make "E" in this equation a small cap?

$x^E$
  • Hmm, why isn't $x^E$ just good enough? It typesets E in the smaller script style. – Andrey Vihrov Mar 09 '11 at 13:32
  • @Andrey: It'll give an "E" in math italic. – Hendrik Vogt Mar 09 '11 at 13:46
  • I think it's best to keep questions reserved for the actual questions. Your edit is an answer, so it would be best if you post it as an answer to your own question (and remove your EDIT from the question). – Hendrik Vogt Mar 09 '11 at 13:50
  • @Hendrik: normally I'd say it's fine to edit the question with a simple "Thanks, here's what I went with:..." But in this case the poster's final solution is much different from the only posted (and accepted) answer. So yes, it would be better for @Oldrich to put his solution in his own answer. – Matthew Leingang Mar 09 '11 at 14:32
  • @Andrey Vihrov: E in the $x^E$ is still far too big and aggressive for me. – Oldrich Svec Mar 10 '11 at 05:54

3 Answers3

29

To switch fonts in math mode you often use a command like \mathit (for italic) or \mathrm (for roman). But there's no \mathsc command. So just use \textsc.

$x^{\textsc{e}}$

Note that \textsc{E} will give a capital E that is roughly the same height as the normal shape capital E. In general, if you want a small capital E, use \textsc{e}.

Matthew Leingang
  • 44,937
  • 14
  • 131
  • 195
20

The above mentioned $x^{\textsc{e}}$ works in basic situations, but it has the drawback that the font used will depend on the current text font in the environment. For example, \texttt{ ... $x^{\textsc{e}}$ ... } typesets the small capital E in the typewriter font. This is usually undesirable for a mathematical symbol. The problem is most prominent when the surrounding text is bold (such as in a heading): there are no bold extended small caps fonts in the standard Computer Modern font collection, hence the e in \section{ ... $x^{\textsc{e}}$ ... } will come out as bold lower case. So, if you want a general-purpose macro, it is better to use

$x^{\normalfont\textsc{e}}$

You can define

\newcommand{\mathsc}[1]{{\normalfont\textsc{#1}}}
  • 1
    With amsmath a better way would be \text{\normalfont\scshape#1} (assuming, by way of contradiction, that the OP really has a problem, which it isn't). – egreg Jul 23 '12 at 16:54
  • 4
    The poster of the original question most likely does not have a problem any more, given that it is over a year old. However, other people may have problems. Note that this question turns up as the #1 Google hit for “latex math small caps”, so it is worthwhile to document any relevant info here. And yes, I encountered this very problem in a real-world situation, it is not made up. – Emil Jeřábek Jul 23 '12 at 17:29
  • Just a side note: If in beamer, \normalfont\textsc{e} does not work but \textrm{\textsc{e}} does. – tvk Oct 23 '18 at 00:15
  • 2
    Or maybe \textnormal{\textsc{e}}... See: https://tex.stackexchange.com/questions/70632/difference-between-various-methods-for-producing-text-in-math-mode – PatrickT Dec 12 '18 at 15:48
4

My chosen solution which works fine is

\newcommand{\xE}{\ensuremath{ x^{\mbox{\tiny{E}}} }}