6

Alright, I'm trying to make a command to insert a proton. This code works fine:

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\newcommand{\tphoton}{$\gamma$}

\begin{document}
\tphoton
\end{document}

and this code works fine:

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\begin{document}
\ce{$\gamma$}
\end{document}

Why doesn't this code work?

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\newcommand{\tphoton}{$\gamma$}

\begin{document}
\ce{\tphoton}
\end{document}

It gives a "! Missing $ inserted.", 3 "! Extra }, or forgotten $."

Canageek
  • 17,935

1 Answers1

7

The argument of mhchem's \ce already is a "hidden math mode". \ce{\bfseries B} will give

! LaTeX Error: Command \bfseries invalid in math mode.

Try \ensuremath instead:

\documentclass[12pt,letterpaper]{article}
\usepackage{amssymb,mathtools}
\usepackage[version=3]{mhchem}

\newcommand{\tphoton}{\ensuremath{\gamma}}

\begin{document}
\ce{\tphoton}
\end{document}
cgnieder
  • 66,645