diff --git a/sphinx/templates/latex/content.tex_t b/sphinx/templates/latex/content.tex_t index b9466e7ce..9361961c5 100644 --- a/sphinx/templates/latex/content.tex_t +++ b/sphinx/templates/latex/content.tex_t @@ -1,6 +1,6 @@ %% Generated by Sphinx. \def\sphinxdocclass{<%= docclass %>} -\newif\ifsphinxKeepOldNames <%= keepoldnames %> +<%= keepoldnames %> \documentclass[<%= papersize %>,<%= pointsize %><%= classoptions %>]{<%= wrapperclass %>} \ifdefined\pdfpxdimen \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen diff --git a/sphinx/texinputs/sphinx.sty b/sphinx/texinputs/sphinx.sty index f3608c376..76926efdf 100644 --- a/sphinx/texinputs/sphinx.sty +++ b/sphinx/texinputs/sphinx.sty @@ -7,6 +7,10 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{sphinx}[2016/06/10 LaTeX package (Sphinx markup)] +\newif\ifsphinxKeepOldNames \sphinxKeepOldNamestrue +\DeclareOption{dontkeepoldnames}{\sphinxKeepOldNamesfalse} +\DeclareOption*{\PackageWarning{sphinx}{Unknown option `\CurrentOption'}} +\ProcessOptions\relax % this is the \ltx@ifundefined of ltxcmds.sty, which is loaded by % hyperref.sty, but we need it before, and initial ltxcmds.sty diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index 6353e8948..7200a5769 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -350,9 +350,10 @@ class LaTeXTranslator(nodes.NodeVisitor): }) # set-up boolean for sphinx.sty if builder.config.latex_keep_old_macro_names: - self.elements['keepoldnames'] = '\\sphinxKeepOldNamestrue' + self.elements['keepoldnames'] = '' else: - self.elements['keepoldnames'] = '\\sphinxKeepOldNamesfalse' + self.elements['keepoldnames'] = ('\\PassOptionsToPackage' + '{dontkeepoldnames}{sphinx}') if document.settings.docclass == 'howto': docclass = builder.config.latex_docclass.get('howto', 'article') else: