# Hyphen escape in mhchem not working with bidi

Typesetting my chemistry thesis using mhchem, I make semi-frequent use of the option to escape to text mode using {}, especially to typeset hyphens in the midst of chemistry like in the following way: \ce{6{-}Me}. The output should be:

6-Me

However, after the addition of a word in Hebrew, this broke. The new output is:

6 Me-

Is there any way I can fix this?

My version of the mhchem package is 4.04, distributed via TexLive, Ubuntu software sources. A minimal working example is attached. I’m using XeLaTeX.

\documentclass{report}
\usepackage[version=4]{mhchem}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true,spelling=new]{german}

\setotherlanguage{hebrew} % <-- comment out this line for correct output.

\begin{document}
\ce{6{-}Me}
\end{document}

• I tried your example and it works as expected, both with and without \setotherlanguage{hebrew}. What LaTeX engine do you use? Nov 21, 2016 at 1:07
• @EricDomenjoud Funny, I forgot to mention it. XeLaTeX
– Jan
Nov 21, 2016 at 1:09
• This is XeTeX, Version 3.14159265-2.6-0.99992 (TeX Live 2015/Debian) (preloaded format=xelatex 2016.9.27)
– Jan
Nov 21, 2016 at 1:19
• I use XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) and in both cases, I get 6-Me. However, I get a warning from polyglossia which says "No hyphenation patterns were loaded for Hebrew'. I will use \language=\l@nohyphenation instead".Perhaps I am missing something. Nov 21, 2016 at 2:35
• @EricDomenjoud Just to confirm: You are using version 4.04 of mhchem, too? Since the current one on CTAN is 4.05.
– Jan
Nov 21, 2016 at 2:38

Updating mhchem to the newest version had no effect.
However, updating bidi put the hyphen back into the correct position. My former bidi` was 19.something, the current version is 20.something.