321

It's easy to make subscripts in math mode: $a_i$.

How do I make a subscript outside math environment, likethis?

lockstep
  • 250,273
P Shved
  • 3,423

12 Answers12

210

Note that \textsubscript enters math mode as well. This might produce problems in PDF strings where math is not allowed, for instance in bookmarks. If you used hyperref and simply used \textsubscript in a section heading, hyperref would complain about the math shift. The command \texorpdfstring comes to the rescue:

\documentclass{article}
\usepackage{fixltx2e}
\usepackage{hyperref}
\begin{document}
\section{\texorpdfstring{like\textsubscript{this}}{like this}}
\end{document}

That applies to math and math symbols in sectioning headings of course as well.

Since 2015, LaTeX provides the fixltx2e features by default, so you can omit \usepackage{fixltx2e}then.

Stefan Kottwitz
  • 231,401
125

This is included in the fixltx2e package:

\documentclass{article}
\usepackage{fixltx2e}

\begin{document}
like\textsubscript{this}
\end{document}

Interestingly (?), there's a \textsuperscript command already in LaTeX.

This is included already in the KOMA-Script bundle. If you want to typeset chemical formulas, have a look at the mchem package.

(Thanks to Caramdir for those last two.)

Andrew Stacey
  • 153,724
  • 43
  • 389
  • 751
  • In @StefanKottwitz 's answer, he has used the same fixltx2e package. But he's also used the hyperref package. Is there a redundancy somewhere or am I missing something? – Shashank Sawant Oct 15 '12 at 17:42
  • 1
    @ShashankSawant Stefan's answer is: "if you use hyperref then you might want to do it like ..." So if you are already using hyperref and you want the subscript in headers, use his solution. Otherwise, this one ought to work. – Andrew Stacey Oct 15 '12 at 19:17
  • 1
    As Fran points out below, it appears that \usepackage{fixltx2e} is no longer needed. – Isaac Mar 13 '17 at 15:53
  • 3
    fixltx2e is indeed no longer needed. See the CTAN page: "This pack­age does noth­ing other than is­sue a warn­ing in cur­rent LaTeX Re­leases." – chrisma Dec 21 '18 at 10:07
91

Actual solution in LaTeX

Just write like\textsubscript{this}

You do not need preamble fixes anymore. Example:

\documentclass{article}
\begin{document}
    like\textsubscript{this}
\end{document}

Because all the fixes of package fixltx2e were enabled by default in the LaTeX format in 2015, the odd lack of this "expectable" command in LaTeX kernel is now history.

Old story

Just for the record: Before of the already cited fixltx2e package (now obsolete), the command \textsubscript was also supplied by exactly the same macro by the little package subscript (no longer in TeX Live):

