Spacing preceding a subscript?

In a document I'm writing, I have a line

\documentclass{article}
\usepackage{amsmath,amssymb}

\begin{document}
\operatorname{Tor}_1(\mathbb{Z}/(r),B)= _rB\simeq\cdots
\end{document}

However, the subscripted r becomes a subscript behind the = but I want it to be a subscript preceding the B, with a space between that and the =. I changed it to

\documentclass{article}
\usepackage{amsmath,amssymb}

\begin{document}
\operatorname{Tor}_1(\mathbb{Z}/(r),B)=\ _rB\simeq\cdots
\end{document}

by putting a \ after the = to force a split, but of course it introduces an extra space which looks unusual. Is there a better way to go about this?

• Welcome to TeX.SX! You have to say {}_rB\simeq or the subscript would be to the equals sign. – egreg May 17 '14 at 8:11

TeX ignores spaces in math mode. Typing (in math mode)

=_r

or

= _r

is the same and it results in a subscript to the equals sign. In order to have “presubscripts”, you have to fool TeX into thinking that you want a subscript to an empty object; this is achieved with {}_{r}

\documentclass{article}
\usepackage{amsmath,amssymb}

\DeclareMathOperator{\Tor}{Tor}
\newcommand{\numberset}{\mathbb{#1}}
\newcommand{\Z}{\numberset{Z}}

\begin{document}
$\Tor_{1}(\Z/(r),B)= {}_{r}B\simeq\cdots$
\end{document} Note how easier it is to get a “Tor” operator, and also the symbol for the integers. An indirect definition is used in order to be able, if need arises, to change all number set symbols by modifying \numberset, rather than all symbols.