diff -up docutils-0.10/docutils/writers/latex2e/__init__.py.py33 docutils-0.10/docutils/writers/latex2e/__init__.py --- docutils-0.10/docutils/writers/latex2e/__init__.py.py33 2012-08-07 14:57:41.057751711 -0400 +++ docutils-0.10/docutils/writers/latex2e/__init__.py 2012-08-07 14:57:46.730751705 -0400 @@ -379,7 +379,7 @@ class Babel(object): def __call__(self): """Return the babel call with correct options and settings""" - languages = self.otherlanguages.keys() + languages = sorted(self.otherlanguages.keys()) languages.append(self.language or 'english') self.setup = [r'\usepackage[%s]{babel}' % ','.join(languages)] if 'spanish' in languages: diff -up docutils-0.10/docutils/writers/xetex/__init__.py.py33 docutils-0.10/docutils/writers/xetex/__init__.py --- docutils-0.10/docutils/writers/xetex/__init__.py.py33 2012-08-07 14:42:22.041753020 -0400 +++ docutils-0.10/docutils/writers/xetex/__init__.py 2012-08-07 14:44:51.983751704 -0400 @@ -117,7 +117,7 @@ class Babel(latex2e.Babel): r'\setdefaultlanguage{%s}' % self.language] if self.otherlanguages: setup.append(r'\setotherlanguages{%s}' % - ','.join(self.otherlanguages.keys())) + ','.join(sorted(self.otherlanguages.keys()))) return '\n'.join(setup) diff -up docutils-0.10/test/functional/expected/standalone_rst_latex.tex.py33 docutils-0.10/test/functional/expected/standalone_rst_latex.tex diff -up docutils-0.10/test/functional/expected/standalone_rst_xetex.tex.py33 docutils-0.10/test/functional/expected/standalone_rst_xetex.tex --- docutils-0.10/test/functional/expected/standalone_rst_xetex.tex.py33 2012-08-07 14:52:09.929751238 -0400 +++ docutils-0.10/test/functional/expected/standalone_rst_xetex.tex 2012-08-07 14:52:30.932751704 -0400 @@ -7,7 +7,7 @@ \usepackage{amsmath} \usepackage{polyglossia} \setdefaultlanguage{english} -\setotherlanguages{german,british,french} +\setotherlanguages{british,french,german} \usepackage{color} \usepackage{float} % float configuration \floatplacement{figure}{H} % place figures here definitely