old_contents: #!/usr/bin/env python
  """Script to build documentation using Sphinx.
  """
  
  import fileinput,os,sys
  
  def oscmd(c):
      os.system(c)
  
  # html manual.
  oscmd('sphinx-build -d build/doctrees source build/html')
  
  if sys.platform != 'win32':
      # LaTeX format.
      oscmd('sphinx-build -b latex -d build/doctrees source build/latex')
  
      # Produce pdf.
      topdir = os.getcwd()
      os.chdir('build/latex')
  
      # Change chapter style to section style: allows chapters to start on 
      # the current page.  Works much better for the short chapters we have.
      # This must go in the class file rather than the preamble, so we modify 
      # manual.cls at runtime.
      chapter_cmds=r'''
  % Local changes.
  \renewcommand\chapter{
      \thispagestyle{plain}
      \global\@topnum\z@
      \@afterindentfalse
      \secdef\@chapter\@schapter
  }
  \def\@makechapterhead#1{
      \vspace*{10\p@}
      {\raggedright \reset@font \Huge \bfseries \thechapter \quad #1}
      \par\nobreak
      \hrulefill
      \par\nobreak
      \vspace*{10\p@}
  }
  \def\@makeschapterhead#1{
      \vspace*{10\p@}
      {\raggedright \reset@font \Huge \bfseries #1}
      \par\nobreak
      \hrulefill
      \par\nobreak
      \vspace*{10\p@}
  }
  '''
  
      unmodified=True
      for line in fileinput.FileInput('manual.cls',inplace=1):
          if 'Support for module synopsis' in line and unmodified:
              line=chapter_cmds+line
          elif 'makechapterhead' in line:
              # Already have altered manual.cls: don't need to again.
              unmodified=False
          print line,
  
      # Copying the makefile produced by sphinx...
      oscmd('pdflatex ipython.tex')
      oscmd('pdflatex ipython.tex')
      oscmd('pdflatex ipython.tex')
      oscmd('makeindex -s python.ist ipython.idx')
      oscmd('makeindex -s python.ist modipython.idx')
      oscmd('pdflatex ipython.tex')
      oscmd('pdflatex ipython.tex')
  
      # Create a manual/ directory with final html/pdf output
      os.chdir(topdir)
      oscmd('rm -rf manual')
      oscmd('mkdir manual')
      oscmd('cp -r build/html/*.html build/html/_static manual/')
      oscmd('cp build/latex/ipython.pdf manual/')
  
new_contents: #!/usr/bin/env python
  """Script to build documentation using Sphinx.
  """
  
  import fileinput,os,sys
  
  def oscmd(c):
      os.system(c)
  
  # html manual.
  oscmd('sphinx-build -d build/doctrees source build/html')
  
  if sys.platform != 'win32':
      # LaTeX format.
      oscmd('sphinx-build -b latex -d build/doctrees source build/latex')
  
      # Produce pdf.
      topdir = os.getcwd()
      os.chdir('build/latex')
  
      # Change chapter style to section style: allows chapters to start on
      # the current page.  Works much better for the short chapters we have.
      # This must go in the class file rather than the preamble, so we modify
      # manual.cls at runtime.
      chapter_cmds=r'''
  % Local changes.
  \renewcommand\chapter{
      \thispagestyle{plain}
      \global\@topnum\z@
      \@afterindentfalse
      \secdef\@chapter\@schapter
  }
  \def\@makechapterhead#1{
      \vspace*{10\p@}
      {\raggedright \reset@font \Huge \bfseries \thechapter \quad #1}
      \par\nobreak
      \hrulefill
      \par\nobreak
      \vspace*{10\p@}
  }
  \def\@makeschapterhead#1{
      \vspace*{10\p@}
      {\raggedright \reset@font \Huge \bfseries #1}
      \par\nobreak
      \hrulefill
      \par\nobreak
      \vspace*{10\p@}
  }
  '''
      # manual.cls in Sphinx <= 0.6.7 became sphinxmanual.cls for 1.x
      manualcls = 'sphinxmanual.cls'
      if not os.path.exists(manualcls):
          manualcls = 'manual.cls'
  
      unmodified=True
      for line in fileinput.FileInput(manualcls, inplace=True):
          if 'Support for module synopsis' in line and unmodified:
              line=chapter_cmds+line
          elif 'makechapterhead' in line:
              # Already have altered manual.cls: don't need to again.
              unmodified=False
          print line,
  
      # Copying the makefile produced by sphinx...
      oscmd('pdflatex ipython.tex')
      oscmd('pdflatex ipython.tex')
      oscmd('pdflatex ipython.tex')
      oscmd('makeindex -s python.ist ipython.idx')
      oscmd('makeindex -s python.ist modipython.idx')
      oscmd('pdflatex ipython.tex')
      oscmd('pdflatex ipython.tex')
  
      # Create a manual/ directory with final html/pdf output
      os.chdir(topdir)
      oscmd('rm -rf manual')
      oscmd('mkdir manual')
      oscmd('cp -r build/html/*.html build/html/_static manual/')
      oscmd('cp build/latex/ipython.pdf manual/')
  
subject: Fix doc build with newer versions of sphinx.