
V]c           @   s  d  Z  d Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z y d d l Z Wn# e	 k
 r d d l
 j j Z n Xd d l m Z m Z m Z m Z m Z m Z d d l m Z d d l m Z d d l m Z m Z d e j f d	     YZ d
 e f d     YZ d e f d     YZ d e f d     YZ d e _ d e _  d e _! d e _" d e _# d e _$ d e _% d e _& d e _' d e _( d e _) d e _* d e _+ d e _, d e _- d e _. d  e _/ d! e _0 d" e _1 d# e _2 d$ e _3 d% e _4 d& e _5 d' e _6 d( e _7 d) e _8 d* e _9 d+ e _: d, e _; d- e f d.     YZ< d/ e f d0     YZ= d1 e f d2     YZ> d3 e j? f d4     YZ@ d S(5   s   LaTeX2e document tree Writer.t   reStructuredTextiN(   t   frontendt   nodest	   languagest   writerst   utilst   io(   t
   SafeString(   t
   writer_aux(   t   pick_math_environmentt   unichar2text   Writerc        )   B   s`  e  Z d Z d Z e j j e j j e   Z	 d j
 d d d d g  Z d Z d d d d g i d d 6f d d g i d d 6f d d g i e d 6d d 6e j d 6f d d g i d d g d 6d d 6d  d! 6d" d# 6f d$ d% g i d& d 6d d 6e j d 6f d' d( g i d) d* 6d+ d 6e j d 6f d, d- g i d. d/ d0 d1 g d 6d. d 6d  d! 6f d2 d3 g i d4 d 6d5 d! 6d6 d# 6e j d 6f d7 d8 g i d5 d! 6d9 d# 6e j d 6f d: d; g i d< d* 6d+ d 6f d= d> g i d& d 6d d 6e j d 6f d? d@ g i dA d! 6e j d 6dB g d 6f dC dD g i e d 6f dE e dF g i e d 6dG d! 6f dH dI g i dJ d 6d d 6e j d 6f dK dL g i dM d* 6d+ d 6e j d 6f dN dO g i d& d 6d d 6e j d 6f dP dQ g i dR d* 6d+ d 6e j d 6f dS dT g i d& d 6d d 6e j d 6f dU dV g i dW d* 6d+ d 6e j d 6f dX dY g i d& d 6d d 6e j d 6f dZ d[ g i d\ d 6f d] d^ g i d4 d 6f d_ d` g i d d 6d d 6e j d 6f da db g i d+ d 6dc d* 6f dd de g i d d 6d d 6e j d 6f df dg g i d+ d 6dh d* 6f di dj g i dk d 6dl d! 6f dm dn g i d4 d 6f do dp g i d& d 6d d 6e j d 6f dq dr g i d g d 6d  d! 6ds d 6e j d 6e d 6f dt du g i d4 d 6f dv dw g i dx d 6f dy dz g i d d 6f d{ d| g i d d 6f f# f Z i d& d} 6Z d~ Z d Z d Z e d Z d Z d   Z d   Z d   Z d   Z RS(   t   latext   latex2es   default.texs   
s   % PDF Standard Fontss   \usepackage{mathptmx} % Timess   \usepackage[scaled=.90]{helvet}s   \usepackage{courier}t   standardt   booktabst   nolinest
   borderlesss   colwidths-autos   colwidths-givens   LaTeX-Specific Optionss-   Specify documentclass.  Default is "article".s   --documentclasst   articlet   defaultse   Specify document options.  Multiple options can be given, separated by commas.  Default is "a4paper".s   --documentoptionst   a4papers5   Footnotes with numbers/symbols by Docutils. (default)s   --docutils-footnotest
   store_truet   actiont	   validators^   Format for footnote references: one of "superscript" or "brackets".  Default is "superscript".s   --footnote-referencest   superscriptt   bracketst   choicess   <format>t   metavart   trim_footnote_reference_spacet	   overridess!   Use \cite command for citations. s   --use-latex-citationsi    sN   Use figure floats for citations (might get mixed with real figures). (default)s   --figure-citationst   use_latex_citationst   destt   store_falses{   Format for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none".  Default is "dash".s   --attributiont   dasht   parenthesest   parenst   nones   Specify LaTeX packages/stylesheets.  A style is referenced with \usepackage if extension is ".sty" or omitted and with \input else.  Overrides previous --stylesheet and --stylesheet-path settings.s   --stylesheett    s   <file[,file,...]>t   stylesheet_paths   Comma separated list of LaTeX packages/stylesheets. Relative paths are expanded if a matching file is found in the --stylesheet-dirs. With --link-stylesheet, the path is rewritten relative to the output *.tex file. s   --stylesheet-patht
   stylesheets7   Link to the stylesheet(s) in the output file. (default)s   --link-stylesheett   embed_stylesheets^   Embed the stylesheet(s) in the output file. Stylesheets must be accessible during processing. s   --embed-stylesheets   Comma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. Default: "."s   --stylesheet-dirss   <dir[,dir,...]>t   .sl   Customization by LaTeX code in the preamble. Default: select PDF standard fonts (Times, Helvetica, Courier).s   --latex-preambles)   Specify the template file. Default: "%s".s
   --templates   <file>s&   Table of contents by LaTeX. (default) s   --use-latex-toci   s6   Table of contents by Docutils (without page numbers). s   --use-docutils-toct   use_latex_tocs*   Add parts on top of the section hierarchy.s   --use-part-sections=   Attach author and date to the document info table. (default) s   --use-docutils-docinfot   use_latex_docinfos-   Attach author and date to the document title.s   --use-latex-docinfos$   Typeset abstract as topic. (default)s   --topic-abstractt   use_latex_abstracts<   Use LaTeX abstract environment for the document's abstract. s   --use-latex-abstractsO   Color of any hyperlinks embedded in text (default: "blue", "false" to disable).s   --hyperlink-colort   blues;   Additional options to the "hyperref" package (default: "").s   --hyperref-optionss^   Enable compound enumerators for nested enumerated lists (e.g. "1.2.a.ii").  Default: disabled.s   --compound-enumeratorssN   Disable compound enumerators for nested enumerated lists. This is the default.s   --no-compound-enumeratorst   compound_enumeratorss   Enable section ("." subsection ...) prefixes for compound enumerators.  This has no effect without --compound-enumerators.Default: disabled.s    --section-prefix-for-enumeratorssH   Disable section prefixes for compound enumerators.  This is the default.s#   --no-section-prefix-for-enumeratorst   section_prefix_for_enumeratorssg   Set the separator between section number and enumerator for compound enumerated lists.  Default is "-".s   --section-enumerator-separatort   -s   <char>st   When possible, use the specified environment for literal-blocks. Default is quoting of whitespace and special chars.s   --literal-block-envsg   When possible, use verbatim for literal-blocks. Compatibility alias for "--literal-block-env=verbatim".s   --use-verbatim-when-possibles   Table style. "standard" with horizontal and vertical lines, "booktabs" (LaTeX booktabs style) only horizontal lines above and below the table and below the header or "borderless".  Default: "standard"s   --table-stylet   appends   LaTeX graphicx package option. Possible values are "dvips", "pdftex". "auto" includes LaTeX code to use "pdftex" if processing with pdf(la)tex and dvips otherwise. Default is no option.s   --graphicx-options   LaTeX font encoding. Possible values are "", "T1" (default), "OT1", "LGR,T1" or any other combination of options to the `fontenc` package. s   --font-encodingt   T1s   Per default the latex-writer puts the reference title into hyperreferences. Specify "ref*" or "pageref*" to get the section number or the page number.s   --reference-labelsV   Specify style and database for bibtex, for example "--use-bibtex=mystyle,mydb1,mydb2".s   --use-bibtext   sectnum_depths   latex2e writerR   t   head_prefixt   requirementst   latex_preamblet	   fallbackst   pdfsetupt	   titledatat   titlet   subtitlet   body_pre_docinfot   docinfot
   dedicationt   abstractt   bodyc         C   s   t  j j |   t |  _ d  S(   N(   R   R   t   __init__t   LaTeXTranslatort   translator_class(   t   self(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRA      s    c         C   s   t  j j |   t j g S(   N(   R   R   t   get_transformsR   t   Admonitions(   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRE      s    c         C   s   |  j  |  j  } |  j j |  x* |  j D] } t |  | t | |   q, Wy t |  j j j d  } Wn; t	 k
 r t t
 j j |  j |  j j j  d  } n Xt j t | j   d   } | j   |  j   | j |  j  |  _ d  S(   Nt   rbs   utf-8(   RC   t   documentt	   walkaboutt   visitor_attributest   setattrt   getattrt   opent   settingst   templatet   IOErrort   ost   patht   joint   default_template_patht   stringt   Templatet   unicodet   readt   closet   assemble_partst
   substitutet   partst   output(   RD   t   visitort   partt   template_fileRO   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt	   translate   s    

c         C   s   t  j j |   xt |  j D]i } t |  |  } | |  j k rm | rT | j d  n  d j |  |  j | <q d j |  |  j | <q Wd S(   s9   Assemble the `self.parts` dictionary of output fragments.R%   s   
N(	   R   R   RZ   RJ   RL   t
   head_partsR1   RS   R\   (   RD   R_   t   lines(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRZ     s    (   R   R   (   R   R   R   R   s   colwidths-autos   colwidths-givenN(   R   (   R4   R5   R6   R'   R7   R8   R9   (   R:   R;   R<   R=   R>   R?   R@   (   t   __name__t
   __module__t	   supportedt   default_templateRQ   RR   t   dirnamet   abspatht   __file__RT   RS   t   default_preamblet   table_style_valuest   Nonet   TrueR   t   validate_booleant   validate_comma_separated_listt   settings_spect   settings_defaultst   config_sectiont   config_section_dependenciesRb   RJ   R]   RA   RE   Ra   RZ   (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR      s2  	 




  			t   Babelc           B   sa  e  Z d  Z iC d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d= d> 6d? d@ 6dA dB 6dC dD 6dE dF 6dG dH 6dI dJ 6dK dL 6dM dN 6dO dP 6dQ dR 6dS dT 6dU dV 6dW dX 6dY dZ 6d[ d\ 6d] d^ 6d_ d` 6da db 6d] dc 6dd de 6df dg 6dh di 6dj dk 6dl dm 6dn do 6dp dq 6dr ds 6dt du 6dv dw 6dx dy 6dp dz 6dr d{ 6d| d} 6d~ d 6d d 6d d 6Z e g  e j   D] \ Z Z e j   e f ^ q Z d Z	 i d d= 6d d- 6Z
 d d  Z d   Z d   Z d   Z RS(   s   Language specifics for LaTeX.t	   afrikaanst   aft   arabict   art	   bulgariant   bgt   bretont   brt   catalant   cat   czecht   cst   welsht   cyt   danisht   dat   ngermant   det   germans   de-1901t	   naustrians   de-ATt   austrians
   de-AT-1901t   lowersorbiant   dsbt   greekt   elt   polutonikogreeks
   el-polytont   englisht   ent
   australians   en-AUt   canadians   en-CAt   britishs   en-GBt
   newzealands   en-NZt   americans   en-USt	   esperantot   eot   spanisht   est   estoniant   ett   basquet   eut   finnisht   fit   frencht   frt   canadiens   fr-CAt   irisht   gat   ibycuss
   grc-ibycust   galiciant   glt   hebrewt   het   croatiant   hrt   uppersorbiant   hsbt   magyart   hut   interlinguat   iat   bahasait   idt	   icelandict   ist   italiant   itt   japaneset   jat   kazakht   kkt   latint   lat
   lithuaniant   ltt   latviant   lvt	   mongoliant   mnt   bahasamt   mst   norskt   nbt   dutcht   nlt   nynorskt   nnt   not   polisht   plt   portugest   ptt   brazils   pt-BRt   romaniant   rot   russiant   rut   samint   set   serbiancs   sh-Cyrlt   serbians   sh-Latnt   slovakt   skt   slovenet   slt   albaniant   sqt   srs   sr-Latnt   swedisht   svt   turkisht   trt	   ukrainiant   ukt   vietnamt   vis,   Language "%s" not supported by LaTeX (babel)s   .<>c         C   s(   | |  _  |  j |  |  _ i  |  _ d  S(   N(   t   reportert   language_namet   languaget   otherlanguages(   RD   t   language_codeR   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRA     s    	c         C   s  t  |  j j    } | j |  j p' d  d d j |  g |  _ g  } xU d j g  | D] } |  j j | d  ^ qZ  D]" } | | k r| | j |  q| q| W| r |  j j d d j |   n  d | k r |  j j d  n  d | k r|  j j	 d	 d
 d g  n  d | k r7|  j j	 d	 d d g  n  | d d k r~d |  j j   k r~|  j d d d |  j g 7_ n  d j |  j  S(   s7   Return the babel call with correct options and settingsR   s   \usepackage[%s]{babel}t   ,R%   s#   \AtBeginDocument{\shorthandoff{%s}}R   s)   \deactivatetilden % restore ~ in GalicianR   s   \makeatletters+     \addto\extrasestonian{\bbl@deactivate{~}}s   \makeatotherR   s)     \addto\extrasbasque{\bbl@deactivate{~}}iR   sE   % Prevent side-effects if French hyphenation patterns are not loaded:s   \frenchbsetup{StandardLayout}s4   \AtBeginDocument{\selectlanguage{%s}\noextrasfrench}s   
(
   t   sortedR   t   keysR1   R   RS   t   setupt   active_charst   gett   extend(   RD   R   t
   shorthandst   lt   c(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   __call__  s6    8
c         C   sj   x: t  j |  D]) } y |  j | SWq t k
 r8 q Xq W|  j d k	 rf |  j j |  j |  n  d S(   s,   Return TeX language name for `language_code`R%   N(   R   t   normalize_language_tagt   language_codest   KeyErrorR   Rm   t   warningt   warn_msg(   RD   R   t   tag(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR     s    c         C   s   |  j  S(   N(   R   (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_language  s    N(   Rd   Re   t   __doc__R   t   dictt   itemst   kt   vt   lowerR   R   Rm   RA   R   R   R   (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRu     s   
7
	!	t   SortableDictc           B   s    e  Z d  Z d   Z d   Z RS(   s   Dictionary with additional sorting methods

    Tip: use key starting with with '_' for sorting before small letters
         and with '~' for sorting after small letters.
    c         C   s   |  j    } | j   | S(   s   Return sorted list of keys(   R   t   sort(   RD   R   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   sortedkeys  s    
c         C   s!   g  |  j    D] } |  | ^ q S(   s$   Return list of values sorted by keys(   R	  (   RD   t   key(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   sortedvalues  s    (   Rd   Re   R  R	  R  (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR    s   	t   PreambleCmdsc           B   s   e  Z d  Z RS(   s'   Building blocks for the latex preamble.(   Rd   Re   R  (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR    s   sQ   
% abstract title
\providecommand*{\DUtitleabstract}[1]{\centerline{\textbf{#1}}}s  
% admonition (specially marked topic)
\providecommand{\DUadmonition}[2][class-arg]{%
  % try \DUadmonition#1{#2}:
  \ifcsname DUadmonition#1\endcsname%
    \csname DUadmonition#1\endcsname{#2}%
  \else
    \begin{center}
      \fbox{\parbox{0.9\linewidth}{#2}}
    \end{center}
  \fi
}s   \usepackage{color}sT   
% docinfo (width of docinfo table)
\DUprovidelength{\DUdocinfowidth}{0.9\linewidth}sv   
% dedication topic
\providecommand*{\DUCLASSdedication}{%
  \renewenvironment{quote}{\begin{center}}{\end{center}}%
}s  
% class handling for environments (block-level elements)
% \begin{DUclass}{spam} tries \DUCLASSspam and
% \end{DUclass}{spam} tries \endDUCLASSspam
\ifx\DUclass\undefined % poor man's "provideenvironment"
 \newenvironment{DUclass}[1]%
  {\def\DocutilsClassFunctionName{DUCLASS#1}% arg cannot be used in end-part of environment.
     \csname \DocutilsClassFunctionName \endcsname}%
  {\csname end\DocutilsClassFunctionName \endcsname}%
\fisU   
% error admonition title
\providecommand*{\DUtitleerror}[1]{\DUtitle{\color{red}#1}}s   
% fieldlist environment
\ifthenelse{\isundefined{\DUfieldlist}}{
  \newenvironment{DUfieldlist}%
    {\quote\description}
    {\enddescription\endquote}
}{}sc   \usepackage{float} % float configuration
\floatplacement{figure}{H} % place figures here definitelysv  % numeric or symbol footnotes with hyperlinks
\providecommand*{\DUfootnotemark}[3]{%
  \raisebox{1em}{\hypertarget{#1}{}}%
  \hyperlink{#2}{\textsuperscript{#3}}%
}
\providecommand{\DUfootnotetext}[4]{%
  \begingroup%
  \renewcommand{\thefootnote}{%
    \protect\raisebox{1em}{\protect\hypertarget{#1}{}}%
    \protect\hyperlink{#2}{#3}}%
  \footnotetext{#4}%
  \endgroup%
}st   % Check output format
\ifx\pdftexversion\undefined
  \usepackage{graphicx}
\else
  \usepackage[pdftex]{graphicx}
\fis  % basic code highlight:
\providecommand*\DUrolecomment[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
\providecommand*\DUroledeleted[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}}
\providecommand*\DUrolekeyword[1]{\textbf{#1}}
\providecommand*\DUrolestring[1]{\textit{#1}}sb  
% inline markup (custom roles)
% \DUrole{#1}{#2} tries \DUrole#1{#2}
\providecommand*{\DUrole}[2]{%
  \ifcsname DUrole#1\endcsname%
    \csname DUrole#1\endcsname{#2}%
  \else
    % backwards compatibility: try \docutilsrole#1{#2}
    \ifcsname docutilsrole#1\endcsname%
      \csname docutilsrole#1\endcsname{#2}%
    \else%
      #2%
    \fi%
  \fi%
}se   
% legend environment
\ifthenelse{\isundefined{\DUlegend}}{
  \newenvironment{DUlegend}{\small}{}
}{}s  
% lineblock environment
\DUprovidelength{\DUlineblockindent}{2.5em}
\ifthenelse{\isundefined{\DUlineblock}}{
  \newenvironment{DUlineblock}[1]{%
    \list{}{\setlength{\partopsep}{\parskip}
            \addtolength{\partopsep}{\baselineskip}
            \setlength{\topsep}{0pt}
            \setlength{\itemsep}{0.15\baselineskip}
            \setlength{\parsep}{0pt}
            \setlength{\leftmargin}{#1}}
    \raggedright
  }
  {\endlist}
}{}s   %% hyperlinks:
\ifthenelse{\isundefined{\hypersetup}}{
  \usepackage[%s]{hyperref}
  \usepackage{bookmark}
  \urlstyle{same} %% normal text font (alternatives: tt, rm, sf)
}{}s/   %% local table of contents
\usepackage{minitoc}s  
% optionlist environment
\providecommand*{\DUoptionlistlabel}[1]{\bf #1 \hfill}
\DUprovidelength{\DUoptionlistindent}{3cm}
\ifthenelse{\isundefined{\DUoptionlist}}{
  \newenvironment{DUoptionlist}{%
    \list{}{\setlength{\labelwidth}{\DUoptionlistindent}
            \setlength{\rightmargin}{1cm}
            \setlength{\leftmargin}{\rightmargin}
            \addtolength{\leftmargin}{\labelwidth}
            \addtolength{\leftmargin}{\labelsep}
            \renewcommand{\makelabel}{\DUoptionlistlabel}}
  }
  {\endlist}
}{}s   
% providelength (provide a length variable and set default, if it is new)
\providecommand*{\DUprovidelength}[2]{
  \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{}
}sp   
% rubric (informal heading)
\providecommand*{\DUrubric}[1]{%
  \subsubsection*{\centering\textit{\textmd{#1}}}}s   
% sidebar (text outside the main text flow)
\providecommand{\DUsidebar}[1]{%
  \begin{center}
    \colorbox[gray]{0.80}{\parbox{0.9\linewidth}{#1}}
  \end{center}
}sY   
% subtitle (for topic/sidebar)
\providecommand*{\DUsubtitle}[1]{\par\emph{#1}\smallskip}sU   
% subtitle (in document title)
\providecommand*{\DUdocumentsubtitle}[1]{{\large #1}}sz   \usepackage{longtable,ltcaption,array}
\setlength{\extrarowheight}{2pt}
\newlength{\DUtablewidth} % internal use in tabless*   \usepackage{textcomp} % text symbol macrossn   
% text mode subscript
\ifx\textsubscript\undefined
  \usepackage{fixltx2e} % since 2015 loaded by default
\fisN   
% titlereference role
\providecommand*{\DUroletitlereference}[1]{\textsl{#1}}s  
% title for topics, admonitions, unsupported section levels, and sidebar
\providecommand*{\DUtitle}[2][class-arg]{%
  % call \DUtitle#1{#2} if it exists:
  \ifcsname DUtitle#1\endcsname%
    \csname DUtitle#1\endcsname{#2}%
  \else
    \smallskip\noindent\textbf{#2}\smallskip%
  \fi
}s   
% transition (break, fancybreak, anonymous section)
\providecommand*{\DUtransition}{%
  \hspace*{\fill}\hrulefill\hspace*{\fill}
  \vskip 0.5\baselineskip
}t   CharMapsc           B   s  e  Z d  Z i d e d  6d e d  6d e d  6Z i d e d  6d	 e d
  6d e d  6d e d  6d e d  6d e d  6d e d  6d e d  6d e d  6d e d  6d d 6Z i d d 6d d  6d d! 6d d" 6d# d$ 6d% d& 6d# d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6d0 d1 6d2 d3 6d4 d5 6d6 d7 6d8 d9 6d: d; 6Z i d< d= 6d> d? 6d@ dA 6dB dC 6dD dE 6dF dG 6dH dI 6dJ dK 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6dV dW 6dX dY 6dZ d[ 6d\ d] 6d^ d_ 6d` da 6db dc 6dd de 6Z iI df dg 6dh di 6dj dk 6dl dm 6dn do 6dp dq 6dr ds 6dt du 6dv dw 6dx dy 6dz d{ 6d| d} 6d~ d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6dd de 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6Z i d d 6d d 6d d 6d d 6Z	 RS(   s8   LaTeX representations for active and Unicode characters.u   \textbackslash{}s   \u   \{t   {u   \}t   }u   \#t   #u   \$t   $u   \%t   %u   \&t   &u   \textasciitilde{}t   ~u   \_t   _u   \textasciicircum{}t   ^u   \textquotedbl{}t   "u   {[}t   [u   {]}t   ]u   \-i   u   \enskipi    u   \quadi   i   i   u   \,i   u   \hspace{0pt}i   i/   u   \hbox{-}i   u   \AAi+!  u   \ensuremath{\Leftrightarrow}i!  u   \ensuremath{\spadesuit}i`&  u   \ensuremath{\clubsuit}ic&  u   ffi   u   fii  u   fli  u   ffii  u   ffli  u   ~i   u   \guillemotleft{}i   u   \guillemotright{}i   u   \textcompwordmark{}i   u   \textendash{}i   u   \textemdash{}i   u   \textquoteleft{}i   u   \textquoteright{}i   u   \quotesinglbase{}i   u   \textquotedblleft{}i   u   \textquotedblright{}i   u   \quotedblbase{}i   u   \textperthousand{}i0   u   \textpertenthousand{}i1   u   \guilsinglleft{}i9   u   \guilsinglright{}i:   u   \textvisiblespace{}i#$  u   \dag{}i    u   \ddag{}i!   u   \dots{}i&   u   \texttrademark{}i"!  u   \textcent{}i   u   \textcurrency{}i   u
   \textyen{}i   u   \textbrokenbar{}i   u   \textsection{}i   u   \textasciidieresis{}i   u   \textcopyright{}i   u   \textordfeminine{}i   u   \textlnot{}i   u   \textregistered{}i   u   \textasciimacron{}i   u   \textdegree{}i   u	   \textpm{}i   u   \texttwosuperior{}i   u   \textthreesuperior{}i   u   \textasciiacute{}i   u	   \textmu{}i   u   \textparagraph{}i   u   \textonesuperior{}i   u   \textordmasculine{}i   u   \textonequarter{}i   u   \textonehalf{}i   u   \textthreequarters{}i   u   \texttimes{}i   u
   \textdiv{}i   u   \textflorin{}i  i  u   \textacutedbl{}i  u   \textbardbl{}i   u   \textbullet{}i"   i2   i3   u   \textasciigrave{}i5   u   \textgravedbl{}i6   u   \textreferencemark{}i;   u   \textinterrobang{}i=   u   \textfractionsolidus{}iD   u   \textlquill{}iE   u   \textrquill{}iF   u   \textdiscount{}iR   u   \textcolonmonetary{}i   u   \textfrenchfranc{}i   u   \textlira{}i   u   \textnaira{}i   u
   \textwon{}i   u   \textdong{}i   u   \texteuro{}i   u   \textpeso{}i   u   \textguarani{}i   u   \textcelsius{}i!  u   \textnumero{}i!  u   \textcircledP{}i!  u   \textrecipe{}i!  u   \textservicemark{}i !  u
   \textohm{}i&!  u
   \textmho{}i'!  u   \textestimated{}i.!  u   \textleftarrow{}i!  u   \textuparrow{}i!  u   \textrightarrow{}i!  u   \textdownarrow{}i!  u   \textminus{}i"  u   \textasteriskcentered{}i"  u   \textsurd{}i"  u   \textblank{}i"$  u   \textopenbullet{}i%  u   \textbigcircle{}i%  u   \textmusicalnote{}ij&  u   \textmarried{}i&  u   \textdivorced{}i&  u   \textlangle{}i'  u   \textrangle{}i'  u
   \ding{170}ie&  u
   \ding{169}if&  u	   \ding{51}i'  u	   \ding{55}i'  (
   Rd   Re   R  t   ordt   allttt   specialt   unsupported_unicodet   utf8_supported_unicodet   textcompt   pifont(    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR    s  



t   DocumentClassc           B   s#   e  Z d  Z e d  Z d   Z RS(   s"   Details of a LaTeX document class.c         C   sr   | |  _  | |  _ d d d d d g |  _ |  j  d k rO |  j j d d  n  |  j rn |  j j d d  n  d  S(   Nt   sectiont
   subsectiont   subsubsectiont	   paragrapht   subparagrapht   bookt   memoirt   reportt   scrbookt   scrreprti    t   chapterR_   (   R'  R(  R)  R*  R+  (   t   document_classt
   _with_partt   sectionst   insert(   RD   R-  t	   with_part(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRA   i  s    					c         C   s9   | t  |  j  k r$ |  j | d Sd t j |  Sd S(   s   Return the LaTeX section name for section `level`.

        The name depends on the specific document class.
        Level is 1,2,3..., as level 0 is the title.
        i   s   DUtitle[section%s]N(   t   lenR/  t   romant   toRoman(   RD   t   level(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR"  t  s    (   Rd   Re   R  t   FalseRA   R"  (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR!  f  s   t   Tablec           B   s   e  Z d  Z d   Z d   Z d   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 RS(   s  Manage a table while traversing.

    Maybe change to a mixin defining the visit/departs, but then
    class Table internal variables are in the Translator.

    Table style might be

    :standard:   horizontal and vertical lines
    :booktabs:   only horizontal lines (requires "booktabs" LaTeX package)
    :borderless: no borders around table cells
    :nolines:    alias for borderless

    :colwidths-auto:  column widths determined by LaTeX
    :colwidths-given: use colum widths from rST source
    c         C   sU   | |  _  | |  _ t |  _ i  |  _ g  |  _ g  |  _ g  |  _ t |  _ d |  _	 d  S(   Ni    (
   t   _translatort   _latex_typeR6  t   _opent   _attrst
   _col_widtht   _rowspant   stubst   colwidths_autot	   _in_thead(   RD   t
   translatort
   latex_type(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRA     s    								c         C   s1   t  |  _ g  |  _ g  |  _ i  |  _ t |  _ d  S(   N(   Rn   R:  t
   _col_specst   captionR;  R6  t   _in_head(   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRM     s
    				c         C   s:   t  |  _ d  |  _ g  |  _ i  |  _ g  |  _ t  |  _ d  S(   N(   R6  R:  Rm   RC  RD  R;  R>  R?  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRY     s    					c         C   s   |  j  S(   N(   R:  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   is_open  s    c         C   s   g  | | D]$ } | d k r | j  d d  ^ q } y | d |  _ Wn t k
 rb d |  _ n Xd | k r{ d | k p d | k o d | k |  _ d  S(	   NR   R   R   R   is   colwidths-autos   colwidths-given(   R   R   R   R   (   t   replacet   borderst
   IndexErrorR?  (   RD   t   table_stylet   classest   clsRH  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   set_table_style  s    $c         C   s$   |  j  d k r |  j r d S|  j  S(   Nt	   longtables
   longtable*(   R9  RD  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_latex_type  s    c         C   s   | |  j  | <d  S(   N(   R;  (   RD   t   attrt   value(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   set  s    c         C   s   | |  j  k r |  j  | Sd  S(   N(   R;  Rm   (   RD   RP  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR     s    c         C   s   |  j  d k r d Sd S(   NR   t   |R%   (   RH  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_vertical_bar  s    s
   \linewidthc         C   s   i d d 6d d 6d d 6} | j  |  j  d  p3 d  } d |  j   | f g } |  j sr | j d	 d
 |  n  d j |  S(   NR   t   leftR   t   centert   rt   rightt   aligns   \begin{%s}[%s]i    s   \setlength{\DUtablewidth}{%s}s   
(   R   RO  R?  R0  RS   (   RD   t   widtht	   align_mapRY  t   opening(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_opening  s    

	c         C   sI   g  } |  j  d k r% | j d  n  | j d |  j    d j |  S(   NR   s   \bottomrules   \end{%s}s   
(   RH  R1   RO  RS   (   RD   t   closing(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_closing  s
    c         C   s0   |  j  j |  |  j j | j j d   d  S(   Nt   stub(   RC  R1   R>  t
   attributesR   (   RD   t   node(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_colspec  s    c         C   s!  |  j    } d g t |  j  |  _ g  |  _ |  j rV | d t |  j  } | | Sd } d } x3 |  j D]( } t | d d  | } | | 7} ql Wd } | d k r | | :} n  d	 } xY |  j D]N } | t | d d  | } |  j j | d
  | d | | d
 f 7} q W| | S(   s   Return column specification for longtable.

        Assumes reST line length being 80 characters.
        Table width is hairy.

        === ===
        ABC DEF
        === ===

        usually gets to narrow, therefore we add 1 (fiddlefactor).
        i    R   iP   g        t   colwidthi   g(\?g      ?R%   g{Gzt?s   %sp{%.3f\DUtablewidth}(   RT  R2  RC  R=  R<  R?  t   floatR1   (   RD   Rb  t   bart   latex_table_specRZ  t   total_widthRd  t   factor(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_colspecs  s(    		c         C   s/   y d |  j  |  j SWn t k
 r* d SXd S(   s4   Return columnwidth for current cell (not multicell).s   %.2f\DUtablewidtht   *N(   R<  t   _cell_in_rowRI  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_column_width  s    c         C   sh   yO t  g  g  t |  D] } |  j | | ^ q D] } | ^ q1  } d | SWn t k
 rc d SXd S(   s)   Return sum of columnwidths for multicell.s   p{%.2f\DUtablewidth}R   N(   t   sumt   rangeR<  RI  (   RD   t   startt   len_t   coRZ  t   mc_width(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_multicolumn_width  s    :c         C   sD   |  j  s d Sd j |  j   } d |  j j   k r< d | Sd | S(   NR%   i   s   \caption{%s}\\
s!   \caption[]{%s (... continued)}\\
(   RD  RS   R8  t   thead_depth(   RD   RD  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_caption  s    	c         C   s&   |  j  d k r" d |  j j   k Sd S(   NRN  i   i    (   R9  R8  Ru  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   need_recurse   s    c         C   s?   |  j  d 7_  |  j d k r% d g S|  j d k r; d g Sg  S(   Ni   R   s   \hline
R   s	   \toprule
(   R@  RH  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_thead%  s    c         C   s   g  } |  j  d k r% | j d  n  |  j d k r d |  j j   k rY | j d  q | j d  | j d t |  j  d  | j d	  n  |  j d 8_ | S(
   NR   s	   \midrule
RN  i   s   \endfirsthead
s	   \endhead
s   \multicolumn{%d}{c}s&   {\hfill ... continued on next page} \\s   
\endfoot
\endlastfoot
(   RH  R1   R9  R8  Ru  R2  RC  R@  (   RD   t   a(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_thead-  s    c         C   s   d |  _  d  S(   Ni    (   Rl  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt	   visit_row?  s    c         C   s4  d g } d  |  _ xF t t |  j   D]/ } |  j | d k r( |  j | c d 8<q( q( W|  j d k r0g  t t |  j   D]# } |  j | d k r | d ^ q } t |  t |  j  k r | j d  q0d } | j   x9 t ry | j	   } Wn Pn X| d | | f 7} q W| j |  n  | S(   Ns    \\
i    i   R   s   \hline
R%   s   \cline{%d-%d}
(
   Rm   Rl  Ro  R2  R=  RH  R1   t   reverseRn   t   pop(   RD   t   rest   it   rowspanst   clinet   c_start(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   depart_rowB  s(    		#
	c         C   s   y | |  j  | <Wn n Xd  S(   N(   R=  (   RD   t   cellRQ  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   set_rowspan[  s    c         C   s   y |  j  | SWn d SXd  S(   Ni    (   R=  (   RD   R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_rowspana  s    c         C   s   |  j  S(   N(   Rl  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   get_entry_numberg  s    c         C   s   |  j  d 7_  d  S(   Ni   (   Rl  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_entryj  s    c         C   s*   t  |  j  |  j k r& |  j |  j St S(   N(   R2  R>  Rl  R6  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   is_stub_columnm  s    (   Rd   Re   R  RA   RM   RY   RF  RM  RO  RR  R   RT  R]  R_  Rc  Rj  Rm  Rt  Rv  Rw  Rx  Rz  R{  R  R  R  R  R  R  (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR7    s6   									
				#		
										RB   c           B   s  e  Z d  Z e Z e Z e Z d Z e Z e Z	 d Z
 e Z e Z e Z e Z e Z e Z e d  Z d   Z d   Z d   Z d   Z e j d  d	  Z d
   Z d   Z e 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 d  Z. d   Z/ d   Z0 d   Z1 d    Z2 d!   Z3 d"   Z4 d#   Z5 d$   Z6 d%   Z7 d&   Z8 d'   Z9 d(   Z: d)   Z; d*   Z< d+   Z= d,   Z> d-   Z? d.   Z@ d/   ZA d0   ZB d1   ZC d2   ZD d3   ZE d4   ZF d5   ZG d6   ZH d7   ZI d8   ZJ d9   ZK d:   ZL d;   ZM d<   ZN d=   ZO d>   ZP d?   ZQ d@   ZR dA   ZS dB   ZT dC   ZU dD   ZV dE   ZW dF   ZX dG   ZY dH   ZZ dI   Z[ dJ   Z\ dK   Z] dL   Z^ dM   Z_ dN   Z` dO   Za dP   Zb dQ   Zc dR   Zd dS   Ze dT   Zf dU   Zg dV   Zh dW   Zi dX   Zj dY   Zk dZ   Zl d[   Zm d\   Zn d]   Zo d^   Zp d_   Zq d`   Zr da   Zs db   Zt dc   Zu dd   Zv de   Zw df   Zx dg   Zy dh   Zz di   Z{ dj   Z| dk   Z} dl   Z~ dm   Z dn   Z do   Z dp   Z dq   Z dr   Z d ds  Z dt   Z du   Z dv   Z dw   Z dx   Z 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 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 i d d 6d d 6d d 6d d 6Z 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 RS(   s   
    Generate code for 8-bit LaTeX from a Docutils document tree.

    See the docstring of docutils.writers._html_base.HTMLTranslator for
    notes on and examples of safe subclassing.
    R0   i    c   	      C   s+  t  j j |  |  |  j j j |  _ |  j j j |  _ | j |  _ } |  j	 | j
  |  _ | j |  _ | j |  _ | j |  _ | j |  _ | j |  _ | j |  _ t | d d  |  _ | j |  _ | j j d d  |  _ d |  _ d |  _ | j r"t j d | j  \ } |  _ |  _ } n | j r7d |  _ n  |  j j ra|  j j j d d  |  _ n	 d  |  _ t! j" | j# | j  |  _$ | | j# | j  |  _% |  j$ j& d	 |  _' |  j j( g } |  j% j) d2 k r| j* |  j% j)  n  d j+ t, d  |   |  _( t- | j. | j/  |  _0 |  j j1 d k r8d |  _2 n: |  j j1 j3   d k r_t4 j5 |  _2 n d |  j j1 |  _2 | j6 |  _6 d |  j( |  j j. f g |  _7 t8   |  _9 d |  j9 d <| j: g |  _: t8   |  _; g  |  _< g  |  _= g  |  _> g  |  _? g  |  _@ g  |  _A g  |  _B g  |  _C g  |  _D g  |  _E g  |  _F g  |  _G g  |  _H g  |  _I g  |  _J g  |  _K d	 g |  _L g  |  _M d	 |  _N g  |  _O g  |  _P tQ |  d  |  _R |  jD |  _S g  |  _T |  j d k rd |  j |  j9 d <n  |  jU sk|  j rd |  j |  j9 d <n  xa |  j j d  D]J } | jV   } | d k rHd |  j9 d <q| d3 k rd  |  j9 d! <qqWn  | j. jW d"  d# k r|  j( jW d$  d# k s|  j( jW d%  d# k rd& |  j9 d' <n  g  tX jY |  D] } |  jZ |  ^ q|  _[ |  j d4 k rd |  _\ n d+ |  j |  j f |  _\ | j\ rG|  j\ d | j\ 7_\ n  | j] r\d, t4 _^ n | j_ } | d  k	 rt` | ta |  j0 jb   } d- |  j0 jb k r| d 8} n  |  j0 jb d	 d. k r| d 8} n  d/ | t4 _^ n  tc | d0  r'| jd d k r'd1 |  j0 jb d	 | jd d f |  j9 d0 <n  d  S(5   Nt   font_encodingR%   R  s   \_s	   (\w+)(.*)t   verbatimR   i   i    R   s   \usepackage{graphicx}t   autos   \usepackage[%s]{graphicx}s   \documentclass[%s]{%s}s   \usepackage{ifthen}t   __staticRN  t   asciis   \usepackage[%s]{inputenc}t	   _inputencs   \usepackage[%s]{fontenc}t   _fontenct   OT1s+   \DeclareTextSymbol{\textquotedbl}{OT1}{`\"}t   _textquotedblOT1R2   t   T2At   T2Bt   T2Ct   T4t   T5s,   \DeclareTextSymbolDefault{\textquotedbl}{T1}t   _textquotedblt   scrit   DIVt   BCORs   \usepackage{typearea}t   typeareat   0t   falseR6  s(   colorlinks=true,linkcolor=%s,urlcolor=%ss   \setcounter{secnumdepth}{0}R,  R_   s   \setcounter{secnumdepth}{%d}t   sectnum_starts   \setcounter{%s}{%d}(   R   R%   (   R2   R  R  R  R  R  (   R  R  R6  R%   (e   R   t   NodeVisitorRA   RH   R   R   t   warnt   errorRN   t   to_latex_encodingt   output_encodingt   latex_encodingR*   R+   R   t   _use_latex_citationst   reference_labelt   _reference_labelt   hyperlink_colorR.   RL   R  R/   t   section_enumerator_separatorRG  t   literal_block_envt   literal_block_optionst   ret   splitt   use_verbatim_when_possiblet
   use_bibtext   bibtexRm   R   R   R   t   language_modulet   babelt   author_separatorst   author_separatort   documentoptionsR   R1   RS   t   filterR!  t   documentclasst   use_part_sectiont   d_classt   graphicx_optiont   graphicx_packageR  R  t   graphicx_autot   docutils_footnotesR4   R  R5   R6   R7   R8   R:   R;   R9   R<   R=   R>   R?   R@   t   contextt   title_labelst   subtitle_labelst   author_stackt   datet   pdfinfot	   pdfauthort   _section_numbert   _enumeration_counterst   _max_enumeration_counterst	   _bibitemst   table_stackR7  t   active_tablet   outt	   out_stackt   is_xetext   stript   findR   t   get_stylesheet_listt   stylesheet_callR'   t   hyperref_optionst   sectnum_xformt   secnumdepthR3   t   minR2  R/  t   hasattrR  (	   RD   RH   t   babel_classRN   R$   t	   d_optionst   encRR   R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRA     s    			*			
																							+	
		c   	      C   sD  t  j j |  \ } } | d k } |  j j r | rC | d } n  y5 t j d | d d  j   } |  j j j	 |  WnP t
 k
 r } d | t | j  f } |  j j j |  d | j d d	  SX| r d j d
 | d g  } n  d | | f S| r| } d } n d } |  j j r<t j |  j j |  } n  | | S(   s8   Return code to reference or embed stylesheet file `path`s   .styR%   t   source_patht   encodings   utf-8u#   Cannot embed stylesheet '%s':
  %s.s   % s   
s   
% s   \makeatletters   \makeatothers   %% embedded stylesheet: %s
%ss   \usepackage{%s}s
   \input{%s}(   s   .styR%   (   RQ   RR   t   splitextRN   R(   R   t	   FileInputRX   t   record_dependenciest   addRP   R   t   strerrorRH   R   R  RG  RS   R&   R   t   relative_patht   _destination(	   RD   RR   t   baset   extt
   is_packaget   contentt   errt   msgt   cmd(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR  ~  s4    		c         C   s   i d d 6d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6} | j    } | | k r | | S| j d d  j d d  } | j d  d S(    s   Translate docutils encoding name into LaTeX's.

        Default method is remove "-" and "_" chars from docutils_encoding.
        t   latin1s
   iso-8859-1t   latin2s
   iso-8859-2t   latin3s
   iso-8859-3t   latin4s
   iso-8859-4t   iso88595s
   iso-8859-5t   latin5s
   iso-8859-9t   latin9s   iso-8859-15t   maccyrt   mac_cyrillict   cp1251s   windows-1251s   koi8-rs   koi8-ut   cp1250s   windows-1250t   cp1252s   windows-1252R  s   us-asciiR  R%   R0   t   :i    (   R  RG  R  (   RD   t   docutils_encodingR   R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR    s&    

c         C   s   |  j  j | S(   N(   R  t   labels(   RD   t   docutil_label(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   language_label  s    c   
      C   s!  |  j  r | St j j   } |  j s8 | j t j  n  |  j r[ |  j r[ | t d  =n  |  j d! k r |  j	 r |  j
 r d | t d  <|  j |  j d <d | t d  <q d | t d	  <d
 | t d  <d | t d  <n  |  j rd | t d  <d |  j j | t d  <n  |  j	 s!|  j j d  sg| j t j  | j t j  | j t j  n  | j t j  x | D] } t |  } | t j k rt j |  j d <q~| t j k rd |  j d <q~|  j d k r~| t j k r~d | t j | f |  j d t |  <q~q~Wn  | j |  } |  j	 sd } |  j
 rU| d 7} n  x3 | d D]$ } | j | | | d |  } q`Wn  |  j r| j d  } x= t | d   D]+ \ } }	 |	 j   s| | c d 7<qqWd" j |  } n  |  j
 r|  j r| j d d   } n  | S(#   sU  Return text with 'problematic' characters escaped.

        * Escape the special printing characters ``# $ % & ~ _ ^ \ { }``,
          square brackets ``[ ]``, double quotes and (in OT1) ``< | >``.
        * Translate non-supported Unicode characters.
        * Separate ``-`` (and more in literal text) to prevent input ligatures.
        R  R  R%   u   \underline{~}t   graphicxu   \reflectbox{/}s   \u
   \textbar{}RS  u   \textless{}t   <u   \textgreater{}t   >u   ~t    s   	t   utf8R  s   \usepackage{pifont}R   s"   \DeclareUnicodeCharacter{%04X}{%s}R  R0   s   ,`'"<>i   s   {}s   
iR  s   \\s     s    ~(   R  R%   s   \\
(   R  R  R  t   copyt   updateR  t   inside_citation_reference_labelR  R  R  t   literalR  R5   t   insert_non_breaking_blanksRN   t	   tab_widthR  t
   startswithR  R  R  R   R  t   strRa   RG  t   insert_newlineR  t	   enumeratet   lstripRS   (
   RD   t   textt   tablet   cht   cpt   separate_charst   charRc   R  t   line(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   encode  sd    					/		%	s   [
	]c         C   s   |  j  | j d |   S(   s1   Cleanse, encode, and return attribute value text.R  (   R  t   sub(   RD   R  t
   whitespace(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   attval#  s    c         C   s   t  | j t j  S(   s@   Check whether a node represents an inline or block-level element(   t
   isinstancet   parentR   t   TextElement(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt	   is_inline/  s    c         C   s8   |  j  j d j g  | d D] } d | ^ q   d S(   s)   Append hypertargets for all ids of `node`s   %
t   idss"   \raisebox{1em}{\hypertarget{%s}{}}N(   R  R1   RS   (   RD   Rb  R   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   append_hypertargets3  s    c         C   sL   g  | j  d g   D] } d | ^ q } | rH | rH | j d d  n  | S(   s   Return list of label definitions for all ids of `node`

        If `set_anchor` is True, an anchor is set with \phantomsection.
        R  s
   \label{%s}i    s   \phantomsection(   R   R0  (   RD   Rb  t
   set_anchorR   R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   ids_to_labels:  s    )c         C   s   g  | d D] } | j  d  r | ^ q } | r | d j d d  | d <g  | d D] } | j  d  sW | ^ qW | d <n  d S(   s8   Convert ``align-*`` class arguments into alignment args.RK  s   align-iR%   RY  N(   R  RG  (   RD   Rb  RL  RY  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   set_align_from_classesD  s
    ,c         C   ss   | j  d |  } | d k r1 |  j j d  n> | d k rP |  j j d  n | d k ro |  j j d  n  d  S(   NRY  RU  s   \raggedright
RV  s   \centering
RX  s   \raggedleft
(   R   R  R1   (   RD   Rb  R   RY  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   insert_align_declarationM  s    c         C   s   t  | j t j  s( |  j j d  n  x | d D] } | j d  r |  j j | d  } | r t	 |  j j
 | <|  j j d |  q q3 t j |  j d <|  j j d |  q3 Wd S(	   s6   Open a group and insert declarations for class values.s   
RK  s	   language-i	   s   \begin{selectlanguage}{%s}
t   DUclasss   \begin{DUclass}{%s}
N(   R  R  R   t   compoundR  R1   R  R  R   Rn   R   R  t   duclassR7   (   RD   Rb  RL  R   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   duclass_openV  s    c         C   s   x t  | d  D]w } | j d  rh |  j j | d  } | r t |  j j | <|  j j d  q q t j	 |  j
 d <|  j j d  q Wd S(   s$   Close a group of class declarations.RK  s	   language-i	   s   \end{selectlanguage}
R!  s   \end{DUclass}
N(   t   reversedR  R  R   Rn   R   R  R1   R  R#  R7   (   RD   Rb  RL  R   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   duclass_closed  s    c         C   s    |  j  j |  j  | |  _ d  S(   N(   R  R1   R  (   RD   t   new_out(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   push_output_collectorp  s    c         C   s   |  j  j   |  _ d  S(   N(   R  R}  R  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   pop_output_collectort  s    c         C   s#   |  j  j |  j | j     d  S(   N(   R  R1   R  t   astext(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   visit_Textz  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_Text}  s    c         C   s%   | d j  d d  |  j |  d  S(   NRK  i    t   abbreviation(   R0  t   visit_inline(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_abbreviation  s    c         C   s   |  j  |  d  S(   N(   t   depart_inline(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_abbreviation  s    c         C   s%   | d j  d d  |  j |  d  S(   NRK  i    t   acronym(   R0  R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_acronym  s    c         C   s   |  j  |  d  S(   N(   R0  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_acronym  s    c         C   s   |  j  | d  d  S(   Nt   address(   t   visit_docinfo_item(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_address  s    c         C   s   |  j  |  d  S(   N(   t   depart_docinfo_item(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_address  s    c         C   s   t  j |  j d <d | d k r3 t  j |  j d <n  g  | d D] } | d k r> | ^ q> | d <|  j j d d j | d   d  S(   Nt
   admonitionR  RK  s   
\DUadmonition[%s]{R   (   R  R:  R7   R  R  R1   RS   (   RD   Rb  RL  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_admonition  s    c         C   s   |  j  j d  d  S(   Ns   }
(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_admonition  s    c         C   s3   |  j  j |  j | j     |  j | d  d  S(   Nt   author(   R  R1   R  R*  R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_author  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_author  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_authors  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_authors  s    c         C   s!   |  j  |  |  j j d  d  S(   Ns   \begin{quote}(   R$  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_block_quote  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   \end{quote}
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_block_quote  s    c         C   s=   |  j  |  |  j r) |  j j d  n |  j j d  d  S(   Ns   \begin{list}{}{}s   \begin{itemize}(   R$  t   is_toc_listR  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_bullet_list  s    	c         C   s=   |  j  r |  j j d  n |  j j d  |  j |  d  S(   Ns   \end{list}
s   \end{itemize}
(   RD  R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_bullet_list  s    	c         C   s.   |  j  j d  | d r* |  j |  n  d  S(   Ns   \textsuperscript{RK  (   R  R1   R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_superscript  s    
c         C   s.   | d r |  j  |  n  |  j j d  d  S(   NRK  R  (   R0  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_superscript  s    
c         C   s>   t  j |  j d <|  j j d  | d r: |  j |  n  d  S(   Nt   textsubscripts   \textsubscript{RK  (   R  RI  R7   R  R1   R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_subscript  s    
c         C   s.   | d r |  j  |  n  |  j j d  d  S(   NRK  R  (   R0  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_subscript  s    
c         C   s   |  j  j d  d  S(   Ns
   
\caption{(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_caption  s    c         C   s   |  j  j d  d  S(   Ns   }
(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_caption  s    c         C   s>   t  j |  j d <|  j j d  | d r: |  j |  n  d  S(   Nt   titlereferences   \DUroletitlereference{RK  (   R  RN  R7   R  R1   R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_title_reference  s    
c         C   s.   | d r |  j  |  n  |  j j d  d  S(   NRK  R  (   R0  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_title_reference  s    
c         C   s:   |  j  r |  j g   n |  j j d  |  j |  d  S(   Ns   \begin{figure}[b](   R  R(  R  R1   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_citation  s    	c         C   sc   |  j  rO |  j d } d j |  j d  } |  j j | | g  |  j   n |  j j d  d  S(   Ni    R%   i   s   \end{figure}
(   R  R  RS   R  R1   R)  (   RD   Rb  t   labelR  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_citation  s    	c         C   s   |  j  rZ |  j s. |  j j d  d |  _ q |  j d d k sM t d   |  j d =nV d } d | k ry | d } n# d	 | k r |  j j | d	 } n  |  j j d
 |  d  S(   Ns   \cite{i   iR  s   
s2   unexpected non-whitespace while in reference labelR%   t   refidt   refnames   \hyperlink{%s}{[(   R  s   
(   R  R  R  R1   R@   t   AssertionErrorRH   t   nameids(   RD   Rb  t   href(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_citation_reference  s    			c         C   s   |  j  r t } | j d t d t d t  } t |  d k r | d } t | t j  r | j   d k r | d j	 | j	 k r t } q q n  | r |  j
 j d  q |  j
 j d	  t |  _ n |  j
 j d
  d  S(   Nt   descendt   siblingst   include_selfi   i    R  s   
R   R  s   ]}(   R  s   
(   R  R6  t   traverseRn   R2  R  R   t   TextR*  t	   __class__R  R1   R  (   RD   Rb  t   followup_citationt   next_siblingst   next(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_citation_reference  s    		
c         C   s   |  j  j d  d  S(   Ns	   (\textbf{(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_classifier"  s    c         C   s   |  j  j d  d  S(   Ns   })(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_classifier%  s    c         C   s   |  j  j |  d  S(   N(   R  Rc  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRc  (  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_colspec+  s    c         C   s[   t  | j t j  s( |  j j d  n  |  j j d | j   j d d   t j  d  S(   Ns   
s   %% %s
s   
% (	   R  R  R   R"  R  R1   R*  RG  t   SkipNode(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_comment.  s    &c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_comment5  s    c         C   sM   t  | j t j  r( |  j j d  n  | d j d d  |  j |  d  S(   Ns   
RK  i    R"  (   R  R  R   R"  R  R1   R0  R$  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_compound8  s    c         C   s   |  j  |  d  S(   N(   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_compound>  s    c         C   s   |  j  | d  d  S(   Nt   contact(   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_contactA  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_contactD  s    c         C   s   |  j  |  d  S(   N(   R$  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_containerG  s    c         C   s   |  j  |  d  S(   N(   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_containerJ  s    c         C   s   |  j  | d  d  S(   Nt	   copyright(   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_copyrightM  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_copyrightP  s    c         C   s   |  j  | d  d  S(   NR  (   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   visit_dateS  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_dateV  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_decorationY  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_decoration]  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_definition`  s    c         C   s   |  j  j d  d  S(   Ns   
(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_definitionc  s    c         C   s!   |  j  |  |  j j d  d  S(   Ns   \begin{description}
(   R$  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_definition_listf  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   \end{description}
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_definition_listj  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_definition_list_itemn  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_definition_list_itemq  s    c         C   s   |  j  j d  d  S(   NR  (   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_descriptiont  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_descriptionw  s    c         C   s   |  j  |  j  d  S(   N(   R(  R=   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_docinfoz  s    c         C   sj   |  j    |  j rf d |  j d <t j |  j d <t j |  j d <|  j j d d  |  j j d  n  d  S(   Ns   \usepackage{tabularx}t   tabularxt   _providelengthR=   i    s@   
% Docinfo
\begin{center}
\begin{tabularx}{\DUdocinfowidth}{lX}
s   \end{tabularx}
\end{center}
(   R)  R=   R5   R  t   providelengthR7   R0  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_docinfo}  s    
	c         C   sL  |  j  r | d k r | d k s+ |  j r> |  j j g   n  | d k rt t |  _ |  j | j    } t |  _ n |  j | j    } |  j d j |  t	 j
  q | d k r |  j j |  j | j     t	 j
  q n  |  j j d |  j |   | d k r8t |  _ |  j j d  |  j j d	  n |  j j d
  d  S(   NR=  t   organizationRl  R5  iR  s   \textbf{%s}: &
	s   {\raggedright
s    } \\
s    \\
(   R=  R  Rl  R5  (   R+   R  R1   Rn   R	  R  R*  R6  R  R   Rg  R  R  R  R  (   RD   Rb  t   nameR  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR6    s(    			c         C   s&   |  j  j |  j j    t |  _ d  S(   N(   R  R1   R  R}  R6  R	  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR8    s    c         C   s   |  j  |  d  S(   N(   t   visit_literal_block(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_doctest_block  s    c         C   s   |  j  |  d  S(   N(   t   depart_literal_block(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_doctest_block  s    c         C   sP   |  j  s+ t |  rL t | d t j  rL |  j |  j | d t 7_ n  d  S(   Ni    R  (   R+   R2  R  R   R:   R  R  R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_document  s    c         C   s3  |  j  j s |  j  j d k r4 |  j    |  j d <n  |  j j   |  _ |  j j   |  _ |  j j t j	 |  j
  |  j r |  j j |  j  } |  j j d |  n  |  j r |  j d g |  j d g 7_ n  |  j s |  j r|  j s |  j rd j |  j  g } |  j r%| |  j 7} n  |  j rX| d d d j |  j  g |  j 7} n  |  j j d	 d
 j |   g  |  j D] } d j |  ^ q} |  j j d d j |   |  j j d d j |  j   |  j j d  n  |  j rt |  j  d k r|  j sd } x: |  j D]/ } t |  t | d  k  r!| d } q!q!W|  j j d |  xL |  j D]A } | d j d d  } |  j j d | d | | d f  qrW|  j j d  q|  j j d |  j d  |  j j d |  j d  n  d |  j k r/|  j r/|  j j d  n  d  S(   NR%   R   R  s     pdfauthor={%s}s   \hypersetup{R  s   \\ % subtitles   \DUdocumentsubtitle{%s}s
   \title{%s}s   %
  s   \\
s   \author{%s}s    \and
s	   \date{%s}s   , s   \maketitle
i    s   
\begin{thebibliography}{%s}
s   \_R  s   \bibitem[%s]{%s}{%s}
i   s   \end{thebibliography}
s   
\bibliographystyle{%s}
s   \bibliography{%s}
t   minitocs'   
\faketableofcontents % for local ToCs
(   R%   R   (   R  R   R   R5   R  R7   R8   R1   R  t   linkingR  R  R  RS   R  R:   R+   R  R  R  R;   R  R9   R<   R  R2  R  R  R  RG  t   has_latex_toc(   RD   Rb  t   authorsR:   t   author_entryt   widest_labelt   bit   cite_key(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_document  sZ    		#			" 	c         C   s.   |  j  j d  | d r* |  j |  n  d  S(   Ns   \emph{RK  (   R  R1   R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_emphasis  s    
c         C   s.   | d r |  j  |  n  |  j j d  d  S(   NRK  R  (   R0  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_emphasis  s    
c         C   sC   x< |  j  j |  j  j    r> |  j j d  |  j  j   q Wd  S(   Ns    & (   R  R  R  R  R1   R  (   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt(   insert_additional_table_colum_delimiters  s    c         C   s6  |  j  j   d k r" |  j   n |  j j d  d | k rY d | k rY t d   n  d | k r d |  j d <| d d } |  j  j |  j  j   |  |  j j d	 | |  j  j   f  |  j	 j d
  n d | k rm|  j  j   d k r|  j  j
   } n d } | d d } |  j j d | | |  j  j |  j  j   |  |  j  j
   f  |  j	 j d
  n |  j	 j d  t |  rt | j j t j  s|  j  j   r|  j j d  |  j	 j d
  n |  j	 j d  |  j  j r%|  j d j d  r%| j   r%|  j j d  n  |  j  j   d  S(   Ni    s    & t   morerowst   morecolssK   Cells that span multiple rows *and* columns currently not supported, sorry.s   \usepackage{multirow}t   multirowi   s   \multirow{%d}{%s}{R  R%   s   \multicolumn{%d}{%s%s%s}{s   \textbf{iR  R  (   R  R  R  R  R1   t   NotImplementedErrorR5   R  Rm  R  RT  Rt  R2  R  R  R   t   theadR  R?  t   endswithR*  R  (   RD   Rb  t   mrowst   bar1t   mcols(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR    sH    		$c         C   s@   |  j  j |  j j    |  j  j |  j j    |  j   d  S(   N(   R  R1   R  R}  R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_entryD  s    c         C   s   |  j  j   d  S(   N(   R  R{  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR{  J  s    c         C   s   |  j  j |  j j    d  S(   N(   R  R   R  R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR  M  s    c         C   s:  i d d 6d d 6d d 6d d 6d d 6d	 d
 6} d d d  d! g } d } |  j  r |  j r |  j r |  j r d j g  |  j |  j  D] } t |  ^ q  |  j } n  |  j r | |  j d 7} q n  | | j d d  7} | | j d  } | j d d  } t	 |  j  d } d t
 j |  j   }	 d | | |	 | f }
 |  j j |
  |  j |  | d k r|  j j d  | | | f | | d k r|  j j d |	 |
 f  qnI d |	 |  j |	 <|  j j d  |  j j d |
  |  j j d |	  d | k r6|  j j d |	 | d d f  n  d  S("   NR%   Rx   t   alpht
   loweralphat   Alpht
   upperalphaR3  t
   lowerromant   Romant
   upperromanR)   t   (t   )it   prefixt   enumtypet   suffixi   t   enums   %s\%s{%s}%si   s   \begin{enumerate}s   
\renewcommand{\label%s}{%s}s   \newcounter{%s}s   \begin{list}s   {%s}s   {\usecounter{%s}}Rp  s   
\setcounter{%s}{%d}(   R%   Rx   R)   (   R  R  R  (   R%   R3  R)   (   R%   R  R)   (   R.   R/   t   section_levelR  RS   R  R  R  R   R2  R3  R4  R  R1   R$  R  R7   (   RD   Rb  t   typesR  R  t   nR  R  t   enumeration_levelt   counter_nameRR  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_enumerated_listP  sP    

		
	&	c         C   sV   t  |  j  d k r( |  j j d  n |  j j d  |  j |  |  j j   d  S(   Ni   s   \end{enumerate}
s   \end{list}
(   R2  R  R  R1   R&  R}  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_enumerated_list  s
    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_field  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_field  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_field_body  s    c         C   s)   |  j  |  j k r% |  j  j d  n  d  S(   Ns   \\s   
s   \\
(   R  R=   R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_field_body  s    c         C   sF   |  j  |  |  j |  j k	 rB t j |  j d <|  j j d  n  d  S(   Nt	   fieldlists   \begin{DUfieldlist}(   R$  R  R=   R  R  R7   R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_field_list  s    c         C   s6   |  j  |  j k	 r% |  j  j d  n  |  j |  d  S(   Ns   \end{DUfieldlist}
(   R  R=   R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_field_list  s    c         C   s9   |  j  |  j k r% |  j  j d  n |  j  j d  d  S(   Ns   \textbf{s   
\item[{(   R  R=   R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_field_name  s    c         C   s9   |  j  |  j k r% |  j  j d  n |  j  j d  d  S(   Ns   }: &s   :}](   R  R=   R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_field_name  s    c         C   s   t  j |  j d <|  j |  | j j d d  } | d k rU |  j j d |  n |  j j d  | j d  r |  j |  j |  d g 7_ n  d  S(   Nt   float_settingsRY  RV  s   \begin{figure} %% align = "%s"
s   \begin{figure}
R  s   
(	   R  R  R5   R$  Ra  R   R  R1   R  (   RD   Rb  t	   alignment(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_figure  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   \end{figure}
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_figure  s    c         C   s!   |  j  g   |  j j d  d  S(   Ns   \newcommand{\DUfooter}{(   R(  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_footer  s    c         C   s7   |  j  j d  d j |  j   |  j d <|  j   d  S(   NR  R%   s   ~footer(   R  R1   RS   R5   R)  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_footer  s    c         C   s  y | d d } Wn t  k
 r3 | d d } n X|  j rt j |  j d <| d j   } |  j j d k r| d | } n  |  j j	 d | d d | |  j
 |  f  | d | d k r |  j |  j |  7_ n  | d	 rt | d	 t j  r|  j j	 d
  qn  d  S(   Nt   backrefsi    R  t	   footnotesR   s   [%s]s   %%
\DUfootnotetext{%s}{%s}{%s}{t   namesi   R  (   RI  R  R  R  R7   R*  RN   t   footnote_referencesR  R1   R  R  R  R   R%  (   RD   Rb  t   backreft   num(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_footnote  s    	" c         C   s   |  j  j d  d  S(   Ns   }
(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_footnote  s    c         C   s   d } d | k r | d } n# d | k rB |  j  j | d } n  |  j j } | d k r |  j |  |  j j d |  |  j j d  nB t j	 |  j
 d <|  j j d | d	 d
 | f  |  j j d  d  S(   NR%   RT  RU  R   s   \hyperlink{%s}{[s   ]}R  s   \DUfootnotemark{%s}{%s}{R  i    R  (   RH   RW  RN   R  R  R  R1   R  R  R  R7   (   RD   Rb  RX  t   format(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_footnote_reference  s    c         C   s   |  j  j |  j j    d  S(   N(   R  R1   R  R}  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_footnote_reference	  s    c         C   s\   t  | j t j  r! t j  n7 t  | j t j  s< t  |  j sX |  j j	 |  n  d  S(   N(
   R  R  R   t   footnoteRg  t   citationRV  R  R  R1   (   RD   Rb  t   bracketR   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   label_delim	  s
    	c         C   s   |  j  | d d  d S(   s9   footnote or citation label: in brackets or as superscriptR  s   \textsuperscript{N(   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_label	  s    c         C   s   |  j  | d d  d  S(   NR  R  (   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_label	  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_generated	  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_generated	  s    c         C   s!   |  j  g   |  j j d  d  S(   Ns   \newcommand{\DUheader}{(   R(  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_header	  s    c         C   s7   |  j  j d  d j |  j   |  j d <|  j   d  S(   NR  R%   s   ~header(   R  R1   RS   R5   R)  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_header	  s    c         C   s   | d k	 r t j j d  n  t j d |  } | s; | S| j   d  \ } } | d k rj d | } nb | d k r d t |  d	 } n? |  j r | d
 k r t	 j
 |  j d <d |  j d
 <d | } n  | S(   s=   Convert `length_str` with rst lenght to LaTeX length
        sW   deprecation warning: LaTeXTranslator.to_latex_length() option `pxunit` will be removed.s   (\d*\.?\d*)\s*(\S*)i   R%   R   s   %sbpR  s   %.3f\linewidthg      Y@t   pxR  s$   
\DUprovidelength{\pdfpxdimen}{1bp}
s   %s\pdfpxdimenN(   R%   R   (   Rm   t   syst   stderrt   writeR  t   matcht   groupsRe  R  R  R  R7   (   RD   t
   length_strt   pxunitR  RQ  t   unit(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   to_latex_length$	  s    c   
      C   sl  |  j  |  j d <| j } t j | d  j d d  } d | k rv t | j t j	  rf d | d <n  |  j
 |  n  g  } g  } g  } i d! d 6d" d 6d# d 6d$ d 6d% d 6d& d 6} d | k ry4 | | d } | j | d  | j | d  Wqt k
 rqXn  d | k r<| j d |  j | d   n  d | k rd| j d | d d  n  d | k r| j d |  j | d   n  |  j |  pt | j t j	 t j f  s| j d  n  |  j |  pt | j t j	  s| j d  n  | j   |  j j |  d }	 | r>d d j |  }	 n  |  j j d  |	 | f  |  j j |  d  S('   NR  t   uris   \t   /RY  RV  R%   t   bottoms   \raisebox{-0.5\height}{R  t   middles   \raisebox{-\height}{t   tops!   \noindent\makebox[\linewidth][c]{s
   \noindent{s   \hfill}RU  s   \noindent{\hfillRX  i    i   t   heights	   height=%st   scales   scale=%fg      Y@RZ  s   width=%ss   
s   [%s]R   s   \includegraphics%s{%s}(   R%   R%   (   s   \raisebox{-0.5\height}{R  (   s   \raisebox{-\height}{R  (   s!   \noindent\makebox[\linewidth][c]{R  (   s
   \noindent{s   \hfill}(   s   \noindent{\hfillR  (   R  R5   Ra  t   urllibt   url2pathnameRG  R  R  R   t   figureR  R1   R   R  R  R"  R|  R  R   RS   (
   RD   Rb  t   attrst	   imagepatht   pret   postt   include_graphics_optionst   align_codest
   align_codet   options(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_image=	  s\    	
			
c         C   s5   | j  d  r1 |  j |  j |  d g 7_ n  d  S(   NR  s   
(   R   R  R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_imaget	  s    c         C   s   x | d D] } | j  d  rf |  j j | d  } | r t |  j j | <|  j j d |  q q t j |  j	 d <|  j j d |  q Wd  S(   NRK  s	   language-i	   s   \foreignlanguage{%s}{t   inlines   \DUrole{%s}{(
   R  R  R   Rn   R   R  R1   R  R  R7   (   RD   Rb  RL  R   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR.  x	  s    c         C   s"   |  j  j d t | d   d  S(   NR  RK  (   R  R1   R2  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR0  	  s    c         C   s$   t  j |  j d <|  j j d  d  S(   Nt   legends   \begin{DUlegend}(   R  R  R7   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_legend	  s    c         C   s   |  j  j d  d  S(   Ns   \end{DUlegend}
(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_legend	  s    c         C   s   |  j  j d  d  S(   Ns   \item[] (   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   visit_line	  s    c         C   s   |  j  j d  d  S(   Ns   
(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_line	  s    c         C   s   t  j |  j d <t  j |  j d <|  j |  t | j t j  rU |  j	 j
 d  n* |  j |  |  j	 j
 d  |  j |  d  S(   NR  t	   lineblocks0   \item[]
\begin{DUlineblock}{\DUlineblockindent}
s   \begin{DUlineblock}{0em}
(   R  R  R7   R  R  R  R  R   t
   line_blockR  R1   R$  R   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_line_block	  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   \end{DUlineblock}
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_line_block	  s    c         C   s   |  j  j d  d  S(   Ns   
\item (   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_list_item	  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_list_item	  s    c         C   s|   t  |  _ d | d k rN |  j j d k rN t j |  j d <t j |  j d <n  |  j	 j
 d  | d rx |  j |  n  d  S(   Nt   codeRK  R$   t   colors   \texttt{(   Rn   R  RN   t   syntax_highlightR  R  R5   t   highlight_rulesR7   R  R1   R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_literal	  s    	
c         C   s7   t  |  _ | d r# |  j |  n  |  j j d  d  S(   NRK  R  (   R6  R  R0  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_literal	  s    	
c         C   s&   t  |  d k o% t | d t j  S(   s,   Check whether a node can be typeset verbatimi   i    (   R2  R  R   R^  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   is_plaintext	  s    c         C   s  i d d 6d d 6d d 6d d 6} |  j  } |  j j   } | oI |  j j } |  j |  } | d k oj | } | j d  r |  j d	 g |  j |  7_ n  |  j |  | r d
 | d k r |  j	 j
 d k r t j |  j d <t j |  j d
 <n  | rr| rr| rrd	 j d d d d g  |  j d <|  j j d t d   | j   j d	  D   |  j j d  nA | r| r|  j j d  |  j j d  n |  j j d	  | rQ| rQ| s| rQy | | |  j d <Wn t k
 rn Xt |  _ | r| r|  j j d  n  |  j j d | |  j f  |  j j d |  n | r| rt |  _ d |  j d <|  j j d  |  j j d  n; t |  _ t |  _ t |  _ |  j j d   |  j j d  d! S("   sj   Render a literal block.

        Corresponding rST elements: literal block, parsed-literal, code.
        s6   \usepackage{listings}
\lstset{xleftmargin=\leftmargin}t
   lstlistings   \usepackage{moreverb}t   listings   \usepackage{fancyvrb}t   Verbatimt   verbatimtabR  s   
R  RK  R$   R  R%   s$   % character width in monospaced fonts   \newlength{\ttemwidth}s$   \settowidth{\ttemwidth}{\ttfamily M}t   ttems   \begin{minipage}{%d\ttemwidth}
c         s   s   |  ] } t  |  Vq d  S(   N(   R2  (   t   .0R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pys	   <genexpr>	  s    s   
\end{minipage}
s   \begin{quote}
s   
\end{quote}
t   literal_blocks   \lstset{xleftmargin=0pt}
s   \begin{%s}%s
s	   
\end{%s}s   \usepackage{alltt}R  s   \begin{alltt}
s   
\end{alltt}s   \ttfamily\raggedright
N(   R  R  RF  R?  R
  R   R  R  R$  RN   R  R  R  R5   R  R7   RS   R1   t   maxR*  R  R  R   Rn   R  R  R  R  R	  R  (   RD   Rb  t   packagest   environmentt	   _in_tablet   _autowidth_tablet
   _plaintextt	   _listings(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR  	  sb    

	"	'					c         C   sp   t  |  _ t  |  _ t  |  _ t  |  _ t  |  _ |  j j |  j j	    |  j j |  j j	    |  j
 |  d  S(   N(   R6  R  R	  R  R  R  R  R1   R  R}  R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR  
  s    					R  c         C   s   | d r |  j  |  n  d |  j d <| j   j t j  } | j d  rp d j | g |  j |   } n  | d k r |  j	 r d } q d } n# d	 j d
 d | d d | g  } |  j
 j | |  | d r |  j |  n  t j  d S(   s	   math roleRK  s   \usepackage{amsmath}t   amsmathR  s   
R  u   \(%s\)u   $%s$u   
s   %%s
   \begin{%s}s   %ss   \end{%s}N(   R.  R5   R*  Ra   R
   t   uni2tex_tableR   RS   R  R  R  R1   R0  R   Rg  (   RD   Rb  t   math_envt	   math_codet   wrapper(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   visit_math0
  s$    
"				
c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_mathI
  s    c         C   s)   t  | j    } |  j | d | d  S(   NR  (   R	   R*  R  (   RD   Rb  R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_math_blockL
  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_math_blockP
  s    c         C   s$   |  j  d r  |  j j d  n  d  S(   Nis   , (   R  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_optionS
  s    c         C   s   |  j  d c d 7<d  S(   Nii   (   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_optionX
  s    c         C   s    |  j  j | j d d   d S(   sA   Append the delimiter betweeen an option and its argument to body.t	   delimiterR  N(   R  R1   R   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_option_argument\
  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_option_argument`
  s    c         C   s$   |  j  j d  |  j j d  d  S(   Ns   
\item[i    (   R  R1   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_option_groupc
  s    c         C   s!   |  j  j   |  j j d  d  S(   Ns   ] (   R  R}  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_option_grouph
  s    c         C   sA   t  j |  j d <t  j |  j d <|  j |  |  j j d  d  S(   NR  t
   optionlists   \begin{DUoptionlist}(   R  R  R7   R)  R$  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_option_listl
  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   \end{DUoptionlist}
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_option_listr
  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_option_list_itemv
  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_option_list_itemy
  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_option_string|
  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_option_string
  s    c         C   s   |  j  | d  d  S(   NR  (   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_organization
  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_organization
  s    c         C   sT  | j  j |  } | d k rE t | j  t j t j t j f  rE n | d k r t | j  t j  r t | j  | d t j  r t | j  | d t j  r n` |  j j	 r | d k r |  j
 d d | n  | d k r|  j j d  qn |  j j d  | j d  r6|  j |  j |  d g 7_ n  | d rP|  j |  n  d  S(   Ni    i   s:   LaTeX merges paragraphs in tables with auto-sized columns!t	   base_nodes   
R  RK  (   R  t   indexR  R   t	   list_itemt   descriptionR"  R%  R  R?  R  R  R1   R   R  R.  (   RD   Rb  R3  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_paragraph
  s&    !
"
c         C   s=   | d r |  j  |  n  |  j j s9 |  j j d  n  d  S(   NRK  s   
(   R0  R  R?  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_paragraph
  s    
c         C   sI   t  j |  j d <|  j j d  |  j |  |  j j d | d  d  S(   NR  s   %
s"   \hyperlink{%s}{\textbf{\color{red}RT  (   R  R  R5   R  R1   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_problematic
  s    c         C   s   |  j  j d  d  S(   Ns   }}(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_problematic
  s    c         C   ss   d | j  d d  j   k r* t j  n  |  j |  sL |  j j d  n  | d rf |  j |  n  t |  _	 d  S(   NR   R  R%   s   
RK  (
   R   R  R   Rg  R  R  R1   R.  Rn   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt	   visit_raw
  s    
c         C   sI   t  |  _ | d r# |  j |  n  |  j |  sE |  j j d  n  d  S(   NRK  s   
(   R6  R  R0  R  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   depart_raw
  s
    	
c         C   sc   d } xP | D]H } | d k r, | d 7} n  | d k rE | d 8} n  | d k  r t  Sq W| d k S(   s7   Test whether there are unmatched '{' or '}' characters.i    R  i   R  (   Rn   (   RD   RU   R5  R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   has_unbalanced_braces
  s    c         C   s  i d t  d  6d t  d  6d t  d  6} d | k r t | d  j |  } | j d  d	 k sv |  j |  r |  j d
 |  n  | d | j   k r |  j j d |  t	 j
  n  |  j j d |  d  Sd | k r | d } n/ d | k r|  j j | d } n t d   |  j |  sB|  j j d  n  |  j j d |  |  j r|  j j d |  j | j d d  f  t	 j
  n  d  S(   Nu   \#R  u   \%R  u   \\s   \t   refuris   ^^isY   External link "%s" not supported by LaTeX.
 (Must not contain "^^" or unbalanced braces.)s   \url{%s}s
   \href{%s}{RT  RU  s   Unknown reference.s   
s   \hyperref[%s]{s   \%s{%s}}R%   (   R  RW   Ra   R  R<  R  R*  R  R1   R   Rg  RH   RW  RV  R  R  RG  (   RD   Rb  t   special_charsRX  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_reference
  s4    $	c         C   s6   |  j  j d  |  j |  s2 |  j  j d  n  d  S(   NR  s   
(   R  R1   R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_reference
  s    c         C   s   |  j  | d  d  S(   Nt   revision(   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_revision
  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_revision
  s    c         C   s1   t  j |  j d <|  j |  |  j j d  d  S(   Nt   rubrics
   \DUrubric{(   R  RD  R7   R$  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_rubric
  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   }
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_rubric  s    c         C   s=   |  j  d 7_  |  j j d  |  j |  j  d c d 7<d  S(   Ni   i    (   R  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_section  s    c         C   s    |  j  j   |  j d 8_ d  S(   Ni   (   R  R}  R  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_section  s    c         C   sA   |  j  |  t j |  j d <t j |  j d <|  j j d  d  S(   NR  t   sidebars   \DUsidebar{(   R$  R  R  R5   RI  R7   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_sidebar  s    c         C   s!   |  j  j d  |  j |  d  S(   Ns   }
(   R  R1   R&  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_sidebar  s    u   —R%   R!   R  R  R"   R#   R$   c         C   sM   |  j  |  j j \ } } |  j j d  |  j j |  |  j j |  d  S(   Ns   \nopagebreak

\raggedleft (   t   attribution_formatsRN   t   attributionR  R1   R  (   RD   Rb  R  R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_attribution!  s    c         C   s!   |  j  j |  j j   d  d  S(   Ns   
(   R  R1   R  R}  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_attribution'  s    c         C   s   |  j  | d  d  S(   Nt   status(   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_status*  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_status-  s    c         C   s.   |  j  j d  | d r* |  j |  n  d  S(   Ns   \textbf{RK  (   R  R1   R.  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_strong0  s    
c         C   s.   | d r |  j  |  n  |  j j d  d  S(   NRK  R  (   R0  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_strong5  s    
c         C   s   t  j  d  S(   N(   R   Rg  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_substitution_definition:  s    c         C   s   |  j  |  d  S(   N(   t   unimplemented_visit(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_substitution_reference=  s    c         C   s   t  | j t j  rV |  j |  j  t j |  j d <|  j	 |  j
 | d t 7_	 ni t  | j t j  r |  j j d |  j j |  j d   n* t j |  j d <|  j j d | j j  d  S(   Nt   documentsubtitleR  s   \%s*{i   R;   s   
\DUsubtitle[%s]{(   R  R  R   RH   R(  R;   R  RX  R7   R  R  R6  R"  R  R1   R  R  t   tagname(   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_subtitle@  s    !c         C   s6   t  | j t j  r" |  j   n |  j j d  d  S(   Ns   }
(   R  R  R   RH   R)  R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_subtitleM  s    c         C   sU  t  j |  j d <t  j |  j d <d g | d <|  j |  |  j j d  |  j |  y d | d } Wn t	 k
 r d } n X|  j j d	 | d
 | d |  j
 | d  | f  t | d  d k r |  j j d | d d  |  j j d  nT g  t | d  D]  \ } } d | | d f ^ q} |  j j d d j |   d  S(   NR  R:   s   system-messageRK  s*   
\DUtitle[system-message]{system-message}
s	   , line~%sR  R%   s&   

{\color{red}%s/%s} in \texttt{%s}%s
t   typeR5  t   sourceR  i   s   
\hyperlink{%s}{i    R  s   \hyperlink{%s}{%d}s
   backrefs: R  (   R  R  R5   R:   R7   R;  R  R1   R  R   R  R2  R  R
  RS   (   RD   Rb  R  R  RX  R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_system_messageS  s&    
4c         C   s'   |  j  j |  j j    |  j   d  S(   N(   R  R1   R  R}  R<  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_system_messagei  s    c         C   s@  t  j |  j d <|  j j   rG |  j j |  j  t |  d  |  _ n  |  j j d k r t	 | j
 t j  r | j
 j |  d k r |  j j |  j  j d  d k r |  j j d  n  |  j j   |  j j |  j j | d  d	 | k r|  j j d	 | d	  n  |  j j d
 k r/d |  j d
 <n  |  j g   d  S(   NR  t   tabularRN  i   R%  is   \leavevmodeRK  RY  R   s   \usepackage{booktabs}(   R  R  R5   R  RF  R  R1   R7  R9  R  R  R   R"  R3  R  R  R  R  RM   RM  RN   RJ  RR  RH  R(  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_tablem  s"    $c         C   s  |  j  } |  j   y |  j | j d  } Wn t k
 rF d } n X|  j  j d |  j j |   |  j  | 7_  |  j  j |  j j   d  |  j j	   t
 |  j  d k r |  j j   |  _ n  | j d  r|  j  |  j | d t d g 7_  n  d  S(   NRZ  s
   \linewidths   
i    R  R  (   R  R)  R  Ra  R   R1   R  R]  R_  RY   R2  R  R}  R   R  R6  (   RD   Rb  R  RZ  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_table  s    	

 c         C   s   d | k s$ d | k s$ d | k r( d  S|  j  j d  t | j t j  p_ t | j t j  } |  j  |  j | |  7_  d  S(   NR=  RT  RU  s   %
(   R  R1   R  R  R   RD  R:   R  (   RD   Rb  R  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_target  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_target  s    c         C   s3   |  j  j d  s/ |  j |  |  j d   n  d  S(   Ns   preamble written(   R  R   Rx  Rz  Rm   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_tbody  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_tbody  s    c         C   s   |  j  j d  d S(   s   definition list terms   \item[{N(   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt
   visit_term  s    c         C   s   |  j  j d  d  S(   Ns   }] \leavevmode (   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_term  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_tgroup  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_tgroup  s    c         C   s   |  j  S(   N(   t   _thead_depth(   RD   (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRu    s    c         C   s   |  j  d 7_  d |  j   k rW |  j j d |  j j |   |  j j d d  n  |  j j |  j j    |  j j |  j j	    d  S(   Ni   s   {%s}
s   preamble written(
   Rk  Ru  R  R1   R  Rj  RR  Rv  R   Rx  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRx    s     c         C   sZ   | d  k	 rG |  j j |  j j    |  j j   rG | j |   qG n  |  j d 8_ d  S(   Ni   (   Rm   R  R   R  Rz  Rw  RI   Rk  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRz    s
    c         C   sU  | j  j d k rX |  j |  j  |  j j d  |  j j d |  j | j     nt	 | j  t
 j  s t	 | j  t
 j  s t	 | j  t
 j  r t j |  j d <d j | j  d  } | s | j } n  |  j j d |  |  j j d  n[t	 | j  t
 j  r1|  j |  j j  |  j j d  n t t d	  rSt j |  j d	 <n  |  j j |  j  } |  j j d
  d | j  d k rt j |  j d <|  j | j    } |  j j d | | f  n |  j j d |  |  j t |  j j  k rt j |  j d <n  d g } | |  j | j  d t 7} |  j j d j |  d  d S(   s    Append section and other titles.RH   R%   s     pdftitle={%s},R:   R   RK  s   
\DUtitle[%s]{s   }
R  s   

s   system-messagesR  s   \%s[%s]{\color{red}s   \%s{R  s   %
  s   %
}
N(    R  RY  R(  R:   R  R1   R  R  R*  R  R   t   topicR:  RI  R  R7   RS   R  R  R  RD  R  R  R5   R  R"  R  R  R2  R/  R  R6  (   RD   Rb  RK  t   section_namet   section_titlet   bookmark(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_title  s@    	c         C   sQ   |  j  j |  j j    t | j t j  s@ | j j d k rM |  j	   n  d  S(   NRH   (
   R  R1   R  R}  R  R  R   R  RY  R)  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_title  s    c   	      C   so  |  j  j |  j  } i d d 6d d 6} d |  j  j k rH d | d <n  y | | } Wn- t k
 r |  j d | d d | d	 SXt j |  j d
 <d | |  j d | <t	 |  j  j  } d | | f |  j d | <i d d 6d d 6d d 6} d |  j  j k rd | d <n  | r=|  j
 j d | | | | f  n  |  j
 j d | | f  |  j
 j d |  d	 S(   s=   Generate a local table of contents with LaTeX package minitocR_   t   miniR,  t   sectR"  s    Skipping local ToC at %s level.
s3     Feature not supported with option "use-latex-toc"R2  NR  s   \do%stocs   minitoc-s   \mtcsetdepth{%stoc}{%d}s   minitoc-%s-depthi   i    is   \setcounter{%stocdepth}{%d}s   \mtcsettitle{%stoc}{%s}
s   \%stoc
(   R  R"  R  R/  R   R  R  R  R5   R2  R  R1   (	   RD   Rb  R:   t   depthRm  t   minitoc_namest   minitoc_namet   maxdeptht   offset(    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyR    s0    c         C   sq  d | d k r|  j  j d  |  j  |  j |  7_  t | j   t j  r |  j  j d |  j d | j   j   | j	 d d g  d f  n  |  j
 rsd } t | j   t j  r |  j | j d  j    } n  | j	 d	 d  } d
 | d k r|  j | | |  d  S| r4|  j  j d |  n  | d k rW|  j  j d |  n  |  j  j d  t |  _ qmt |  _ n d | d k r|  j j r|  j |  j  |  j  j d  t | j   t j  rm| j d  qmn d | d k rt j |  j d <|  j |  j  nG d | d k rLt j |  j d <|  j |  j  n | d j d d  |  j |  d  S(   Nt   contentsRK  s   
s   
\pdfbookmark[%d]{%s}{%s}i   R  i    R%   Rt  t   locals   \setcounter{tocdepth}{%d}
t   Contentss!   
\renewcommand{\contentsname}{%s}s   
\tableofcontents
R?   s   \begin{abstract}R>   Rl  (   R  R1   R  R  t	   next_nodeR   R:   R  R*  R   R*   R  R}  R  Rn   R  RD  RN   R,   R(  R?   R  R7   R>   R0  RB  (   RD   Rb  R:   Rt  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_topic5  sL    
!	!c         C   s   t  |  _ d | d k r8 |  j j r8 |  j j d  n  d | d k rX |  j |  n  d | d k sx d | d k r |  j   n  d  S(   NR?   RK  s   \end{abstract}
Ry  R>   (   R6  RD  RN   R,   R  R1   RC  R)  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_topicf  s    	c         C   s@   t  j |  j d <|  j j d d d d  |  j j d  d  S(   Nt
   transitions   
%R  iK   s   
s   \DUtransition
(   R  R  R7   R  R1   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_transitionq  s    c         C   s   d  S(   N(    (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_transitionv  s    c         C   s   |  j  | d  d  S(   Nt   version(   R6  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   visit_versiony  s    c         C   s   |  j  |  d  S(   N(   R8  (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   depart_version|  s    c         C   s   t  d | j j   d  S(   Ns$   visiting unimplemented node type: %s(   R  R_  Rd   (   RD   Rb  (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRV    s    N(   u   —R%   (   R  R  (   R  R  (   R%   R%   (   Rd   Re   R  R6  R  R.   R/   R  R  RD  R  R  R  R  R	  R  R  Ru   RA   R  R  R  R  R  t   compileR  R  R  Rn   R  R  Rm   R   R$  R&  R(  R)  R+  R,  R/  R1  R3  R4  R7  R9  R;  R<  R>  R?  R@  RA  RB  RC  RE  RF  RG  RH  RJ  RK  RL  RM  RO  RP  RQ  RS  RY  Rc  Rd  Re  Rc  Rf  Rh  Ri  Rj  Rk  Rm  Rn  Ro  Rp  Rr  Rs  Rt  Ru  Rv  Rw  Rx  Ry  Rz  R{  R|  R}  R~  R  R  R  R6  R8  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.  R0  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/  R0  R1  R6  R7  R8  R9  R:  R;  R<  R?  R@  RB  RC  RE  RF  RG  RH  RJ  RK  RL  RN  RO  RQ  RR  RS  RT  RU  RW  RZ  R[  R^  R_  Ra  Rb  Rc  Rd  Re  Rf  Rg  Rh  Ri  Rj  Rk  Ru  Rx  Rz  Rp  Rq  R  R}  R~  R  R  R  R  RV  (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyRB   s  s  
	"	)		X		
																																		
																																						A				9				3																									7												
			I																							
			"									

																										5		#	1					(A   R  t   __docformat__R  RQ   t   timeR  RU   R  R3  t   ImportErrort   docutils.utils.romanR   t   docutilsR   R   R   R   R   t   docutils.utils.error_reportingR   t   docutils.transformsR   t   docutils.utils.mathR	   R
   R   t   objectRu   R  R  R  R?   R:  R  R=   R>   R#  R  R  R  R  R  R  R  R  R  R  R  R)  R  RD  RI  R;   RX  R  R  RI  RN  R:   R  R  R!  R7  R  RB   (    (    (    s@   lib/python2.7/site-packages/docutils/writers/latex2e/__init__.pyt   <module>   sh   .																													