\DeclareRobustCommand*\textsubscript[1]{\@textsubscript{\selectfont#1}}
\newcommand{\@textsubscript}[1]{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}

But this command is still accessible in the changes packages that is actually the best option since is still in both MiKTeX and TeXLive.

\documentclass{article}
\usepackage{changes} % Not needed since 2015 
\begin{document}
like\textsubscript{this}
\end{document}

Another option could be a simpler user macro without \makeatletter stuff. To set the subscript size, the relsize package could help:

MWE

\documentclass{article}
\usepackage{relsize}
\def\textsubscript#1{\ensuremath{_{\mbox{\textscale{.6}{#1}}}}}
\begin{document}
\huge         a\textsubscript{th} A\textsubscript{th}\par
\Large        a\textsubscript{th} A\textsubscript{th}\par
\normalsize   a\textsubscript{th} A\textsubscript{th}\par
\small        a\textsubscript{th} A\textsubscript{th}\par
\footnotesize a\textsubscript{th} A\textsubscript{th}\par
\tiny         a\textsubscript{th} A\textsubscript{th}\par
\end{document}
Fran
  • 80,769
47

If you don't want to install additional packages you can use the following syntax:
like $_{\text{this}}$.

This will only require the use of one of the ams packages, for example amsmath, which is standard for most latex installations.

Alternatively, you can define a command \textunderscript in the beginning of your document:

\newcommand{\textunderscript}[1]{$_{\text{#1}}$}
amicitas
  • 103
fiktor
  • 1,953
19

Since I've always been bugged by the fact that LaTeX's sscripts need math mode (setting normal text inside math mode have issues with LuaTeX's directionality), motivated by this question, I "stole" the subscript/superscript code from ConTeXt which is set entirely in text mode, with quick hacks to get it work with plain TeX (needs pdftex/luatex though), it is here for now, if there is interest may be it can be turned into some package.

19

LaTeX provides \raisebox{<len>}{<stuff>} (based on TeX's \raise) which raises (and boxes) <stuff> by <len>. A negative <len> drops the contents:

enter image description here

\documentclass{article}
\begin{document}
It's easy to make subscripts in math mode: $a_i$.

How do I make a subscript outside math environment, 
like\raisebox{-.4ex}{\scriptsize this}?
\end{document}​
Werner
  • 603,163
15

In ConTeXt, you can write

like\low{this}
Taco Hoekwater
  • 13,724
  • 43
  • 67
7

Here, I provide the subscript equivalent of this answer, Superscript outside math mode. I show how the subscript depth may be set, as well as the subscript size, using my stackengine package.

\documentclass{article}
\usepackage{fixltx2e}
\usepackage{stackengine}
\newcommand\textsub[1]{\stackengine{-.5ex}{}{\scriptsize#1}{O}{l}{F}{F}{L}}
\begin{document}
\noindent
a\textsubscript{th}A\textsubscript{th}\\
a\textsub{th}A\textsub{th}\\
\renewcommand\textsub[1]{\stackengine{-.4ex}{}{\footnotesize#1}{O}{l}{F}{F}{L}}
a\textsub{th}A\textsub{th}\\
\renewcommand\textsub[1]{\stackengine{-.5ex}{}{\tiny#1}{O}{l}{F}{F}{L}}
a\textsub{th}A\textsub{th}\\
\end{document}

enter image description here

  • In answer of community wiki (Fran) is stated that the package `'fixltx2eis obsolete. Why you still use it? Doesstackengine`` work without it? – Zarko May 20 '15 at 00:45
  • 1
    @Zarko I need it only to show \textsubscript for comparison in row 1. The stackengine package does not need it. – Steven B. Segletes May 20 '15 at 00:46
  • B. Steglets, thank you for information. I found stackengine interesting for many my needs, but I still learning how to use it. Implementation of \textsubscript and \textsupercsript and combination of both are my first ongoing experimetns with it. – Zarko May 20 '15 at 00:54
  • @Zarko Best wishes! – Steven B. Segletes May 20 '15 at 01:09
5

The way I do it is by using mathrm inside math environment:

$\mathrm{like_{this}}$
4

If you use the $\text{}$ version and you have selected a different font (other than roman serif) then $\textnormal{}$ matches the font of the document. If you are using the default fonts, \text{} will work great.

Caramdir
  • 89,023
  • 26
  • 255
  • 291
Dash
  • 323
3

I get this done by using the mhchem package. It's normally used for writing chemical formulas, but you can use it for this problem, too.

\usepackage[version=3]{mhchem}
\begin{document}
\ce{like_{this}}
\end{document}

mhchem doesn't print spaces when you put them in the subscript part. To get the spaces in the subscript part, you'll have to escape them using backslashes:

\usepackage[version=3]{mhchem}
\begin{document}
\ce{like_{this\ and\ this\ and\ this}}
\end{document}
Exeleration-G
  • 393
  • 4
  • 13
-8

I am new to LaTeX but I have learnt reading the error messages they help a lot with the solution itself. That is where I found that without $ before and after your subscript function LaTeX would give your errors after quick build.

Like$_{this}$

Use $ to start and end the section of your command without these the math commands of subscript and superscript won't work. You don't need any additional packages for using these commands.

_{•} for subscript ^{•} for superscript

Mensch
  • 65,388
  • 2
    Welcome, there is a clear distinction between math mode and text mode, on a functional level and concerning fonts. You answer is very bad advice and will lead to confusion among new users. – Johannes_B Jun 11 '17 at 10:27