
\c           @   s3  d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m	 Z	 m
 Z
 d d l m Z d d l m Z m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z d d l m Z m Z m Z d d l m Z m Z d d l m Z d d l  m! Z! m" Z" d d l# m$ Z$ d d l% m& Z& m' Z' y d d l( m) Z) Wn! e* k
 r{d d l+ m) Z) n Xe, rd d l- m. Z. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 d d l7 m8 Z8 n  e j9 e:  Z; d Z< d Z= d d d d d d d g Z> e d   i d d  6d! d" 6d# d$ 6d% d& 6d' d( 6 Z? i- d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d1 d3 6d1 d4 6d1 d5 6d1 d6 6d7 d8 6d1 d9 6d: d; 6d1 d< 6d1 d= 6d> d? 6d@ dA 6dB dC 6d1 dD 6dE dF 6d1 dG 6dH dI 6dJ dK 6dL dM 6d1 dN 6d1 dO 6d1 dP 6d1 dQ 6d1 dR 6d1 dS 6d1 dT 6d1 dU 6dV dW 6d1 dX 6dY dZ 6d1 d[ 6d\ d] 6d^ d_ 6d1 d` 6da db 6dc dd 6de df 6d1 dg 6d1 dh 6d1 di 6d1 dj 6Z@ i i dk d< 6dl d= 6d) 6i dm d* 6dn dG 6d1 dF 6do dA 6d1 dI 6dp d= 6dq d8 6dm 6i dr d* 6dn dG 6d1 dF 6do dA 6d1 dI 6dp d= 6dq d8 6dr 6i ds d* 6d1 dF 6dt d2 6d1 dK 6du d; 6ds 6ZA e jB dv  ZC dw e	 jD f dx     YZE dy e f dz     YZF d{ e
 jG f d|     YZH d} e f d~     YZI d eJ f d     YZK d eJ f d     YZL d   ZM d d  ZN d e	 jO f d     YZP d d lQ mR ZR mS ZS d d lT mU ZU mV ZV mW ZW d S(   s0  
    sphinx.writers.latex
    ~~~~~~~~~~~~~~~~~~~~

    Custom docutils writer for LaTeX.

    Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
    docutils sandbox.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t   defaultdict(   t   path(   t   nodest   writers(   t   Babel(   t
   itervaluest	   text_type(   t   addnodes(   t   highlighting(   t   RemovedInSphinx30Warning(   t   SphinxError(   t   admonitionlabelst   _t   __(   t
   split_intot   logging(   t   format_date(   t   clean_astextt   get_prev_node(   t   LaTeXRenderer(   t   tex_escape_mapt   tex_replace_map(   t   toRoman(	   t   Anyt   Callablet   Dictt   Iteratort   Listt   Patternt   Tuplet   Sett   Union(   t   Builders   
\ifdefined\shorthandoff
  \ifnum\catcode`\=\string=\active\shorthandoff{=}\fi
  \ifnum\catcode`\"=\active\shorthandoff{"}\fi
\fi
i   t   partt   chaptert   sectiont
   subsectiont   subsubsectiont	   paragrapht   subparagraphc           C   s   d S(   Ns   \arabic(    (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   <lambda>;   s    s   \arabict   arabics   \alpht
   loweralphas   \Alpht
   upperalphas   \romant
   lowerromans   \Romant
   upperromant   pdflatext   latex_enginet   letterpapert	   papersizet   10ptt	   pointsizes   .75bpt   pxunitt    t   classoptionst   extraclassoptionst   maxlistdeptht   sphinxpkgoptionst   sphinxsetups   \fvset{fontsize=\small}t   fvsett   passoptionstopackagess   \usepackage{geometry}t   geometryt   inputenct	   utf8extras   \usepackage{cmap}t   cmappkgs   \usepackage[T1]{fontenc}t   fontencs$   \usepackage{amsmath,amssymb,amstext}t   amsmatht   multilinguals   \usepackage{babel}t   babelt   polyglossias   \usepackage{times}t   fontpkgs   \usepackage[Bjarne]{fncychap}t   fncychaps   % Include hyperref last.
\usepackage{hyperref}
% Fix anchor placement for figures with captions.
\usepackage{hypcap}% it must be loaded after hyperref.
% Set up styles of URL: it should be placed after hyperref.
\urlstyle{same}t   hyperreft   usepackagest   numfig_formatt   contentsnamet   preamblet   titlet   datet   releaset   authors   \vbox{}t   logot   releasenames
   \makeindext	   makeindext   shorthandoffs   \sphinxmaketitlet	   maketitles   \sphinxtableofcontentst   tableofcontentst   atendofbodys   \printindext
   printindexs   

\bigskip\hrule\bigskip

t
   transitiont   htbpt   figure_alignt   tocdeptht   secnumdeptht   pageautorefnamet   translatablestringss   \usepackage[utf8]{inputenc}s+  \ifdefined\DeclareUnicodeCharacter
% support both utf8 and utf8x syntaxes
\edef\sphinxdqmaybe{\ifdefined\DeclareUnicodeCharacterAsOptional\string"\fi}
  \DeclareUnicodeCharacter{\sphinxdqmaybe00A0}{\nobreakspace}
  \DeclareUnicodeCharacter{\sphinxdqmaybe2500}{\sphinxunichar{2500}}
  \DeclareUnicodeCharacter{\sphinxdqmaybe2502}{\sphinxunichar{2502}}
  \DeclareUnicodeCharacter{\sphinxdqmaybe2514}{\sphinxunichar{2514}}
  \DeclareUnicodeCharacter{\sphinxdqmaybe251C}{\sphinxunichar{251C}}
  \DeclareUnicodeCharacter{\sphinxdqmaybe2572}{\textbackslash}
\fit   xelatexs   \usepackage{polyglossia}s   \usepackage{fontspec}sE   \catcode`^^^^00a0\active\protected\def^^^^00a0{\leavevmode\nobreak\ }s   \fvset{fontsize=auto}t   lualatext   platexs	   ,dvipdfmxs   \usepackage[dvipdfm]{geometry}s   ^(.*\S)\s+\(([^()]*)\)\s*$t   collected_footnotec           B   s   e  Z d  Z RS(   s5   Footnotes that are collected are assigned this class.(   t   __name__t
   __module__t   __doc__(    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRc      s   t   UnsupportedErrorc           B   s   e  Z d  Z RS(   s   Markup is unsupported in LaTeX(   Rd   Re   t   category(    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRg      s   t   LaTeXWriterc        	   B   s}   e  Z d Z d d d d g i d d 6f d d g i d d 6f d	 d
 g i d d 6f f f Z i  Z d Z d   Z d   Z RS(   t   sphinxlatexs   LaTeX writer optionsR5   s   Document names	   --docnamet   defaults   Document classs
   --docclasst   manualt   Authors   --authorc         C   s   t  j j |   | |  _ d  S(   N(   R   t   Writert   __init__t   builder(   t   selfRp   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRo      s    c         C   s>   |  j  j |  j |  j   } |  j j |  | j   |  _ d  S(   N(   Rp   t   create_translatort   documentt	   walkaboutt   astextt   output(   Rq   t   visitor(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt	   translate   s    (   Rj   N(	   Rd   Re   t	   supportedt   settings_spect   settings_defaultst   NoneRv   Ro   Rx   (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRi      s   	t   ExtBabelc           B   sG   e  Z d Z e d  Z d   Z d   Z d   Z d	   Z d
   Z	 RS(   t	   bulgariant   kazakht	   mongoliant   russiant	   ukrainianc         C   s;   | |  _  | |  _ t |  _ t t |   j | p3 d  d  S(   NR5   (   t   language_codet   use_polyglossiat   TrueRy   t   superR}   Ro   (   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRo      s    			c         C   s   t  j d t d d t S(   Ns*   ExtBabel.get_shorthandoff() is deprecated.t
   stackleveli   (   t   warningst   warnR	   t   SHORTHANDOFF(   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   get_shorthandoff   s    	c         C   s   |  j  |  j k S(   N(   t   languaget   cyrillic_languages(   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   uses_cyrillic   s    c         C   s   |  j  S(   N(   Ry   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   is_supported_language   s    c         C   sL   t  t |   j |  } | d k r1 |  j r1 d S| sD t |  _ d S| Sd  S(   Nt   ngermant   germant   english(   R   R}   t   language_nameR   t   FalseRy   (   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR      s    	c         C   s\   |  j  t k r d S|  j d k rT t t |   j |  j  } | d k rM d Sd Sn d Sd S(   s6   Return options for polyglossia's ``\setmainlanguage``.R   R   s   spelling=news   spelling=oldN(   R   R   R|   R   R   R}   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   get_mainlanguage_options   s    (   R~   R   R   R   R   (
   Rd   Re   R   R   Ro   R   R   R   R   R   (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR}      s   				t   Tablec           B   sh   e  Z d  Z d   Z e d    Z e d    Z d   Z d   Z d   Z	 d   Z
 d	 d	 d  Z RS(
   s   A table datac         C   s   g  |  _  g  |  _ | j d  |  _ d |  _ d  |  _ g  |  _ t |  _	 t |  _
 t |  _ d  |  _ g  |  _ d |  _ d |  _ | j d g   |  _ t t  |  _ d |  _ d  S(   Nt   aligni    t   classes(   t   headert   bodyt   getR   t   colcountR|   t   colspect	   colwidthsR   t   has_problematict   has_oldproblematict   has_verbatimt   captiont   stubst   colt   rowR   R    t   intt   cellst   cell_id(   Rq   t   node(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRo   	  s     												c         C   s   t  j d t d d g  S(   Ns*   table.caption_footnotetexts is deprecated.R   i   (   R   R   R	   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   caption_footnotetexts"  s    	c         C   s   t  j d t d d g  S(   Ns)   table.header_footnotetexts is deprecated.R   i   (   R   R   R	   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   header_footnotetexts)  s    	c         C   s   |  j  d k p d |  j k S(   s5   True if and only if table uses longtable environment.i   t	   longtable(   R   R   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   is_longtable0  s    c         C   sW   |  j    r d S|  j r d S|  j r* d S|  j sK |  j rO d |  j k rO d Sd Sd S(   s   Returns the LaTeX environment name for the table.

        The class currently supports:

        * longtable
        * tabular
        * tabulary
        R   t   tabulart   tabularys   colwidths-givenN(   R   R   R   R   R   R   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   get_table_type5  s    
		!c         C   s   |  j  r |  j  S|  j rn d |  j k rn t |  j  } g  |  j D] } d | | f ^ qA } d d j |  S|  j r d |  j |  j f S|  j   d k r d d |  j d	 S|  j r d |  j |  j f Sd d
 |  j d	 Sd S(   s   Returns a column spec of table.

        This is what LaTeX calls the 'preamble argument' of the used table environment.

        .. note:: the ``\X`` and ``T`` column type specifiers are defined in ``sphinx.sty``.
        s   colwidths-givens
   \X{%d}{%d}s   {|%s|}
t   |s   {|*{%d}{\X{1}{%d}|}}
R   s   {|s   T|s   }
s   l|N(	   R   R   R   t   sumt   joinR   R   R   R   (   Rq   t   totalt   widtht   colspecs(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   get_colspecJ  s    	&		c         C   s   |  j  d 7_  x| t |  D]n } xe t |  D]W } |  j |  j | |  j | f d k sb t  |  j  |  j |  j | |  j | f <q/ Wq Wd S(   ss   Adds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
        i   i    N(   R   t   rangeR   R   R   t   AssertionError(   Rq   t   heightR   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   add_cellb  s
    -c         C   s]   yD | d k r |  j } n  | d k r3 |  j } n  t |  | |  SWn t k
 rX d SXd S(   s   Returns a cell object (i.e. rectangular area) containing given position.

        If no option arguments: ``row`` or ``col`` are given, the current position;
        ``self.row`` and ``self.col`` are used to get a cell object by default.
        N(   R|   R   R   t	   TableCellt
   IndexError(   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   celln  s    N(   Rd   Re   Rf   Ro   t   propertyR   R   R   R   R   R   R|   R   (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR     s   					R   c           B   s5   e  Z d  Z d   Z e d    Z e d    Z RS(   s   A cell data of tables.c         C   s   | j  | | f d k r" t  n  | |  _ | j  | | f |  _ | |  _ | |  _ x9 | j  |  j d |  j f |  j k r |  j d 8_ qV Wx9 | j  |  j |  j d f |  j k r |  j d 8_ q Wd  S(   Ni    i   (   R   R   t   tableR   R   R   (   Rq   R   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRo     s    				))c         C   sD   d } x7 |  j  j |  j |  j | f |  j k r? | d 7} q	 W| S(   s   Returns the cell width.i    i   (   R   R   R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR     s    ,c         C   sD   d } x7 |  j  j |  j | |  j f |  j k r? | d 7} q	 W| S(   s   Returns the cell height.i    i   (   R   R   R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR     s    ,(   Rd   Re   Rf   Ro   R   R   R   (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR     s   		c         C   s   t  j d d |   S(   s#   Adjust spacing after abbreviations.s
   \.(?=\s|$)s   .\@(   t   ret   sub(   t   text(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   escape_abbr  s    id   c         C   s"  t  j d |   } | s! t  n  |  } | j   d  \ } } | d k r t |  | d k rl d | } q| d k r d | } q| d	 k rd
 t |  d } qns t |  | d } | d k r d | } nF | d k r d | } n- | d	 k rd | d } n d | | f } | S(   s4   Convert `width_str` with rst length to LaTeX length.s   ^(\d*\.?\d*)\s*(\S*)$i   id   R5   t   pxs   %s\sphinxpxdiment   pts   %sbpt   %s   %.3f\linewidthg      Y@s   %.5f\sphinxpxdimens   %.5fbps   %.5f\linewidths   %.5f%s(   R5   R   (   R5   R   (   R   t   matcht
   ValueErrort   groupst   float(   t	   width_strt   scaleR   t   rest   amountt   unitt   amount_float(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   rstdim_to_latexdim  s,    	
t   LaTeXTranslatorc           B   sb	  e  Z d  Z e Z d Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z e e d
  Z e d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" e! Z# e" Z$ d   Z% d    Z& d!   Z' d"   Z( d#   Z) d$   Z* d%   Z+ d&   Z, d'   Z- d(   Z. d)   Z/ d*   Z0 d+   Z1 d,   Z2 d-   Z3 d.   Z4 d/   Z5 d0   Z6 d1   Z7 d2   Z8 d3   Z9 d4   Z: d5   Z; d6   Z< d7   Z= d8   Z> d9   Z? d:   Z@ d;   ZA d<   ZB d=   ZC d>   ZD d?   ZE d@   ZF dA   ZG dB   ZH dC   ZI dD   ZJ dE   ZK dF   ZL dG   ZM dH   ZN dI   ZO dJ   ZP dK   ZQ dL   ZR dM   ZS dN   ZT dO   ZU dP   ZV dQ   ZW dR   ZX dS   ZY dT   ZZ dU   Z[ dV   Z\ dW   Z] dX   Z^ dY   Z_ dZ   Z` d[   Za d\   Zb d]   Zc d^   Zd d_   Ze d`   Zf da   Zg db   Zh dc   Zi dd   Zj de   Zk df   Zl dg   Zm dh   Zn di   Zo dj   Zp dk   Zq dl   Zr dm   Zs dn   Zt do   Zu el Zv em Zw ep Zx eq Zy dp   Zz dq   Z{ dr   Z| ds   Z} dt   Z~ du   Z dv   Z dw   Z dx dy  Z dz   Z d{   Z d|   Z d}   Z d~   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e d  Z e Z e d  Z e Z e d  Z e Z e d  Z e Z e d  Z e Z e d  Z e Z e d  Z e Z e d  Z e Z e d  Z e Z d   Z d   Z d   Z d   Z d   Z d   Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e Z e Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Zd   Zd   Zed    Zed    Zed    Zed    Zed    Z	d   Z
d   Zed    Zd   ZRS(   i   t   howtoRl   c   	         s	  t  j j |  |  | |  _ g  |  _ d |  _ d |  _ d |  _ d |  _ d |  _	 d |  _
 d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ t j   |  _ |  j j t j | j j i    |  j d d k r0| j j r0| j j d  d k r-|  j j i d d 6d	 d
 6 q-q0n  |  j j | j j  |  j j i |  j | j j  d 6| j j  d 6|  j! | j j"  d 6| j j# d 6t$ d  d 6| j j% d 6 |  j d r|  j d r|  j j i t$ d  d 6 n  t& |  _' | j j d k rK| j j( j d d  } | d d k r8qc|  j' j) d  n | j j( j d d  } | |  j d <d |  _* | j j+ ry |  j' j, | j j+  |  _* Wqt- k
 rt. j/ t0 d  | j j+ | f  qXn  | j j1 r | j j1 |  j d <n1 t2 | j j3 pt$ d  d | j j |  j d <| j j4 r<| j j5 |  _5 |  j5 d k rt6 |  j'  t6 t&  k  r|  j* d k r|  j5 |  j* 7_5 n |  j5 |  j* d 7_5 t7 |  j5 t6 t&  d  |  _5 |  j d c d  |  j5 7<n |  j d c d! 7<y& | j j8 r$|  j d c d" 7<n  Wq<t9 k
 r8q<Xn  | j j: rkd# t; j< | j j:  |  j d$ <n  | j j r| j j d% k rd& | j j k rd' |  j d& <n  t= | j j |  j d
  |  _> | j j r|  j> j?   rt. j/ t0 d(  | j j  n  |  j d
 r|  j d) c d* |  j> j@   7<|  j d
 |  j d+ <| j j r)tA |  j d, <|  j> jB   rd- | j j k rd |  j d- <qq)n |  j d r)|  j d) c d* |  j> j@   7<|  j> jC   } | rd. | |  j> j@   f } n d/ |  j> j@   } d0 |  j d | f |  j d+ <n  tD | d1 d   rd  d2      f d3   | jF D } |  j d1 c d4 jG |  7<n  |  jH } | j d5  rB| d5 |  j* d } t6 |  j'  t6 t&  k  r|  j* d k r| d 7} n  | t6 t&  d k rt. j/ t0 d6   t6 t&  d } n  d7 | |  j d5 <tI | |  } n  | j j4 ry| j j5 d k rytI | |  j5 d  } n  | |  jH k rd8 | |  j d9 <n  tD | j d: d   r|  jJ d; | j jK  |  j d: <n  |  j d< r|  j d c d= |  j d< 7<n  |  j d r)d> |  j d |  j d <n  |  j d? rQd@ |  j d? |  j d? <n  |  j dA r|  j d) c d* |  j dA 7<n  |  jJ dB |  j! t$ dC    |  jJ dD |  j! t$ dE    |  jJ dF |  j! t$ dG    |  jJ dH |  j! t$ dI    |  jJ dJ |  j! t$ dK    |  j dL <|  jL dM |  j! t$ dN    |  j dO <|  jM |  |  j dP <tN jO dQ | j jP  |  _Q g  |  _R g  |  _S d  |  _T d  |  _U g  |  _V tW |  _X g  |  _Y g  |  _Z t[   |  _\ d  S(R   Ni    i   R/   R`   i   t   frR5   RE   s   \usepackage{babel}RD   t   wrapperclassRM   RO   RP   t   Indext	   indexnamet	   use_xindyRR   t   ReleaseR   t   articlet   jR"   Rl   t   reportt   docclasss+   unknown %r toplevel_sectioning for class %rRN   s	   %b %d, %YR   R9   s   ,numfigreset=%ss   ,nonumfigresets   ,mathnumfigs   \sphinxincludegraphics{%s}\parRQ   t   jaRG   sk   \usepackage[Sonny]{fncychap}
\ChNameVar{\Large\normalfont\sffamily}
\ChTitleVar{\Large\normalfont\sffamily}s%   no Babel option known for language %rR6   t   ,RC   RT   RF   s   \setmainlanguage[%s]{%s}s   \setmainlanguage{%s}s   %s
%sRI   c         S   s#   | r d | |  f Sd |  f Sd  S(   Ns   \usepackage[%s]{%s}s   \usepackage{%s}(    (   t   packagenamet   options(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   declare_packageh  s    c         3   s   |  ] }   |   Vq d  S(   N(    (   t   .0t   p(   R   (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pys	   <genexpr>n  s    s   
R\   s   too large :maxdepth:, ignored.s   \setcounter{tocdepth}{%d}s   \setcounter{secnumdepth}{%d}R]   RK   s   \contentsnameR8   s   ,maxlistdepth=%ss   [%s]R:   s   \sphinxsetup{%s}R7   s   \literalblockcontinuednames   continued from previous pages   \literalblockcontinuesnames   continues on next pages   \sphinxnonalphabeticalgroupnames   Non-alphabeticals   \sphinxsymbolsnamet   Symbolss   \sphinxnumbersnamet   NumbersR_   s   \pageautorefnamet   pageR^   RJ   t   latex(]   R   t   NodeVisitorRo   Rp   R   t   in_titlet   in_production_listt   in_footnotet
   in_captiont   in_termt   needs_linetrimmingt   in_minipaget   first_documentt   this_is_the_titlet   literal_whitespacet   no_contractionst   in_parsed_literalt   compact_listt   first_paramt   DEFAULT_SETTINGSt   copyt   elementst   updatet   ADDITIONAL_SETTINGSR   t   configR/   R   t   latex_elementst   format_docclasst   settingsR   RM   t   encodeRO   RP   R   t   latex_use_xindyt   LATEXSECTIONNAMESt   sectionnamest   latex_docclasst   removet   top_sectionlevelt   latex_toplevel_sectioningt   indexR   t   loggert   warningR   t   todayR   t	   today_fmtt   numfigt   numfig_secnum_deptht   lent   mint   math_numfigt   AttributeErrort
   latex_logoR   t   basenameR}   RD   R   t   get_languageR   R   R   t   getattrR|   RI   R   R]   t   maxt   babel_renewcommandRK   t   babel_defmacrot   generate_numfig_formatR   t   PygmentsBridget   pygments_stylet   highlightert   contextt	   descstackR   t   next_table_colspect	   bodystackR   t   footnote_restrictedt   pending_footnotest   curfilestackt   sett   handled_abbrs(	   Rq   Rs   Rp   R   R   t   mainlanguageRI   t   minsecnumdepthR\   (    (   R   s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRo     s*   																"
		   	"{#(								c         C   s    |  j  j |  j  | |  _ d  S(   N(   R#  t   appendR   (   Rq   t   newbody(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   pushbody  s    c         C   s   |  j  } |  j j   |  _  | S(   N(   R   R#  t   pop(   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   popbody  s    	c         C   s>   t  j d t d d |  j t k r: | |  _ g  |  _ n  d  S(   Ns.   LaTeXWriter.restrict_footnote() is deprecated.R   i   (   R   R   R	   R$  R   R%  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   restrict_footnote  s
    		c         C   si   t  j d t d d |  j | k re t |  _ x( |  j D] } t | d <| j |   q8 Wg  |  _ n  d  S(   Ns0   LaTeXWriter.unrestrict_footnote() is deprecated.R   i   t   footnotetext(   R   R   R	   R$  R   R%  R   Rt   (   Rq   R   t   footnode(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   unrestrict_footnote  s    		
c         C   s    | |  j  k r d | } n  | S(   s4    prepends prefix to sphinx document classes
        t   sphinx(   t
   docclasses(   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR     s    c         C   sC   |  j  j i d j |  j  d 6|  j   d 6 |  j d |  j   S(   Nu    R   t   indicess   latex.tex_t(   R   R   R   R   t   generate_indicest   render(   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRu     s    c         C   s?   | r |  j  d d | } n  | r* d p- d d |  j |  S(   Nit   :s   \phantomsectionR5   s
   \label{%s}(   R&  t   idescape(   Rq   t   idt   withdoct   anchor(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   hypertarget  s    c            s9   d j    f d   | d D  } | r1 d | S| Sd  S(   NR5   c         3   s$   |  ] }   j  | d  t Vq d S(   R=  N(   R>  R   (   R   t   node_id(   Rq   (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pys	   <genexpr>  s    t   idss   \phantomsection(   R   (   Rq   R   R=  t   labels(    (   Rq   s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   hypertarget_to  s    #c         C   s   d |  j  |  S(   Ns   {\hyperref[%s]{(   R:  (   Rq   R;  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt	   hyperlink  s    c         C   s   d |  j  |  S(   Ns   \autopageref*{%s}(   R:  (   Rq   R;  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   hyperpageref  s    c         C   s8   d t  |  j t  j d d  j d  j d d  S(   Ns   \detokenize{%s}t   asciit   backslashreplaces   \R   (   R   Rx   R   R  t   decodet   replace(   Rq   R;  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR:    s    c         C   sI   |  j  d r) d |  j j   } d } n d } d } d | | | | f S(   NRC   s   \addto\captions%s{t   }R5   s   %s\renewcommand{%s}{%s}%s
(   R   RD   R  (   Rq   t   commandt
   definitiont   prefixt   suffix(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR    s    	c         C   sI   |  j  d r) d |  j j   } d } n d } d } d | | | | f S(   NRD   s   \addto\extras%s{RI  R5   s   %s\def%s{%s}%s
(   R   RD   R  (   Rq   t   nameRK  RL  RM  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR    s    	c         C   s4  g  } |  j  j j d j d d  } t |  d k rd | j d t | d  j   j t	   nv t
 t | d  j t	   } | j |  j d |   | j d  | j d t | d  j t	   | j d	  |  j  j j d
 j d d  } t |  d k r8| j d t | d  j   j t	   nv t
 t | d  j t	   } | j |  j d |   | j d  | j d t | d  j t	   | j d	  |  j  j j d j d d  } t |  d k rnE t | d  j   j t	  } | j |  j d |   | d r'n  d j |  S(   Nt   figures   %si   s   \def\fnum@figure{%s}
i    s   \figurenames   \makeatletter
s,   \def\fnum@figure{\figurename\thefigure{}%s}
s   \makeatother
R   s   \def\fnum@table{%s}
s
   \tablenames)   \def\fnum@table{\tablename\thetable{}%s}
s
   code-blocks   \literalblocknameR5   (   Rp   R   RJ   t   splitR  R+  R   t   stripRx   R   R   R  R   (   Rq   Rp   t   retRO  RK  R   t	   codeblock(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR    s:    	$		$	
c            s      f d   } g     j  j j } | r x t  j  j j  D] } x | j D] } d | j | j f } t | t	  r | | k r qS q n  | |  j
  j  j  \ } } | s qS n    j d | j  | | |  qS WqC Wn  d j    S(   Nc            s    j  d    j  d  x t |   D] \ } \ } } | d k rU   j  d  n    j  d t |  j t   x | D] } | d s q| n    j  d  j | d   | d r   j  d	  j | d   n    j  d
 | d  j | d  f  q| Wq' W  j  d  d  S(   Ns   \begin{sphinxtheindex}
s+   \let\bigletter\sphinxstyleindexlettergroup
i    s   \indexspace
s   \bigletter{%s}
i   s%   \item\relax\sphinxstyleindexentry{%s}i   s   \sphinxstyleindexextra{%s}s    \sphinxstyleindexpageref{%s:%s}
i   s   \end{sphinxtheindex}
(   R+  t	   enumerateR   Rx   R   R  R:  (   t   contentt	   collapsedt   it   lettert   entriest   entry(   RR  Rq   (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   generateF  s"    	
	
!	's   %s-%su   \renewcommand{\indexname}{%s}
R5   (   Rp   R   t   latex_domain_indicesR   t   envt   domainsR6  RN  t
   isinstancet   listR[  t   docnamesR+  t	   localnameR   (   Rq   R[  t   indices_configt   domaint   indexclsR   RU  RV  (    (   RR  Rq   s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR7  D  s$    		c         C   sj   xT |  j  j j D]C } t j |  j  j | |  } t j |  r t   j | |  Sq Wt   j | |  S(   N(	   Rp   R   t   templates_pathR   R   t   confdirt   existsR   R8  (   Rq   t   template_namet	   variablest   template_dirt   template(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR8  o  s    	c         C   s   |  j  j | j d d   |  j d k r7 d |  _ n+ |  j d k rb |  j j d  d |  _ n  d | k r |  j j |  j d   n  |  j d |  _ d  S(   Nt   docnameR5   i   i    u   
\appendix
is   :doc(   R&  R+  R   R   R   R>  R  t   sectionlevel(   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_documenty  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_document  s    c         C   s   |  j  j | d  d  S(   NRm  (   R&  R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_start_of_file  s    c            sn     f d     i  } xR   |  D]D } | j  d j   j   } t d | | j   } | t g | | <q" W| S(   Nc         3   sf   t  |  t j  r |  VnH xE |  j D]: } t  | t j  rB q$ n  x   |  D] } | VqO Wq$ Wd  S(   N(   R_  R   t   footnotet   childrenR   t   start_of_file(   t   nt   ct   k(   t   footnotes_under(    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyRx    s    i    t   number(   Rs  Ru   RQ  Rc   R   (   Rq   R   t   fnotest   fnt   numt   newnode(    (   Rx  s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   collect_footnotes  s    c         C   s   |  j  j   d  S(   N(   R&  R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_start_of_file  s    c         C   s/   |  j  s |  j d 7_ n  |  j j d  d  S(   Ni   s   

(   R   Rn  R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_section  s    	c         C   s$   t  |  j d |  j d  |  _ d  S(   Ni   (   R  Rn  R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_section  s    c         C   s   |  j  j d  d  S(   Ns   {\color{red}\bfseries{}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_problematic  s    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_problematic  s    c         C   s   d |  _  |  j j d  d  S(   Ni   s   
\begin{sphinxShadowBox}
(   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_topic  s    	c         C   s   d |  _  |  j j d  d  S(   Ni    s   \end{sphinxShadowBox}
(   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_topic  s    	c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_glossary  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_glossary  s    c         C   s   |  j  j d  d |  _ d  S(   Ns   

\begin{productionlist}
i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_productionlist  s    c         C   s   |  j  j d  d |  _ d  S(   Ns   \end{productionlist}

i    (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_productionlist  s    c         C   se   | d rQ | d } |  j  j |  j d |   |  j  j d |  j |   n |  j  j d  d  S(   Nt	   tokennames   grammar-token-s   \production{%s}{s   \productioncont{(   R   R+  R>  R  (   Rq   R   t   tn(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_production  s
    

 c         C   s   |  j  j d  d  S(   Ns   }
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_production  s    c         C   s   |  j  j |  j d  d  S(   NRY   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_transition  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_transition  s    c         C   s  | j  } t | t j  r' t j  nt | t j  r|  j r t | j	  d k r t | j	 d t j
  r t j t d  d |  j d | j f n  |  j d s | j   j t  |  j d <n  d |  _ t j  qd } | j t j  r!d d	 j t |  j    j t  } n  y( |  j j d
 |  j |  j | f  Wn2 t k
 r}|  j j d
 |  j d | f  n X|  j j d |  j | j    nt | t j   r|  j j d  |  j j d  n t | t j!  r|  j j d  |  j j d  n t | t j"  r@|  j j d  |  j j d  nq t | t j#  rb|  j$ g   nO t j t d  d |  j d | j pd f |  j j d  |  j j d  d |  _% d  S(   Ni   i    s(   document title is not a single Text nodet   locationiRM   R5   s   [%s]u    s   \%s%s{s   }
s   \sphinxstyletopictitle{s   \sphinxstylesidebartitle{t   {sJ   encountered title node not in section, topic, table, admonition or sidebars   \sphinxstyleothertitle{(&   t   parentR_  R   t   seealsoR   t   SkipNodeR#   R   R  Rs  t   TextR  R  R   R&  t   lineR   Ru   Rx   R   t   traverset   imageR   R   RP  R   R+  R  Rn  R   R   RB  t   topict   sidebart
   AdmonitionR   R-  R   (   Rq   R   R  t   short(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_title  sL    		"	((%#c         C   sP   d |  _  t | j t j  r3 |  j   |  j _ n |  j j |  j	 j
    d  S(   Ni    (   R   R_  R  R   R   R/  R   R   R+  R   R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_title   s    	c         C   sL   t  | j t j  r8 |  j j d  |  j j d  n |  j j d  d  S(   Ns   \sphinxstylesidebarsubtitle{s   }
R5   (   R_  R  R   R  R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_subtitle(  s    c         C   s   |  j  j |  j j    d  S(   N(   R   R+  R   R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_subtitle0  s    c         C   s,   |  j  j d  |  j r( t |  j _ n  d  S(   Ns   

\begin{fulllineitems}
(   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_desc4  s    	c         C   s   |  j  j d  d  S(   Ns   
\end{fulllineitems}

(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc:  s    c         C   sK   xD | D], } t  | t j  r |  j j d  Pq q W|  j j d  d  S(   Ns   \pysiglinewithargsret{s   \pysigline{(   R_  R   t   desc_parameterlistR   R+  (   Rq   R   t   child(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   _visit_signature_line>  s
    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   _depart_signature_lineG  s    c         C   s   | j  d d k r7 | d r7 |  j | d d  } n d } |  j j |  | j d  sl |  j |  n |  j j d  d  S(   Nt   objtypet   describeR@  i    R5   t   is_multilines   %
\pysigstartmultiline
(   R  R>  R   R+  R   R  (   Rq   R   t   hyper(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_signatureK  s    c         C   s3   | j  d  s |  j |  n |  j j d  d  S(   NR  s   %
\pysigstopmultiline(   R   R  R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_signatureW  s    c         C   s   |  j  |  d  S(   N(   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_signature_line^  s    c         C   s   |  j  |  d  S(   N(   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_signature_lineb  s    c         C   s#   |  j  j d  |  j d 7_ d  S(   Ns   \sphinxcode{\sphinxupquote{i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_addnamef  s    c         C   s#   |  j  j d  |  j d 8_ d  S(   Ns   }}i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_addnamek  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_typep  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_typet  s    c         C   s   |  j  j d  d  S(   Ns   { $\rightarrow$ (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_returnsx  s    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_returns|  s    c         C   s2   |  j  j d  |  j d 7_ |  j d 7_ d  S(   Ns   \sphinxbfcode{\sphinxupquote{i   (   R   R+  R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_name  s    c         C   s2   |  j  j d  |  j d 8_ |  j d 8_ d  S(   Ns   }}i   (   R   R+  R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_name  s    c         C   s   |  j  j d  d |  _ d  S(   Ns   }{i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_parameterlist  s    c         C   s   |  j  j d  d  S(   Ns   }{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_parameterlist  s    c         C   sK   |  j  s |  j j d  n	 d |  _  | j d  sG |  j j d  n  d  S(   Ns   , i    t   noemphs   \emph{(   R   R   R+  t   hasattr(   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_parameter  s
    		c         C   s&   | j  d  s" |  j j d  n  d  S(   NR  RI  (   R  R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_parameter  s    c         C   s   |  j  j d  d  S(   Ns   \sphinxoptional{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_optional  s    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_optional  s    c         C   s   |  j  j d  d  S(   Ns   \sphinxbfcode{\sphinxupquote{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_annotation  s    c         C   s   |  j  j d  d  S(   Ns   }}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_annotation  s    c         C   s:   | j  r6 t | j  d t j  r6 |  j j d  n  d  S(   Ni    t   ~(   Rs  R_  R   R&   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_desc_content  s    #c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_desc_content  s    c         C   s   |  j  j d t d  d  S(   Nu   

\sphinxstrong{%s:}

R  (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_seealso  s    c         C   s   |  j  j d  d  S(   Ns   

(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_seealso  s    c         C   ss   t  | j  d k rF | j d j   d t d  f k rF t j  n  |  j j d  |  j j d  d |  _	 d  S(   Ni   i    t	   Footnotess   \subsubsection*{s   }
(
   R  Rs  Ru   R   R   R  R   R+  R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_rubric  s    %c         C   s&   d |  _  |  j j |  j j    d  S(   Ni    (   R   R   R+  R   R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_rubric  s    	c         C   sk   |  j  d 7_  |  j r9 |  j j d | d j    n |  j j d | d j    |  j j d  d  S(   Ni   s   \begin{footnote}[%s]i    s   %%
\begin{footnote}[%s]s   \sphinxAtStartFootnote
(   R   R   R   R+  Ru   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_footnote  s
    	!c         C   s?   |  j  r |  j j d  n |  j j d  |  j d 8_ d  S(   Ns   \end{footnote}s   %
\end{footnote}i   (   R   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_footnote  s    	c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_label  s    c         C   s   | d |  _  t j  d  S(   Nt   spec(   R"  R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_tabular_col_spec  s    c         C   s   |  j  r2 t d |  j d | j p% d f   n  t |  |  _  |  j r d |  j |  j  _ d | j d g   k r t j	 d d | q n  d  |  _ d  S(	   Ns-   %s:%s: nested tables are not yet implemented.iR5   s   {%s}
s   colwidths-givenR   sG   both tabularcolumns and :widths: option are given. :widths: is ignored.R  (   R   Rg   R&  R  R   R"  R   R   R  t   infoR|   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_table  s    	#	c         C   s   |  j  |  } |  j j   } |  j | d t d |  j d |   } |  j j d  |  j j |  |  j j d  d  |  _ d  S(   Ns   .tex_tR   RA  s   

s   
(   RB  R   R   R8  t   dictR   R+  R|   (   Rq   R   RA  t
   table_typeR   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_table  s    c         C   sh   |  j  j d 7_ d | k r8 |  j  j j | d  n  d | k rd |  j  j j |  j  j d  n  d  S(   Ni   t   colwidtht   stub(   R   R   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_colspec	  s
    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_colspec  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_tgroup  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_tgroup  s    c         C   s   |  j  |  j j  d  S(   N(   R-  R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_thead  s    c         C   s   |  j    d  S(   N(   R/  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_thead"  s    c         C   s   |  j  |  j j  d  S(   N(   R-  R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_tbody&  s    c         C   s   |  j    d  S(   N(   R/  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_tbody+  s    c         C   s   d |  j  _ x t r |  j  j |  j  j |  j  j  } | d  k rF Pq |  j  j | j 7_ | j rw |  j j d  n  | j d k r |  j j d | j	  q |  j j d | j | j	 f  q Wd  S(   Ni    t   &i   s   \sphinxtablestrut{%d}s,   \multicolumn{%d}{|l|}{\sphinxtablestrut{%d}}(
   R   R   R   R   R   R|   R   R   R+  R   (   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt	   visit_row/  s    	!	c         C   s=  |  j  j d  g  t |  j j  D]! } |  j j |  j j |  ^ q# } g  | D]& } | j | j |  j j d k ^ qQ } t |  r |  j  j d  n d } | j	 t
 g  xr | t |  k  r&| | t k r| | j t
  } |  j  j d | d | | f  | | 7} n  | d 7} q W|  j j d 7_ d  S(   Ns   \\
i   s   \hlinei    s   \cline{%d-%d}(   R   R+  R   R   R   R   R   R   t   allt   extendR   R  R   R
  (   Rq   R   RW  R   R   t
   underlinedR   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   depart_rowD  s    :3"c         C   sa  |  j  j d k r% |  j j d  n  |  j  j | j d d  d | j d d  d  |  j  j   } d } | j d k r |  j j	 j
 r |  j  j d k r |  j j d | j  n |  j j d | j  d	 } q |  j j d
 | j  d } n  | j d k r3|  j j d | j | j f  d	 | } n  | j d k sQ| j d k r|  j j d | j |  j  j f  d | } d |  _ n  t | j t j   d k rt |  j  _ n  t | j j t j  s| j |  j  j k r4t |  d k r!t | d t j  r!| j   d k r!q4|  j j d  n  |  j rM|  j g   n  |  j j |  d  S(   Ni    R  t   morerowsi   t   morecolsR5   s   \multicolumn{%d}{|l|}{%%
s   \multicolumn{%d}{l|}{%%
s   }%
s   \sphinxstartmulticolumn{%d}%%
s   \sphinxstopmulticolumn
s   \sphinxmultirow{%d}{%d}{%%
s-   \begin{varwidth}[t]{\sphinxcolwidth{%d}{%d}}
s=   \par
\vskip-\baselineskip\vbox{\hbox{\strut}}\end{varwidth}%
i   s   \sphinxstyletheadfamily (   R   R   R   R+  R   R   R   R   Rp   R   t   latex_use_latex_multicolumnR   R   R   R   R  R  R   R&   R   R   R_  R  t   theadR   Ru   R-  R   (   Rq   R   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_entryV  s>    3		 -:	c         C   s6  |  j  r[ d |  _  |  j   } x' | rG | d d k rG | j d  q! W|  j j |  n  |  j j |  j j    |  j j   } |  j j	 | j
 7_	 x t r1|  j j   } | d  k r Pq |  j j	 | j
 7_	 |  j j d  | j
 d k r|  j j d | j  q |  j j d | j
 | j f  q Wd  S(   Ni    s   
R  i   s   \sphinxtablestrut{%d}s+   \multicolumn{%d}{l|}{\sphinxtablestrut{%d}}(   R   R/  R.  R   R  R+  R   R   R   R   R   R   R|   R   (   Rq   R   R   R   t   nextcell(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_entry|  s&    			c         C   s^   |  j  j d  |  j  j d j d   | j d j D  d  |  j  j d  t j  d  S(   Ns   

s   , c         s   s   |  ] } | j    Vq d  S(   N(   Ru   (   R   Ru  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pys	   <genexpr>  s   i    t   .(   R   R+  R   Rs  R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_acks  s
    c         C   s8   |  j  s |  j j d  n  |  j r4 t |  j _ n  d  S(   Ns   \begin{itemize}
(   R   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_bullet_list  s    		c         C   s    |  j  s |  j j d  n  d  S(   Ns   \end{itemize}
(   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_bullet_list  s    	c            sJ  d   }   f d     d t    |   j   } d t    |  d  j   } t j | |   } | j d d  } | j d d  } |  j j d	  |  j j d
 | | | f  |  j j d | | | | f  |  j j d | | | | | f  d | k r.|  j j d | | d d f  n  |  j rFt |  j _ n  d  S(   Nc         S   sM   |  j  d d  } d | k rI d |  j  d d  t |   k  rI d } n  | S(   Nt   enumtypeR)   t   alphai   t   starti    (   R   R  (   R   R  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   get_enumtype  s    .	c            sD   |  d  k r d St |  t j  r3   |  j  d S  |  j  Sd  S(   Ni    i   (   R|   R_  R   t   enumerated_listR  (   R   (   t   get_nested_level(    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR    s
    s   enum%si   RL  R5   RM  R  s   \begin{enumerate}
s   \def\the%s{%s{%s}}
s   \def\label%s{%s\the%s %s}
s6   \makeatletter\def\p@%s{\p@%s %s\the%s %s}\makeatother
R  s   \setcounter{%s}{%d}
(	   R   t   lowert   ENUMERATE_LIST_STYLER   R   R+  R   R   R   (   Rq   R   R  t   enumt   enumnextt   styleRL  RM  (    (   R  s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_enumerated_list  s"    			 %	c         C   s   |  j  j d  d  S(   Ns   \end{enumerate}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_enumerated_list  s    c         C   s   |  j  j d  d  S(   Ns	   \item {} (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_list_item  s    c         C   s   |  j  j d  d  S(   Ns   
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_list_item  s    c         C   s,   |  j  j d  |  j r( t |  j _ n  d  S(   Ns   \begin{description}
(   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_definition_list  s    	c         C   s   |  j  j d  d  S(   Ns   \end{description}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_definition_list  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_definition_list_item  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_definition_list_item  s    c         C   s   |  j  d 7_  d } | j d  r[ d } x. | d D] } | |  j | d t 7} q5 Wn  | d 7} |  j j d  |  j j |  d  S(   Ni   R5   R@  s   \phantomsectionR=  s   }] \leavevmodes   \item[{(   R   R   R>  R   R   R+  R   (   Rq   R   t   ctxR?  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_term  s     
c         C   s,   |  j  j |  j j    |  j d 8_ d  S(   Ni   (   R   R+  R   R.  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_term  s    c         C   s   |  j  j d  d  S(   Ns   {[}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_classifier
  s    c         C   s   |  j  j d  d  S(   Ns   {]}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_classifier  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_definition  s    c         C   s   |  j  j d  d  S(   Ns   
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_definition  s    c         C   s,   |  j  j d  |  j r( t |  j _ n  d  S(   Ns!   \begin{quote}\begin{description}
(   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_field_list  s    	c         C   s   |  j  j d  d  S(   Ns   \end{description}\end{quote}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_field_list   s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_field$  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_field(  s    c         C   s   | j  j |  } | d k r t | j  t j  r t | j  | d t j  r t | j  | d t j  r |  j j d  n: | d k r t | j  t j t	 f  r n |  j j d  d  S(   Ni    i   s
   \noindent
s   
(
   R  R
  R_  R   t   compoundR&   R   R+  Rr  R1  (   Rq   R   R
  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_paragraph2  s    !'c         C   s   |  j  j d  d  S(   Ns   
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_paragraphA  s    c         C   s,   |  j  j d  |  j r( t |  j _ n  d  S(   Ns   
\begin{center}(   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_centeredE  s    	c         C   s   |  j  j d  d  S(   Ns   
\end{center}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_centeredK  s    c         C   s;   |  j  d 7_  |  j j d  |  j r7 t |  j _ n  d  S(   Ni   sB   \begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}
(   R   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_hlistO  s    	c         C   s#   |  j  d 8_  |  j j d  d  S(   Ni   s   \end{itemize}
(   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_hlistY  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_hlistcol^  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_hlistcolb  s    id   c         C   s@   y t  | |  SWn( t k
 r; t j t d  |  d  SXd  S(   Ns&   dimension unit %s is invalid. Ignored.(   R   R   R  R  R   R|   (   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   latex_image_lengthf  s
    c         C   s   t  | j t j  S(   s2   Check whether a node represents an inline element.(   R_  R  R   t   TextElement(   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt	   is_inlinen  s    c         C   sO  | j  } g  } g  } g  } t | j t j  } | rK |  j | j  } n |  j |  } d | k r d | k r |  j | d | d  } n |  j | d  } | r | j d |  q n  d | k r$d | k r |  j | d | d  }	 n |  j | d  }	 |	 r$| j d |	  q$n  d | k r[| s[| j d t | d  d  q[n  d | k ri d" d# 6d$ d% 6d& d' 6d( d) 6d* d+ 6d, d- 6}
 yB | j |
 | | d f d  | j |
 | | d f d
  Wqt	 k
 rqXn  |  j
 r| j d  | j d  n  | rA| rA| j d  | j d  n  | j   | d |  j j k rx|  j j | d } n |  j rd  S| d } | j d  d k rd  S|  j j |  d	 } | rd d j |  } n  t j |  \ } } |  j r| r|  j j d  | | | f  n |  j j d! | | | f  |  j j |  d  S(.   NR   R   s   width=%sR   s	   height=%ss   scale=%sg      Y@R   R5   i   t   tops   \raisebox{-0.5\height}{RI  t   middles   \raisebox{-\height}{t   bottoms   {\hspace*{\fill}s   \hspace*{\fill}}i    t   centerR  t   leftt   rights!   {\sphinxunactivateextrasandspace s
   
\noindents   
t   uris   ://is   [%s]R   s,   \lowercase{\sphinxincludegraphics%s}{{%s}%s}s    \sphinxincludegraphics%s{{%s}%s}(   R5   R5   (   i   R  (   s   \raisebox{-0.5\height}{RI  (   i   R  (   s   \raisebox{-\height}{RI  (   i   R  (   s   {\hspace*{\fill}s   \hspace*{\fill}}(   i    R  (   R  s   \hspace*{\fill}}(   i    R  (   s   {\hspace*{\fill}RI  (   i    R  (   t
   attributesR_  R  R   t	   referenceR  R  R+  R   t   KeyErrorR   t   reverseRp   t   imagest   ignore_missing_imagest   findR   R  R   R   t   splitextR   (   Rq   R   t   attrst   pret   postt   include_graphics_optionst   has_hyperlinkR  t   wt   ht   align_prepostR  R   t   baset   ext(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_images  s|    		
#	
	
c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_image  s    c         C   s  |  j  r d | k rH |  j | d  } | rX |  j j d |  qX n |  j j d  t d   | D  r |  j j d  n  |  j j d  n3| j d d  d k rGd  } d | k r |  j | d  } n* d | d k r |  j | d d  } n  |  j j d | d d
 k r d p#d | p,d f  |  j j d  n |  j rs|  j j d  |  j j d  nT |  j j d |  j	 d  t d   | D  r|  j j d  n  |  j j d  d  S(   NR   s-   \begin{sphinxfigure-in-table}[%s]
\centering
s)   \begin{sphinxfigure-in-table}
\centering
c         s   s!   |  ] } t  | t j  Vq d  S(   N(   R_  R   R   (   R   R  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pys	   <genexpr>  s    s	   \capstarts"   \end{sphinxfigure-in-table}\relax
R   R5   R  R  i    s%   \begin{wrapfigure}{%s}{%s}
\centeringt   rt   lt   0pts   \end{wrapfigure}
s   
\begin{center}s   \end{center}
s   
\begin{figure}[%s]
\centering
R[   c         s   s!   |  ] } t  | t j  Vq d  S(   N(   R_  R   R   (   R   R  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pys	   <genexpr>  s    s
   \capstart
s   \end{figure}
(   R  R  (
   R   R  R   R+  t   anyR   R   R|   R   R   (   Rq   R   t   length(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_figure  s6    	*	c         C   s   |  j  j |  j j    d  S(   N(   R   R+  R   R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_figure  s    c         C   s   |  j  d 7_  t | j t  r4 |  j j d  no |  j re t | j t j  re |  j j d  n> |  j	 r | j j
 d k r |  j j d  n |  j j d  d  S(   Ni   s   \sphinxSetupCaptionForVerbatim{s   \captionof{figure}{RO  s   \sphinxfigcaption{s	   \caption{(   R   R_  R  t   captioned_literal_blockR   R+  R   R   RO  R   t   tagname(   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_caption  s    c         C   s]   |  j  j d  t | j t j  rJ |  j | j  } |  j  j |  n  |  j d 8_ d  S(   NRI  i   (   R   R+  R_  R  R   RO  RB  R   (   Rq   R   RA  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_caption  s
    c         C   s   |  j  j d  d  S(   Ns   
\begin{sphinxlegend}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_legend  s    c         C   s   |  j  j d  d  S(   Ns   \end{sphinxlegend}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_legend  s    c         C   s   |  j  j d  d  S(   Ns   
\begin{sphinxadmonition}{note}(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_admonition
  s    c         C   s   |  j  j d  d  S(   Ns   \end{sphinxadmonition}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_admonition  s    c            s     f d   } | S(   Nc            s"   |  j  j d   t   f  d  S(   Nu"   
\begin{sphinxadmonition}{%s}{%s:}(   R   R+  R   (   Rq   R   (   RN  (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR@    s    (    (   RN  R@  (    (   RN  s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   _make_visit_admonition  s    c         C   s   |  j  j d  d  S(   Ns   \end{sphinxadmonition}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   _depart_named_admonition  s    t	   attentiont   cautiont   dangert   errort   hintt	   importantt   notet   tipR  c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_versionmodified1  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_versionmodified5  s    c            s     f d   }   } x( t  | t j  rB | j d t  } q W j j j d  } t  | t  rk d  S| j	 |  r | j
 |  r d  Sd   k r d  S  j d  r t    } t  | t j  r   d | d k r q |   d  n  x   d D] } | |  q Wd  S(   Nc            s   |  j  d  r d  S|  j  d  r& d  S  j j    } | d k rt t   j | d t j  rt  j j d  n   j }  j j  j	 |  d |  d  S(   Ns   index-s	   equation-i    i   s   
R=  (
   t
   startswithR  R
  R_  R   R&   R   R+  R   R>  (   R;  R
  R=  (   R   Rq   (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   add_target;  s    )
t   ascendt   stdt   refurit   refidR@  (   R_  R   t   targett	   next_nodeR   Rp   R]  t
   get_domaint   HYPERLINK_SUPPORT_NODESt   get_enumerable_node_typet   get_numfig_titleR   R   R   (   Rq   R   RO  RU  Rd  t	   prev_nodeR;  (    (   R   Rq   s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_target9  s$    &c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_targetg  s    c         C   s$   |  j  j d  |  j  j d  d  S(   Ns   
\begin{flushright}
s   ---(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_attributionk  s    c         C   s   |  j  j d  d  S(   Ns   
\end{flushright}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_attributionp  s    c            s    f d   } d   } | r7 t  j d t d d n  | j d t  s\   j j d  n  | d } xg| D]_\ } } } }	 }
 d	 } |	 r d
 } n  y| d k rsyq g  t d d |  D] } | |  ^ q \ } } | |  | |  } }   j j d | | | | | f  Wqt k
 ro| t d d |  d  } | |  }   j j d | | | f  qXn/| d k rg  t d d |  D] } | |  ^ q\ } } | |  | |  } }   j j d | | | | | | | | | | f
  n| d k rg  t d d |  D] } | |  ^ q\ } } } | |  | |  | |  } } }   j j d | | | | | | | | | | | | | | | | | | | | | f  n | d k r#g  t d d |  D] } | |  ^ q\ } } | |  }   j j d | | | f  n | d k rg  t d d |  D] } | |  ^ qB\ } } | |  }   j j d | | | f  n t	 j
 t d  |  Wqm t k
 r} t	 j
 t |   qm Xqm W| j d t  s  j j d  n  t j  d  S(   Nc            sm     j  |   }  |  j d d  }  |  j d d  }  |  j d d  }  |  j d d  }  |  j d	 d
  }  |  S(   Ns   \{s   \sphinxleftcurlybrace{}s   \}s   \sphinxrightcurlybrace{}t   "s   ""t   @s   "@t   !s   "!(   R  RH  (   t   value(   Rq   (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   escapev  s    c         S   s.   t  j |   } | r" | j d  Sd |  Sd  S(   Ns   \\spxentry{\1}\\spxextra{\2}s   \spxentry{%s}(   t   EXTRA_RER   t   expand(   t   stringR   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR    s    sT   LaTeXTranslator.visit_index() optional argument "scre" is deprecated. It is ignored.R   i   t   inlines   
RY  R5   s	   |spxpagemt   singles   \index{%s@%s!%s@%s%s}i   i    s   \index{%s@%s%s}t   pairs*   \index{%s@%s!%s@%s%s}\index{%s@%s!%s@%s%s}t   triplei   sS   \index{%s@%s!%s %s@%s %s%s}\index{%s@%s!%s, %s@%s, %s%s}\index{%s@%s!%s %s@%s %s%s}t   sees   \index{%s@%s|see{%s}}R  s!   unknown index entry type %s founds   \ignorespaces (   R   R   R	   R   R   R   R+  R   R   R  R  R   t   strR   R  (   Rq   R   t   screRc  R  RY  t   typeRf  t   tidt   ismaint   key_t   mt   xt   p1t   p2t   P1t   P2R   t   Pt   p3t   P3t   err(    (   Rq   s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_indext  sb    			
	1'$1)4&	 1 1 c         C   s   |  j  |  s" |  j j d  n  d | j d d  j   k rY |  j j | j    n  |  j  |  s{ |  j j d  n  t j  d  S(   Ns   
R   t   formatR5   (   R  R   R+  R   RP  Ru   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt	   visit_raw  s    c         C   sG  |  j  sN xB | j d  D]. } |  j } |  j |  j | d | 7_ q Wn  |  j |  sp |  j j d  n  | j d d  } | r | j d  r d |  j d d	 | d } n  |  j  s | r |  j j d  nh| j	 d	  rx|  j d d
 | d } |  j j |  j
 |   |  j j d  |  j j j re|  j re|  j j d |  j |   qC|  j j d  n| j	 d  r| j d	  } | d k r| d d } n | d j d	 d
  } |  j j |  j
 |   t |  r@t | d d  r@d | d j d g   k r@|  j j d  |  j j d  qC|  j j d  |  j j j r|  j r|  j j d |  j |   qC|  j j d  n t |  d k r| | d k r| j d  r|  j j d |  j |   n |  j j d |  j |   t j  n- |  j j d |  j |   |  j j d  d  S(   NR@  R=  s   
RR  R5   RS  R   it   #R9  i   s   \emph{s   }}} (%s)s   }}}s   ::doci    R  s   std-termR   s   \sphinxtermref{s   \sphinxcrossref{t	   nolinkurls   \sphinxnolinkurl{%s}s   \sphinxurl{%s}s   \sphinxhref{%s}{RI  (   R   R   R   R   R>  R  R+  R&  R   RN  RC  Rp   R   t   latex_show_pagerefsR   RD  R%  RH  R  R  t
   encode_uriR   R  (   Rq   R   R;  R=  R  t	   hashindex(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_reference  sR    	
% 
 
 " c         C   s?   |  j  j |  j j    |  j |  s; |  j  j d  n  d  S(   Ns   
(   R   R+  R   R.  R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_reference  s    c         C   sD  | j  d  r+ |  j d d | d } n" | j  d d  d j d d  } | j  d d	  } t |  j t  j d
 d	  } d | k s d | k r | j d d  j d d  } t |  j d d |  j |  d d |  j |   } n t |  d |  j |  } d |  j |  | f } |  j	 j
 |  t j  d  S(   NRS  iR9  RR  R5   i   R  RM   s   %ss   \%ss   \{name\}s
   \{number\}s   {name}s   {number}RN  s   \nameref{%s}Ry  s   \ref{%s}s   \hyperref[%s]{%s}(   R   R&  RH  R   Rx   R   R   R}  R:  R   R+  R   R  (   Rq   R   R;  RM   R   RH   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_number_reference  s    "!"c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_download_reference  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_download_reference  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_pending_xref!  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_pending_xref%  s    c         C   s   |  j  j d  d  S(   Ns   \sphinxstyleemphasis{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_emphasis)  s    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_emphasis-  s    c         C   s#   |  j  j d  |  j d 7_ d  S(   Ns+   \sphinxstyleliteralemphasis{\sphinxupquote{i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_literal_emphasis1  s    c         C   s#   |  j  j d  |  j d 8_ d  S(   Ns   }}i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_literal_emphasis6  s    c         C   s   |  j  j d  d  S(   Ns   \sphinxstylestrong{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_strong;  s    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_strong?  s    c         C   s#   |  j  j d  |  j d 7_ d  S(   Ns)   \sphinxstyleliteralstrong{\sphinxupquote{i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_literal_strongC  s    c         C   s#   |  j  j d  |  j d 8_ d  S(   Ns   }}i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_literal_strongH  s    c         C   s   | j    } |  j j d  | j d  rn | |  j k rn |  j j d |  j | d   |  j j |  n |  j j d  d  S(   Ns   \sphinxstyleabbreviation{t   explanations   } (%s)RI  (   Ru   R   R+  R  R(  R   R  t   add(   Rq   R   t   abbr(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_abbreviationM  s    !c         C   s   |  j  j |  j j    d  S(   N(   R   R+  R   R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_abbreviationX  s    c         C   s   |  j  |  S(   N(   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_manpage\  s    c         C   s   |  j  |  S(   N(   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_manpage`  s    c         C   s   |  j  j d  d  S(   Ns   \sphinxtitleref{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_title_referenced  s    c         C   s   |  j  j d  d  S(   NRI  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_title_referenceh  s    c         C   s\   t  d   | D d t } t |  t k r; | t  } n  |  j j d |  j |   d  S(   Nc         s   s   |  ] } | d  j    Vq d S(   i    N(   Ru   (   R   t   subnode(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pys	   <genexpr>n  s    t   keyu#   
\begin{sphinxthebibliography}{%s}
(   R  R  t   MAX_CITATION_LABEL_LENGTHR   R+  R  (   Rq   R   t   longest_label(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_thebibliographyl  s
    c         C   s   |  j  j d  d  S(   Nu   \end{sphinxthebibliography}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_thebibliographyv  s    c         C   sF   | d j    } |  j j d |  j |  | d | d d f  d  S(   Ni    u   \bibitem[%s]{%s:%s}Rm  R@  (   Ru   R   R+  R  (   Rq   R   t   label(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_citationz  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_citation  s    c         C   s;   |  j  r n+ |  j j d | d | d f  t j  d  S(   Ns   \sphinxcite{%s:%s}Rm  t   refname(   R   R   R+  R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_citation_reference  s    	"c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_citation_reference  s    c         C   s?   |  j  d 7_  |  j r+ |  j j d  n |  j j d  d  S(   Ni   s*   \sphinxstyleliteralintitle{\sphinxupquote{s   \sphinxcode{\sphinxupquote{(   R   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_literal  s    	c         C   s#   |  j  d 8_  |  j j d  d  S(   Ni   s   }}(   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_literal  s    c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_footnote_reference  s    c         C   s   |  j  j d  d  S(   Ns   \sphinxfootnotemark[(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_footnotemark  s    c         C   s   |  j  j d  d  S(   Nt   ](   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_footnotemark  s    c         C   s(   | d j    } |  j j d |  d  S(   Ni    s2   %%
\begin{footnotetext}[%s]\sphinxAtStartFootnote
(   Ru   R   R+  (   Rq   R   Ry  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_footnotetext  s    c         C   s   |  j  j d  d  S(   Ns"   %
\end{footnotetext}\ignorespaces (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_footnotetext  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_captioned_literal_block  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_captioned_literal_block  s    c   	   
   C   s  | j  | j   k r7 |  j d 7_ |  j j d  nS|  j |  } t | j t  rq | |  j | j  7} n  | r |  j	 r |  j j d | d  n  | j
 d d  } | j
 d t  } | j
 d i   } | j
 d	 t  | d
 <| |  j j j k r|  j j j } n i  } |  j j | j  | d | d | d |  j d | j f | } | j d d  } |  j	 r|  j j d  | j d d  } nH |  j rt |  j _ t |  j _ | j d d  } n | j d d  } | j   d  } |  j r
|  j	 r
| d 7} n
 | d 7} t | j
 d g    d d !} | rP|  j j d |  n  |  j j d | d  | r|  j j d  n  t j  d  S(   Ni   s   \begin{sphinxalltt}
s   
\def\sphinxLiteralBlockLabel{RI  R   Rk   t   linenost   highlight_argst   force_highlightingt   forcet   optsR  iu   €u   @texteuro[]s    
\sphinxSetupCodeBlockInFootnotes   \begin{Verbatim}s   \begin{sphinxVerbatim}s   \begin{sphinxVerbatimintable}is   \end{sphinxVerbatimintable}s   \end{sphinxVerbatim}t   hl_liness   
\fvset{hllines={, %s,}}%%s   
s   \sphinxresetverbatimhllines
(   t	   rawsourceRu   R   R   R+  RB  R_  R  R:  R   R   R   Rp   R   t   highlight_languaget   highlight_optionsR  t   highlight_blockR&  R  RH  R   R   R   R   t   rstripRl  R   R  (	   Rq   R   RA  t   langR  R  R  t   hlcodet   hllines(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_literal_block  sR    							
c         C   s#   |  j  j d  |  j d 8_ d  S(   Ns   
\end{sphinxalltt}
i   (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_literal_block  s    c         C   s   |  j  j d  d  S(   Ns   \item[] (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_line  s    c         C   s   |  j  j d  d  S(   Ns   
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_line	  s    c         C   sT   t  | j t j  r( |  j j d  n |  j j d  |  j rP t |  j _ n  d  S(   Ns0   \item[]
\begin{DUlineblock}{\DUlineblockindent}
s   
\begin{DUlineblock}{0em}
(	   R_  R  R   t
   line_blockR   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_line_block	  s
    	c         C   s   |  j  j d  d  S(   Ns   \end{DUlineblock}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_line_block	  s    c         C   s   d } t  | j  d k rX | j d } t | t j  sL t | t j  rX d } qX n  | s |  j j d  |  j r t	 |  j _
 q n  d  S(   Ni    i   s   \begin{quote}
(   R  Rs  R_  R   t   bullet_listR  R   R+  R   R   R   (   Rq   R   t   doneR  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_block_quote	  s    	c         C   su   d } t  | j  d k rX | j d } t | t j  sL t | t j  rX d } qX n  | sq |  j j d  n  d  S(   Ni    i   s   \end{quote}
(   R  Rs  R_  R   R  R  R   R+  (   Rq   R   R  R  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_block_quote#	  s    c         C   s$   |  j  d r  |  j j d  n  d  S(   Nis   , (   R   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_option0	  s    c         C   s   |  j  d c d 7<d  S(   Nii   (   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_option6	  s    c         C   s    |  j  j | j d d   d S(   s2   The delimiter betweeen an option and its argument.t	   delimitert    N(   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_option_argument;	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_option_argument@	  s    c         C   s$   |  j  j d  |  j j d  d  S(   Ns   \item [i    (   R   R+  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_option_groupD	  s    c         C   s!   |  j  j   |  j j d  d  S(   Ns   ] (   R   R.  R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_option_groupJ	  s    c         C   s,   |  j  j d  |  j r( t |  j _ n  d  S(   Ns   \begin{optionlist}{3cm}
(   R   R+  R   R   R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_option_listO	  s    	c         C   s   |  j  j d  d  S(   Ns   \end{optionlist}
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_option_listU	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_option_list_itemY	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_option_list_item]	  s    c         C   sP   | j    } |  j d 7_ |  j j |  j |   |  j d 8_ t j  d  S(   Ni   (   Ru   R   R   R+  R  R   R  (   Rq   R   t   ostring(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_option_stringa	  s
    c         C   s   |  j  j d  d  S(   NR  (   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_descriptioni	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_descriptionm	  s    c         C   s   |  j  j d  d  S(   Ns	   $^{\text{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_superscriptq	  s    c         C   s   |  j  j d  d  S(   Ns   }}$(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_superscriptu	  s    c         C   s   |  j  j d  d  S(   Ns	   $_{\text{(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_subscripty	  s    c         C   s   |  j  j d  d  S(   Ns   }}$(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_subscript}	  s    c         C   s  | j  d g   } | d g g k rG |  j j d  |  j j d  n | d g g k r| |  j j d  |  j j d  n | d g g k r |  j j d  |  j j d  nP | r |  j r |  j j d	 d
 j |   |  j j d  n |  j j d  d  S(   NR   t   menuselections   \sphinxmenuselection{RI  t   guilabels   \sphinxguilabel{t   accelerators   \sphinxaccelerator{s   \DUrole{%s}{R   R5   (   R   R   R+  R   R   R   (   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_inline	  s    c         C   s   |  j  j |  j j    d  S(   N(   R   R+  R   R.  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_inline	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_generated	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_generated	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_compound	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_compound	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_container	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_container	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_decoration	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_decoration	  s    c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_header	  s    c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_footer	  s    c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_docinfo	  s    c         C   ss   t  |  j t  } |  j r? | j d d  j d d  } n  |  j ro | j d d  } | j d d  } n  | S(	   Nu   
u   ~\\
u    u   ~s   --u   -{-}s   ''u   '{'}(   R   Rx   R   R   RH  R   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR  	  s    	!	c         C   s   |  j  |  j d d  S(   Ns   \textasciitilde{}R  (   R  RH  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR  	  s    c         C   s)   |  j  | j    } |  j j |  d  S(   N(   R  Ru   R   R+  (   Rq   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_Text	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_Text	  s    c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_comment	  s    c         C   s   t  j  d  S(   N(   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_meta	  s    c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_system_message	  s    c         C   s   |  j  j d  d  S(   Ns   
(   R   R+  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_system_message	  s    c         C   sM   |  j  r& |  j j d | j    n |  j j d | j    t j  d  S(   Ns   \protect\(%s\protect\)s   \(%s\)(   R   R   R+  Ru   R   R  (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt
   visit_math	  s    	c         C   s   | j  d  r* d | d | d f } n d  } | j  d  ru | r\ |  j j d |  n  |  j j | j    n; d d l m } |  j j | | j   | |  j j j	   t
 j  d  S(   NR  s   equation:%s:%sRm  t   nowraps
   \label{%s}i(   t   wrap_displaymath(   R   R|   R   R+  Ru   t   sphinx.util.mathR  Rp   R   t   math_number_allR   R  (   Rq   R   R  R  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_math_block	  s    c         C   s   d | d | d f } |  j  j j } | r y* d | } |  j j | j d |   Wq t k
 r } t j t	 d  | d | |  j j d |  q Xn |  j j d |  d  S(	   Ns   equation:%s:%sRm  RT  s   \ref{%s}Ry  s   Invalid math_eqref_format: %rR  s
   \eqref{%s}(
   Rp   R   t   math_eqref_formatR   R+  R}  R!  R  R  R   (   Rq   R   R  t   eqref_formatt   reft   exc(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   visit_math_reference
  s    
 c         C   s   d  S(   N(    (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   depart_math_reference
  s    c         C   s   t  d | j j   d  S(   Ns   Unknown node: (   t   NotImplementedErrort	   __class__Rd   (   Rq   R   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   unknown_visit
  s    c         C   s   t  j d t d d g  S(   Ns(   LaTeXWriter.footnotestack is deprecated.R   i   (   R   R   R	   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   footnotestack$
  s    	c         C   s   t  j d t d d g  S(   Ns)   LaTeXTranslator.bibitems() is deprecated.R   i   (   R   R   R	   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   bibitems+
  s    	c         C   s   t  j d t d d d S(   Ns9   LaTeXTranslator.in_container_literal_block is deprecated.R   i   i    (   R   R   R	   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   in_container_literal_block2
  s    	c         C   s   t  j d t d d t   S(   Ns/   LaTeXTranslator.next_section_ids is deprecated.R   i   (   R   R   R	   R'  (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   next_section_ids9
  s    	c         C   s   t  j d t d d i  S(   Ns1   LaTeXTranslator.next_hyperlink_ids is deprecated.R   i   (   R   R   R	   (   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   next_hyperlink_ids@
  s    	c         C   s   t  j d t d d d  S(   Ns3   LaTeXTranslator.push_hyperlink_ids() is deprecated.R   i   (   R   R   R	   (   Rq   t   figtypeR@  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   push_hyperlink_idsG
  s    	c         C   s   t  j d t d d t   S(   Ns2   LaTeXTranslator.pop_hyperlink_ids() is deprecated.R   i   (   R   R   R	   R'  (   Rq   R	  (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   pop_hyperlink_idsM
  s    	c         C   s/   t  j d t d d |  j j j t j g g S(   Ns-   LaTeXTranslator.hlsettingstack is deprecated.R   i   (   R   R   R	   Rp   R   R  t   syst   maxsize(   Rq   (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   hlsettingstackS
  s    	c         C   sc   t  j d t d d xF |  j j j D]5 } | |  j k r& t d  } t j	 | |  q& q& Wd  S(   Ns%   check_latex_elements() is deprecated.R   i   s5   Unknown configure key: latex_elements[%r] is ignored.(
   R   R   R	   Rp   R   R   R   R   R  R  (   Rq   R  t   msg(    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   check_latex_elementsZ
  s    	(   R   Rl   N(  Rd   Re   R]   R   R$  R5  Ro   R-  R/  R0  R3  R   Ru   R   R>  RB  RC  RD  R:  R  R  R  R7  R8  Ro  Rp  Rq  R~  R  R  R  R  R  R  R  t   visit_sidebart   depart_sidebarR  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R  R  R  R  R  R  R  R	  R
  R  t   visit_field_namet   depart_field_namet   visit_field_bodyt   depart_field_bodyR  R  R  R  R  R  R  R  R  R  R1  R2  R8  R9  R<  R=  R>  R?  R@  RA  RB  RC  t   visit_attentiont   depart_attentiont   visit_cautiont   depart_cautiont   visit_dangert   depart_dangert   visit_errort   depart_errort
   visit_hintt   depart_hintt   visit_importantt   depart_importantt
   visit_notet   depart_notet	   visit_tipt
   depart_tipt   visit_warningt   depart_warningRL  RM  R[  R\  R]  R^  R|   R|  R~  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  t   visit_doctest_blockt   depart_doctest_blockR  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R  R   R  R  R  R  R  R
  R  R  R  (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyR     s  														&	+	
																					2																																																						&	"	
			%																						
					R		!												.			F	
	9																					
															:				
																																																(   t   URI_SCHEMESt   ShowUrlsTransform(   RW  R:  R1  (X   Rf   R   R  R   t   collectionsR    t   osR   t   docutilsR   R   t   docutils.writers.latex2eR   t   sixR   R   R4  R   R   t   sphinx.deprecationR	   t   sphinx.errorsR
   t   sphinx.localeR   R   R   t   sphinx.utilR   R   t   sphinx.util.i18nR   t   sphinx.util.nodesR   R   t   sphinx.util.templateR   t   sphinx.util.texescapeR   R   t   docutils.utils.romanR   t   ImportErrort   romanR   t   typingR   R   R   R   R   R   R   R   R   t   sphinx.builderR    t	   getLoggerRd   R  R   R  R  R  R   R   t   compileRd  Rr  Rc   Rg   Rn   Ri   R}   t   objectR   R   R   R   R   R   t    sphinx.builders.latex.transformsR+  R,  t   sphinx.builders.latex.nodesRW  R:  R1  (    (    (    s3   lib/python2.7/site-packages/sphinx/writers/latex.pyt   <module>   s  @	
4y&	        