B
    ÿ‹d¶H ã               @   sR  d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlm Z  ddl!m"Z" ddl#m$Z$m%Z%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 yddl4m5Z5 W n" e6k
rJ   ddl7m5Z5 Y nX erjddl8m9Z9 ddl:m;Z; e( <e=¡Z>dZ?dddddddgZ@edd„ d d!d"d#d$d%œƒZAd&ZBd'ZCe Dd(¡ZEG d)d*„ d*ejFƒZGG d+d,„ d,e"ƒZHG d-d.„ d.ejIƒZJG d/d0„ d0ƒZKG d1d2„ d2ƒZLeMeMd3œd4d5„ZNd=eMeOeMd7œd8d9„ZPG d:d;„ d;e,ƒZQdd<lRmSZSmTZTmUZU dS )>z~Custom docutils writer for LaTeX.

Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
docutils sandbox.
é    N)Údefaultdict)Úpath)	ÚTYPE_CHECKINGÚAnyÚDictÚIterableÚListÚOptionalÚSetÚTupleÚcast)ÚnodesÚwriters)ÚElementÚNodeÚText)ÚaddnodesÚhighlighting)ÚRemovedInSphinx70Warning)Ú
IndexEntry)ÚStandardDomain)ÚSphinxError)Ú_Ú__Úadmonitionlabels)ÚloggingÚ
split_intoÚ	texescape)ÚSphinxTranslator)Úclean_astextÚget_prev_node)ÚLaTeXRenderer)Útex_replace_map)ÚtoRoman)ÚLaTeXBuilder)ÚThemeé   ÚpartÚchapterÚsectionZ
subsectionZsubsubsectionÚ	paragraphZsubparagraphc               C   s   dS )Nz\arabic© r+   r+   r+   úa/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/sphinx/writers/latex.pyÚ<lambda>,   ó    r-   z\arabicz\alphz\Alphz\romanz\Roman)ÚarabicZ
loweralphaZ
upperalphaZ
lowerromanZ
upperromanÚ
z

z^(.*\S)\s+\(([^()]*)\)\s*$c               @   s   e Zd ZdZdS )Úcollected_footnotez5Footnotes that are collected are assigned this class.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r+   r+   r+   r,   r1   :   s   r1   c               @   s   e Zd ZdZdS )ÚUnsupportedErrorzMarkup is unsupported in LaTeXN)r2   r3   r4   Úcategoryr+   r+   r+   r,   r6   >   s   r6   c                   s|   e Zd ZU dZddddgddifddgdd	ifd
dgddifffZi Zeed< dZdddœ‡ fdd„Z	ddœdd„Z
‡  ZS )ÚLaTeXWriter)ZsphinxlatexzLaTeX writer optionsÚ zDocument namez	--docnameÚdefaultzDocument classz
--docclassÚmanualÚAuthorz--authorÚsettings_defaultsNr$   )ÚbuilderÚreturnc                s   t ƒ  ¡  || _d | _d S )N)ÚsuperÚ__init__r>   Útheme)Úselfr>   )Ú	__class__r+   r,   rA   O   s    
zLaTeXWriter.__init__)r?   c             C   s6   | j  | j| j | j¡}| j |¡ tt|ƒ ¡ | _d S )N)	r>   Zcreate_translatorÚdocumentrB   Z	walkaboutr   ÚLaTeXTranslatorÚastextÚoutput)rC   Úvisitorr+   r+   r,   Ú	translateT   s    zLaTeXWriter.translate)r2   r3   r4   Ú	supportedZsettings_specr=   r   Ú__annotations__rH   rA   rJ   Ú__classcell__r+   r+   )rD   r,   r8   B   s   
r8   c               @   s|   e Zd ZdZeddœdd„Zedœdd„Zedœd	d
„Z	edœdd„Z
eeddœdd„Zdee ee ed dœdd„ZdS )ÚTablezA table dataN)Únoder?   c             C   s$  g | _ g | _| dd¡| _| dg ¡| _g | _d| jkrF| j d¡ n.d| jkr^| j d¡ nd| jkrt| j d¡ d| jkrŒ| j d¡ nd| jkr¢| j d¡ d	| _d | _d | _	d| jksÈd| jkrÐd
| _	nd| jkràd| _	g | _
d| _d| _d| _d | _g | _d	| _d	| _ttƒ| _d	| _d S )NÚalignr:   ÚclassesÚstandardÚ
borderlessÚbooktabsZnocolorrowsZ	colorrowsr   r9   ú|F)ÚheaderÚbodyÚgetrP   rQ   ÚstylesÚappendÚcolcountÚcolspecÚcolsepÚ	colwidthsÚhas_problematicÚhas_oldproblematicÚhas_verbatimÚcaptionÚstubsÚcolÚrowr   ÚintÚcellsÚcell_id)rC   rO   r+   r+   r,   rA   _   s@    






zTable.__init__)r?   c             C   s   | j dkpd| jkS )z5True if and only if table uses longtable environment.é   Ú	longtable)re   rQ   )rC   r+   r+   r,   Úis_longtable…   s    zTable.is_longtablec             C   sB   |   ¡ rdS | jrdS | jr dS | js6| jr:d| jkr:dS dS dS )z›Returns the LaTeX environment name for the table.

        The class currently supports:

        * longtable
        * tabular
        * tabulary
        rj   ZtabularÚtabularyzcolwidths-givenN)rk   ra   r\   r_   r^   rQ   )rC   r+   r+   r,   Úget_table_type‰   s    	zTable.get_table_typec                sà   | j r| j S | j}| jrXd| jkrXt| jƒ‰ ‡ fdd„| jD ƒ}d|| |¡|f t S | jrvd|| j| j|f t S |  	¡ dkr d| d| | j  d	 t S | j
r¾d|| j| j|f t S d| d
| | j  d	 t S dS )a  Returns a column spec of table.

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

        .. note::

           The ``\X`` and ``T`` column type specifiers are defined in
           ``sphinxlatextables.sty``.
        zcolwidths-givenc                s   g | ]}d |ˆ f ‘qS )z
\X{%d}{%d}r+   )Ú.0Úwidth)Útotalr+   r,   ú
<listcomp>­   s    z%Table.get_colspec.<locals>.<listcomp>z{%s%s%s}z{%s*{%d}{\X{1}{%d}%s}}rl   Ú{ÚTÚ}ÚlN)r\   r]   r^   rQ   ÚsumÚjoinÚCRr_   r[   rm   r`   )rC   Ú_colsepZcolspecsr+   )rp   r,   Úget_colspec   s     

zTable.get_colspec)Úheightro   r?   c             C   st   |  j d7  _ x`t|ƒD ]T}xNt|ƒD ]B}| j| j| | j| f dksLt‚| j | j| j| | j| f< q&W qW dS )zsAdds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
        é   r   N)rh   Úrangerg   re   rd   ÚAssertionError)rC   r{   ro   rd   re   r+   r+   r,   Úadd_cell»   s
    "zTable.add_cellÚ	TableCell)re   rd   r?   c             C   sB   y(|dkr| j }|dkr| j}t| ||ƒS  tk
r<   dS X dS )zöReturns a cell object (i.e. rectangular area) containing given position.

        If no option arguments: ``row`` or ``col`` are given, the current position;
        ``self.row`` and ``self.col`` are used to get a cell object by default.
        N)re   rd   r€   Ú
IndexError)rC   re   rd   r+   r+   r,   ÚcellÆ   s    z
Table.cell)NN)r2   r3   r4   r5   r   rA   Úboolrk   Ústrrm   rz   rf   r   r	   r‚   r+   r+   r+   r,   rN   \   s   &rN   c               @   sH   e Zd ZdZeeeddœdd„Zeedœdd„ƒZeedœd	d
„ƒZ	dS )r€   zData of a cell in a table.N)Útablere   rd   r?   c             C   sœ   |j ||f dkrt‚|| _|j ||f | _|| _|| _x.|j | jd | jf | jkrf|  jd8  _q:W x.|j | j| jd f | jkr–|  jd8  _qjW d S )Nr   r|   )rg   r   r…   rh   re   rd   )rC   r…   re   rd   r+   r+   r,   rA   Û   s    zTableCell.__init__)r?   c             C   s4   d}x*| j j| j| j| f | jkr.|d7 }qW |S )zReturns the cell width.r   r|   )r…   rg   re   rd   rh   )rC   ro   r+   r+   r,   ro   ê   s     zTableCell.widthc             C   s4   d}x*| j j| j| | jf | jkr.|d7 }qW |S )zReturns the cell height.r   r|   )r…   rg   re   rd   rh   )rC   r{   r+   r+   r,   r{   ò   s     zTableCell.height)
r2   r3   r4   r5   rN   rf   rA   Úpropertyro   r{   r+   r+   r+   r,   r€   Ø   s   r€   )Útextr?   c             C   s   t  dd| ¡S )z#Adjust spacing after abbreviations.z
\.(?=\s|$)z.\@)ÚreÚsub)r‡   r+   r+   r,   Úescape_abbrû   s    rŠ   éd   )Ú	width_strÚscaler?   c             C   sÔ   t  d| ¡}|st‚| }| ¡ dd… \}}|dkrzt|ƒ |dkrNd| }qÐ|dkr`d| }qÐ|d	krÐd
t|ƒd  }nVt|ƒ| d }|dkrœd| }n4|dkr®d| }n"|d	krÄd|d  }nd||f }|S )z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$Né   r‹   )r9   Zpxz%s\sphinxpxdimenÚptz%sbpú%z%.3f\linewidthg      Y@z%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz%.5f%s)rˆ   ÚmatchÚ
ValueErrorÚgroupsÚfloat)rŒ   r   r‘   ÚresÚamountÚunitZamount_floatr+   r+   r,   Úrstdim_to_latexdim   s,    



r˜   c                   sŒ  e Zd ZU ded< dZdZejddddœ‡ fdd	„Ze	e
 dd
œdd„Ze	e
 dœdd„Ze
dœdd„ZdÕe
eee
dœdd„ZdÖeee
dœdd„Ze
e
dœdd„Ze
e
dœdd„Ze
e
dœdd „Ze
e
dœd!d"„Ze
e
e
d#œd$d%„Ze
dœd&d'„Ze
ee
d(œd)d*„Zeee dœd+d,„ƒZedd-œd.d/„Zedd-œd0d1„Zedd-œd2d3„Z edd-œd4d5„Z!edd-œd6d7„Z"edd-œd8d9„Z#edd-œd:d;„Z$edd-œd<d=„Z%edd-œd>d?„Z&edd-œd@dA„Z'e&Z(e'Z)edd-œdBdC„Z*edd-œdDdE„Z+edd-œdFdG„Z,edd-œdHdI„Z-edd-œdJdK„Z.edd-œdLdM„Z/edd-œdNdO„Z0edd-œdPdQ„Z1edd-œdRdS„Z2edd-œdTdU„Z3edd-œdVdW„Z4edd-œdXdY„Z5edd-œdZd[„Z6edd-œd\d]„Z7edd-œd^d_„Z8edd-œd`da„Z9edd-œdbdc„Z:edd-œddde„Z;edd-œdfdg„Z<edd-œdhdi„Z=edd-œdjdk„Z>edd-œdldm„Z?edd-œdndo„Z@edd-œdpdq„ZAedd-œdrds„ZBedd-œdtdu„ZCedd-œdvdw„ZDedd-œdxdy„ZEedd-œdzd{„ZFedd-œd|d}„ZGedd-œd~d„ZHedd-œd€d„ZIedd-œd‚dƒ„ZJedd-œd„d…„ZKedd-œd†d‡„ZLedd-œdˆd‰„ZMedd-œdŠd‹„ZNedd-œdŒd„ZOedd-œdŽd„ZPedd-œdd‘„ZQedd-œd’d“„ZRedd-œd”d•„ZSedd-œd–d—„ZTedd-œd˜d™„ZUedd-œdšd›„ZVedd-œdœd„ZWedd-œdždŸ„ZXedd-œd d¡„ZYedd-œd¢d£„ZZedd-œd¤d¥„Z[edd-œd¦d§„Z\edd-œd¨d©„Z]edd-œdªd«„Z^edd-œd¬d­„Z_edd-œd®d¯„Z`edd-œd°d±„Zaedd-œd²d³„Zbedd-œd´dµ„Zcedd-œd¶d·„Zdedd-œd¸d¹„Zeedd-œdºd»„Zfedd-œd¼d½„Zgedd-œd¾d¿„Zhedd-œdÀdÁ„Ziedd-œdÂdÃ„Zjedd-œdÄdÅ„Zkedd-œdÆdÇ„Zledd-œdÈdÉ„Zmedd-œdÊdË„Znedd-œdÌdÍ„Zoedd-œdÎdÏ„Zpedd-œdÐdÑ„Zqedd-œdÒdÓ„Zredd-œdÔdÕ„Zsedd-œdÖd×„Ztedd-œdØdÙ„Zuedd-œdÚdÛ„Zvedd-œdÜdÝ„Zwedd-œdÞdß„Zxedd-œdàdá„Zyedd-œdâdã„Zzedd-œdädå„Z{edd-œdædç„Z|esZ}etZ~ewZexZ€edd-œdèdé„Zedd-œdêdë„Z‚edd-œdìdí„Zƒedd-œdîdï„Z„edd-œdðdñ„Z…edd-œdòdó„Z†edd-œdôdõ„Z‡edd-œdöd÷„Zˆd×e
e‰ee
 dùœdúdû„ZŠeed-œdüdý„Z‹edd-œdþdÿ„ZŒedd-œd d„Zedd-œdd„ZŽedd-œdd„Zedd-œdd„Zedd-œdd	„Z‘edd-œd
d„Z’edd-œdd„Z“edd-œdd„Z”edd-œdd„Z•edd-œdd„Z–edd-œdd„Z—e–Z˜e—Z™e–Zše—Z›e–Zœe—Ze–Zže—ZŸe–Z e—Z¡e–Z¢e—Z£e–Z¤e—Z¥e–Z¦e—Z§e–Z¨e—Z©edd-œdd„Zªedd-œdd„Z«edd-œdd„Z¬edd-œdd„Z­edd-œdd„Z®edd-œd d!„Z¯edd-œd"d#„Z°edd-œd$d%„Z±edd-œd&d'„Z²edd-œd(d)„Z³edd-œd*d+„Z´edd-œd,d-„Zµedd-œd.d/„Z¶edd-œd0d1„Z·edd-œd2d3„Z¸edd-œd4d5„Z¹edd-œd6d7„Zºedd-œd8d9„Z»edd-œd:d;„Z¼edd-œd<d=„Z½edd-œd>d?„Z¾edd-œd@dA„Z¿edd-œdBdC„ZÀedd-œdDdE„ZÁedd-œdFdG„ZÂedd-œdHdI„ZÃedd-œdJdK„ZÄedd-œdLdM„ZÅedd-œdNdO„ZÆedd-œdPdQ„ZÇedd-œdRdS„ZÈedd-œdTdU„ZÉedd-œdVdW„ZÊedd-œdXdY„ZËedd-œdZd[„ZÌedd-œd\d]„ZÍedd-œd^d_„ZÎedd-œd`da„ZÏedd-œdbdc„ZÐedd-œddde„ZÑedd-œdfdg„ZÒedd-œdhdi„ZÓedd-œdjdk„ZÔedd-œdldm„ZÕedd-œdndo„ZÖedd-œdpdq„Z×eÖZØe×ZÙedd-œdrds„ZÚedd-œdtdu„ZÛedd-œdvdw„ZÜedd-œdxdy„ZÝedd-œdzd{„ZÞedd-œd|d}„Zßedd-œd~d„Zàedd-œd€d„Záedd-œd‚dƒ„Zâedd-œd„d…„Zãedd-œd†d‡„Zäedd-œdˆd‰„Zåedd-œdŠd‹„Zæedd-œdŒd„Zçedd-œdŽd„Zèedd-œdd‘„Zéedd-œd’d“„Zêedd-œd”d•„Zëedd-œd–d—„Zìedd-œd˜d™„Zíedd-œdšd›„Zîedd-œdœd„Zïedd-œdždŸ„Zðedd-œd d¡„Zñedd-œd¢d£„Zòedd-œd¤d¥„Zóedd-œd¦d§„Zôedd-œd¨d©„Zõedd-œdªd«„Zöedd-œd¬d­„Z÷edd-œd®d¯„Zøedd-œd°d±„Zùedd-œd²d³„Zúedd-œd´dµ„Zûedd-œd¶d·„Züedd-œd¸d¹„Zýe
e
dºœd»d¼„Zþe
e
dºœd½d¾„Zÿe dd-œd¿dÀ„Ze dd-œdÁdÂ„Zedd-œdÃdÄ„Zedd-œdÅdÆ„Zedd-œdÇdÈ„Zedd-œdÉdÊ„Zedd-œdËdÌ„Zedd-œdÍdÎ„Zedd-œdÏdÐ„Z	edd-œdÑdÒ„Z
eee
e
f dœdÓdÔ„ƒZ‡  ZS (Ø  rF   r$   r>   rŽ   Fr%   N)rE   r>   rB   r?   c                sò  t ƒ  ||¡ g | _|| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d| _d| _d| _d| _d| _d| _g }| jj ¡ | _td d … | _| jjdkr¬| j d¡ d| _| jjry| j | jj¡| _W n4 tk
r   t  !t"dƒ| jj| jj#f ¡ Y nX | jj$r | jj%| _%| j%dkr–t&| jƒt&tƒk rZ| jdkrZ|  j%| j7  _%n|  j%| jd 7  _%t'| j%t&tƒd ƒ| _%| (d| j% ¡ n
| (d¡ | jj$r¾| jj)r¾| (d	¡ | jj*d
krôd| jj+krôdt, d t, d | jd< | jj-| _-| j- .¡ st  !t"dƒ| jj*¡ | j/}| j0 1d¡r¶| j0 1dd¡| j d }t&| jƒt&tƒk rr| jdkrr|d7 }|t&tƒd kržt  !t"dƒ¡ t&tƒd }d| | jd< t2||ƒ}| jj$rÞ| jj%dkrÞt2|| j%d ƒ}|| j/krød| | jd< | 1d¡}|r|  3d|¡| jd< | jd r:| (d| jd  ¡ |rTdd 4|¡ | jd< | jd rtd| jd  | jd< | jd  rœ| jd!  d| jd   7  < t5j6d"| jj7| jj8d#| _9g | _g | _:g | _;d | _<g | _=d | _>g | _?g | _@tAƒ | _Bd S )$Nr   r|   Fr)   r(   z+unknown %r toplevel_sectioning for class %rznumfigreset=%sZnonumfigresetZ
mathnumfig>   ÚenÚjaZfncychapz\usepackage[Sonny]{fncychap}z&\ChNameVar{\Large\normalfont\sffamily}z'\ChTitleVar{\Large\normalfont\sffamily}z%no Babel option known for language %rÚtocdepthiç  rŽ   ztoo large :maxdepth:, ignored.z\setcounter{tocdepth}{%d}z\setcounter{secnumdepth}{%d}ÚsecnumdepthÚcontentsnamez\contentsnameZmaxlistdepthzmaxlistdepth=%sz[,%s]ú,ÚsphinxpkgoptionsZsphinxsetupz\sphinxsetup{%s}ZextraclassoptionsZclassoptionsÚlatex)Úlatex_engine)Cr@   rA   rW   rB   Úin_titleÚin_production_listÚin_footnoteÚ
in_captionÚin_termÚneeds_linetrimmingÚin_minipageÚno_latex_floatsÚfirst_documentÚthis_is_the_titleÚliteral_whitespaceÚin_parsed_literalÚcompact_listÚfirst_paramÚin_desc_signaturer>   ÚcontextÚcopyÚelementsÚLATEXSECTIONNAMESÚsectionnamesZtoplevel_sectioningÚremoveÚtop_sectionlevelÚconfigZlatex_toplevel_sectioningÚindexr’   ÚloggerÚwarningr   ZdocclassZnumfigZnumfig_secnum_depthÚlenÚminrZ   Zmath_numfigÚlanguageZlatex_elementsrx   ÚbabelZis_supported_languagerœ   rE   rX   ÚmaxÚbabel_renewcommandrw   r   ZPygmentsBridgeÚpygments_styler¡   ÚhighlighterZ	descstackÚtablesÚnext_table_colspecÚ	bodystackZfootnote_restrictedZpending_footnotesÚcurfilestackÚsetÚhandled_abbrs)rC   rE   r>   rB   rŸ   Zminsecnumdepthr›   r   )rD   r+   r,   rA   #  s¶    










zLaTeXTranslator.__init__)Únewbodyr?   c             C   s   | j  | j¡ || _d S )N)rÆ   rZ   rW   )rC   rÊ   r+   r+   r,   Úpushbody¦  s    zLaTeXTranslator.pushbody)r?   c             C   s   | j }| j ¡ | _ |S )N)rW   rÆ   Úpop)rC   rW   r+   r+   r,   Úpopbodyª  s    zLaTeXTranslator.popbodyc             C   s,   | j  d | j¡|  ¡ dœ¡ |  d| j ¡S )Nr9   )rW   Úindiceszlatex.tex_t)r³   Úupdaterw   rW   Úgenerate_indicesÚrender)rC   r+   r+   r,   rG   ¯  s    
zLaTeXTranslator.astextT)ÚidÚwithdocÚanchorr?   c             C   s0   |r| j d d | }|rdndd|  |¡  S )Néÿÿÿÿú:z\phantomsectionr9   z
\label{%s})rÇ   Úidescape)rC   rÒ   rÓ   rÔ   r+   r+   r,   Úhypertarget¶  s    zLaTeXTranslator.hypertarget)rO   rÔ   r?   c                s0   d  ‡ fdd„|d D ƒ¡}|r(d| S |S d S )Nr9   c             3   s   | ]}ˆ j |d dV  qdS )F)rÔ   N)rØ   )rn   Únode_id)rC   r+   r,   ú	<genexpr>¼  s    z1LaTeXTranslator.hypertarget_to.<locals>.<genexpr>Úidsz\phantomsection)rw   )rC   rO   rÔ   Úlabelsr+   )rC   r,   Úhypertarget_to»  s    zLaTeXTranslator.hypertarget_to)rÒ   r?   c             C   s   d|   |¡ S )Nz{\hyperref[%s]{)r×   )rC   rÒ   r+   r+   r,   Ú	hyperlinkÂ  s    zLaTeXTranslator.hyperlinkc             C   s   d|   |¡ S )Nz\autopageref*{%s})r×   )rC   rÒ   r+   r+   r,   ÚhyperpagerefÅ  s    zLaTeXTranslator.hyperpageref)Úsr?   c             C   s   t  || jj¡S )N)r   Úescaper¸   r¡   )rC   rà   r+   r+   r,   rá   È  s    zLaTeXTranslator.escapec             C   s(   dt |ƒ t¡ dd¡ d¡ dd¡ S )Nz\detokenize{%s}ÚasciiÚbackslashreplaceú\r   )r„   rJ   r"   ÚencodeÚdecodeÚreplace)rC   rÒ   r+   r+   r,   r×   Ë  s    zLaTeXTranslator.idescape)ÚcommandÚ
definitionr?   c             C   s:   | j d rd| j ¡  }d}nd}d}d||||f t S )NZmultilingualz\addto\captions%s{rt   r9   z%s\renewcommand{%s}{%s}%s)r³   r¿   Zget_languagerx   )rC   rè   ré   ÚprefixÚsuffixr+   r+   r,   rÁ   Ð  s    
z"LaTeXTranslator.babel_renewcommandc                sÈ   t ttt t f  td dœ‡ ‡fdd„}g ‰ ˆjj}|r¾x„ˆjjj	 
¡ D ]r}xl|jD ]b}d|j|jf }t|tƒr|||kr|qT||ƒ ˆjj¡\}}|s˜qTˆ  d|j t ¡ |||ƒ qTW qHW d ˆ ¡S )N)ÚcontentÚ	collapsedr?   c          
      sê   ˆ   dt ¡ ˆ   dt ¡ xºt| ƒD ]®\}\}}|dkrHˆ   dt ¡ ˆ   dˆ |¡ t ¡ xr|D ]j}|d stqfˆ   dˆ |d ¡ ¡ |d r¬ˆ   d	ˆ |d ¡ ¡ ˆ   d
|d ˆ |d ¡f t ¡ qfW q&W ˆ   dt ¡ d S )Nz\begin{sphinxtheindex}z*\let\bigletter\sphinxstyleindexlettergroupr   z\indexspacez\bigletter{%s}é   z%\item\relax\sphinxstyleindexentry{%s}é   z\sphinxstyleindexextra{%s}z\sphinxstyleindexpageref{%s:%s}rŽ   z\end{sphinxtheindex})rZ   rx   Ú	enumeraterá   rå   r×   )rì   rí   ÚiÚletterÚentriesÚentry)ÚretrC   r+   r,   ÚgenerateÛ  s     
&z2LaTeXTranslator.generate_indices.<locals>.generatez%s-%sz\renewcommand{\indexname}{%s}r9   )r   r   r„   r   rƒ   r¸   Zlatex_domain_indicesr>   ÚenvÚdomainsÚvaluesrÎ   ÚnameÚ
isinstanceÚliströ   ZdocnamesrZ   Ú	localnamerx   rw   )rC   rö   Zindices_configÚdomainZindexclsZ	indexnamerì   rí   r+   )rõ   rC   r,   rÐ   Ú  s"    (
z LaTeXTranslator.generate_indices)Útemplate_nameÚ	variablesr?   c             C   sT   t | jjd}x8| jjD ],}t | jj||¡}t |¡r| 	||¡S qW | 	||¡S )N)r¡   )
r!   r¸   r¡   Ztemplates_pathr   rw   r>   ZconfdirÚexistsrÑ   )rC   rÿ   r   ÚrendererZtemplate_dirÚtemplater+   r+   r,   rÑ     s    
zLaTeXTranslator.renderc             C   s   | j r| j d S dS dS )zGet current table.rÕ   N)rÄ   )rC   r+   r+   r,   r…     s    
zLaTeXTranslator.table)rO   r?   c             C   st   | j  | dd¡¡ | jdkr&d| _n$| jdkrJ| j td t ¡ d| _d|krd| j |  d¡¡ | jd | _d S )NÚdocnamer9   r|   r   z	\appendixrÕ   z:doc)	rÇ   rZ   rX   rª   rW   rx   rØ   r·   Úsectionlevel)rC   rO   r+   r+   r,   Úvisit_document  s    

zLaTeXTranslator.visit_documentc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_document!  s    zLaTeXTranslator.depart_documentc             C   s(   | j  |d ¡ | j td t ¡ d S )Nr  z\sphinxstepscope)rÇ   rZ   rW   rx   )rC   rO   r+   r+   r,   Úvisit_start_of_file$  s    z#LaTeXTranslator.visit_start_of_filec             C   s   | j  ¡  d S )N)rÇ   rÌ   )rC   rO   r+   r+   r,   Údepart_start_of_file(  s    z$LaTeXTranslator.depart_start_of_filec             C   s$   | j s|  jd7  _| j t¡ d S )Nr|   )r«   r  rW   rZ   Ú	BLANKLINE)rC   rO   r+   r+   r,   Úvisit_section+  s    zLaTeXTranslator.visit_sectionc             C   s   t | jd | jd ƒ| _d S )Nr|   )rÀ   r  r·   )rC   rO   r+   r+   r,   Údepart_section0  s    
zLaTeXTranslator.depart_sectionc             C   s   | j  d¡ d S )Nz{\color{red}\bfseries{})rW   rZ   )rC   rO   r+   r+   r,   Úvisit_problematic4  s    z!LaTeXTranslator.visit_problematicc             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Údepart_problematic7  s    z"LaTeXTranslator.depart_problematicc             C   s   d| _ | j td t ¡ d S )Nr|   z\begin{sphinxShadowBox})r¨   rW   rZ   rx   )rC   rO   r+   r+   r,   Úvisit_topic:  s    zLaTeXTranslator.visit_topicc             C   s   d| _ | j dt ¡ d S )Nr   z\end{sphinxShadowBox})r¨   rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_topic>  s    zLaTeXTranslator.depart_topicc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_glossaryD  s    zLaTeXTranslator.visit_glossaryc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_glossaryG  s    zLaTeXTranslator.depart_glossaryc             C   s&   | j  t¡ | j  dt ¡ d| _d S )Nz\begin{productionlist}r|   )rW   rZ   r
  rx   r£   )rC   rO   r+   r+   r,   Úvisit_productionlistJ  s    z$LaTeXTranslator.visit_productionlistc             C   s   | j  dt ¡ d| _d S )Nz\end{productionlist}r   )rW   rZ   r
  r£   )rC   rO   r+   r+   r,   Údepart_productionlistO  s    z%LaTeXTranslator.depart_productionlistc             C   sN   |d r>|d }| j  |  d| ¡¡ | j  d|  |¡ ¡ n| j  d¡ d S )NZ	tokennamezgrammar-token-z\production{%s}{z\productioncont{)rW   rZ   rØ   rå   )rC   rO   Útnr+   r+   r,   Úvisit_productionS  s
    z LaTeXTranslator.visit_productionc             C   s   | j  dt ¡ d S )Nrt   )rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_production[  s    z!LaTeXTranslator.depart_productionc             C   s   | j  | jd ¡ d S )NZ
transition)rW   rZ   r³   )rC   rO   r+   r+   r,   Úvisit_transition^  s    z LaTeXTranslator.visit_transitionc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_transitiona  s    z!LaTeXTranslator.depart_transitionc             C   s  |j }t|tjƒrtj‚nÞt|tjƒr.| jrŽt|j	ƒdkrbt|j	d tj
ƒsbtjtdƒ|d | jd s€|  | ¡ ¡| jd< d| _tj‚nžd}t| tj¡ƒr¾d|  d t|ƒ ¡ ¡¡ }y | j d	| j| j |f ¡ W n0 tk
r   | j d	| jd
 |f ¡ Y nX | j dt |  |j ¡ ¡ nÌt|tjƒrZ| j d¡ | j dt ¡ n t|tj ƒr†| j d¡ | j dt ¡ ntt|tj!ƒr²| j d¡ | j dt ¡ nHt|tj"ƒrÌ|  #g ¡ n.tjtdƒ|d | j d¡ | j dt ¡ d| _$d S )Nr|   r   z(document title is not a single Text node)ÚlocationÚtitler9   z[%s]ú z\%s%s{rÕ   rt   z\sphinxstyletopictitle{z\sphinxstylesidebartitle{rr   zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)%Úparentrû   r   Úseealsor   ÚSkipNoder)   r«   r¼   Úchildrenr   rº   r»   r   r³   rá   rG   ÚanyÚfindallÚimagerw   r   ÚsplitrW   rZ   rµ   r  r   r±   rx   rÝ   ZtopicÚsidebarZ
Admonitionr…   rË   r¢   )rC   rO   r  Úshortr+   r+   r,   Úvisit_titled  sJ    


  
zLaTeXTranslator.visit_titlec             C   s8   d| _ t|jtjƒr"|  ¡ | j_n| j | j	 
¡ ¡ d S )Nr   )r¢   rû   r  r   r…   rÍ   rb   rW   rZ   r±   rÌ   )rC   rO   r+   r+   r,   Údepart_title”  s    zLaTeXTranslator.depart_titlec             C   s<   t |jtjƒr,| j d¡ | j dt ¡ n| j d¡ d S )Nz\sphinxstylesidebarsubtitle{rt   r9   )rû   r  r   r%  rW   rZ   r±   rx   )rC   rO   r+   r+   r,   Úvisit_subtitle›  s    zLaTeXTranslator.visit_subtitlec             C   s   | j  | j ¡ ¡ d S )N)rW   rZ   r±   rÌ   )rC   rO   r+   r+   r,   Údepart_subtitle¢  s    zLaTeXTranslator.depart_subtitlec             C   sX   | j jdkr*| j t¡ | j dt ¡ n| j t¡ | j dt ¡ | jrTd| j_d S )NÚfootnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems}T)r¸   Úlatex_show_urlsrW   rZ   r
  rx   r…   r_   )rC   rO   r+   r+   r,   Ú
visit_desc¬  s    zLaTeXTranslator.visit_descc             C   sV   | j r| j td ¡ d| _ | jjdkr>| j td t ¡ n| j td t ¡ d S )Nz\pysigstopsignaturesFr+  z"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})r°   rW   rZ   rx   r¸   r,  r
  )rC   rO   r+   r+   r,   Údepart_desc¶  s    zLaTeXTranslator.depart_descc             C   s@   x:|D ]"}t |tjƒr| j td ¡ P qW | j td ¡ d S )Nz\pysiglinewithargsret{z\pysigline{)rû   r   Zdesc_parameterlistrW   rZ   rx   )rC   rO   Úchildr+   r+   r,   Ú_visit_signature_line¿  s
    
z%LaTeXTranslator._visit_signature_linec             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Ú_depart_signature_lineÇ  s    z&LaTeXTranslator._depart_signature_linec             C   sŒ   d}|j d dkr:|d r:x|d D ]}||  |¡7 }q$W | j |¡ | jsbd| _| j td ¡ | d¡sx|  |¡ n| j td ¡ d S )	Nr9   ÚobjtypeZdescriberÛ   Tz\pysigstartsignaturesÚis_multilinez\pysigstartmultiline)r  rØ   rW   rZ   r°   rx   rX   r0  )rC   rO   ZhyperrÒ   r+   r+   r,   Úvisit_desc_signatureÊ  s    
z$LaTeXTranslator.visit_desc_signaturec             C   s*   |  d¡s|  |¡ n| j td ¡ d S )Nr3  z\pysigstopmultiline)rX   r1  rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_desc_signatureØ  s    
z%LaTeXTranslator.depart_desc_signaturec             C   s   |   |¡ d S )N)r0  )rC   rO   r+   r+   r,   Úvisit_desc_signature_lineÞ  s    z)LaTeXTranslator.visit_desc_signature_linec             C   s   |   |¡ d S )N)r1  )rC   rO   r+   r+   r,   Údepart_desc_signature_lineá  s    z*LaTeXTranslator.depart_desc_signature_linec             C   s$   | j s
t‚| j td ¡ d| _ d S )Nz\pysigstopsignaturesF)r°   r~   rW   rZ   rx   )rC   rO   r+   r+   r,   Úvisit_desc_contentä  s    
z"LaTeXTranslator.visit_desc_contentc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_desc_contenté  s    z#LaTeXTranslator.depart_desc_contentc             C   s   | j  d¡ d S )Nz\sphinxcode{\sphinxupquote{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_desc_inlineì  s    z!LaTeXTranslator.visit_desc_inlinec             C   s   | j  d¡ d S )Nz}})rW   rZ   )rC   rO   r+   r+   r,   Údepart_desc_inlineï  s    z"LaTeXTranslator.depart_desc_inlinec             C   s   | j  d¡ |  jd7  _d S )Nz\sphinxbfcode{\sphinxupquote{r|   )rW   rZ   r¬   )rC   rO   r+   r+   r,   Úvisit_desc_nameõ  s    zLaTeXTranslator.visit_desc_namec             C   s   | j  d¡ |  jd8  _d S )Nz}}r|   )rW   rZ   r¬   )rC   rO   r+   r+   r,   Údepart_desc_nameù  s    z LaTeXTranslator.depart_desc_namec             C   s   | j  d¡ |  jd7  _d S )Nz\sphinxcode{\sphinxupquote{r|   )rW   rZ   r¬   )rC   rO   r+   r+   r,   Úvisit_desc_addnameý  s    z"LaTeXTranslator.visit_desc_addnamec             C   s   | j  d¡ |  jd8  _d S )Nz}}r|   )rW   rZ   r¬   )rC   rO   r+   r+   r,   Údepart_desc_addname  s    z#LaTeXTranslator.depart_desc_addnamec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_desc_type  s    zLaTeXTranslator.visit_desc_typec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_desc_type  s    z LaTeXTranslator.depart_desc_typec             C   s   | j  d¡ d S )Nz{ $\rightarrow$ )rW   rZ   )rC   rO   r+   r+   r,   Úvisit_desc_returns  s    z"LaTeXTranslator.visit_desc_returnsc             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Údepart_desc_returns  s    z#LaTeXTranslator.depart_desc_returnsc             C   s   | j  d¡ d| _d S )Nz}{r|   )rW   rZ   r¯   )rC   rO   r+   r+   r,   Úvisit_desc_parameterlist  s    z(LaTeXTranslator.visit_desc_parameterlistc             C   s   | j  d¡ d S )Nz}{)rW   rZ   )rC   rO   r+   r+   r,   Údepart_desc_parameterlist  s    z)LaTeXTranslator.depart_desc_parameterlistc             C   s4   | j s| j d¡ nd| _ | d¡s0| j d¡ d S )Nz, r   Únoemphz\emph{)r¯   rW   rZ   Úhasattr)rC   rO   r+   r+   r,   Úvisit_desc_parameter  s
    
z$LaTeXTranslator.visit_desc_parameterc             C   s   |  d¡s| j d¡ d S )NrF  rt   )rG  rW   rZ   )rC   rO   r+   r+   r,   Údepart_desc_parameter"  s    
z%LaTeXTranslator.depart_desc_parameterc             C   s   | j  d¡ d S )Nz\sphinxoptional{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_desc_optional&  s    z#LaTeXTranslator.visit_desc_optionalc             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Údepart_desc_optional)  s    z$LaTeXTranslator.depart_desc_optionalc             C   s   | j  d¡ d S )Nz\sphinxbfcode{\sphinxupquote{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_desc_annotation,  s    z%LaTeXTranslator.visit_desc_annotationc             C   s   | j  d¡ d S )Nz}})rW   rZ   )rC   rO   r+   r+   r,   Údepart_desc_annotation/  s    z&LaTeXTranslator.depart_desc_annotationc             C   s8   | j  t¡ | j  dtd  t ¡ | j  dt ¡ d S )Nz\sphinxstrong{%s:}r  z\nopagebreak)rW   rZ   r
  r   rx   )rC   rO   r+   r+   r,   Úvisit_seealso4  s    zLaTeXTranslator.visit_seealsoc             C   s   | j  t¡ d S )N)rW   rZ   r
  )rC   rO   r+   r+   r,   Údepart_seealso9  s    zLaTeXTranslator.depart_seealsoc             C   sL   t |ƒdkr&| ¡ dtdƒfkr&tj‚| j d¡ | j dt ¡ d| _	d S )Nr|   Z	Footnotesz\subsubsection*{rt   )
r¼   rG   r   r   r  rW   rZ   r±   rx   r¢   )rC   rO   r+   r+   r,   Úvisit_rubric<  s
     zLaTeXTranslator.visit_rubricc             C   s   d| _ | j | j ¡ ¡ d S )Nr   )r¢   rW   rZ   r±   rÌ   )rC   rO   r+   r+   r,   Údepart_rubricC  s    zLaTeXTranslator.depart_rubricc             C   sz   |  j d7  _ ttj|d ƒ}| jr:| j d| ¡  ¡ n$| j dt ¡ | j d| ¡  ¡ d|krf| j dt ¡ d S )Nr|   r   z\begin{footnote}[%s]r   Zreferredz\sphinxAtStartFootnote)	r¤   r   r   Úlabelr­   rW   rZ   rG   rx   )rC   rO   rR  r+   r+   r,   Úvisit_footnoteG  s    zLaTeXTranslator.visit_footnotec             C   sB   | j r| j d¡ n| j dt ¡ | j d¡ |  jd8  _d S )Nz\end{footnote}r   r|   )r­   rW   rZ   rx   r¤   )rC   rO   r+   r+   r,   Údepart_footnoteT  s
    zLaTeXTranslator.depart_footnotec             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Úvisit_label\  s    zLaTeXTranslator.visit_labelc             C   s   |d | _ tj‚d S )NÚspec)rÅ   r   r  )rC   rO   r+   r+   r,   Úvisit_tabular_col_spec_  s    
z&LaTeXTranslator.visit_tabular_col_specc             C   s4  t | jƒdkrD| j ¡ dkr:td| jd |jp0df ƒ‚qnd| j_n*t | jƒdkrntd| jd |jpfdf ƒ‚| j t	|ƒ¡ | jj
d kr²d	| jjjks¦d
| jjjkrªdnd| j_
| jr*d| j t | j_d| jjkrð| jj d¡ d| j_
n| jj d¡ d| j_
d| dg ¡kr*tjtdƒ|d d | _d S )Nr|   rj   z2%s:%s: longtable does not support nesting a table.rÕ   r9   TrŽ   z0%s:%s: deeply nested tables are not implemented.rT   rS   rU   z{%s}ZvlinesZnovlineszcolwidths-givenrQ   zGboth tabularcolumns and :widths: option are given. :widths: is ignored.)r  )r¼   rÄ   r…   rm   r6   rÇ   Úliner_   rZ   rN   r]   r>   r¸   Zlatex_table_stylerÅ   rx   r\   rY   rX   rº   Úinfor   )rC   rO   r+   r+   r,   Úvisit_tablec  s4    


zLaTeXTranslator.visit_tablec             C   s^   |   |¡}| j ¡ }|  |d | j|dœ¡}| j t¡ | j |¡ | j t¡ | j 	¡  d S )Nz.tex_t)r…   rÜ   )
rÝ   r…   rm   rÑ   rW   rZ   r
  rx   rÄ   rÌ   )rC   rO   rÜ   Z
table_typer…   r+   r+   r,   Údepart_table…  s    


zLaTeXTranslator.depart_tablec             C   sL   | j  jd7  _d|kr*| j j |d ¡ d|krH| j j | j jd ¡ d S )Nr|   ÚcolwidthZstub)r…   r[   r^   rZ   rc   )rC   rO   r+   r+   r,   Úvisit_colspec  s
    zLaTeXTranslator.visit_colspecc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_colspec—  s    zLaTeXTranslator.depart_colspecc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_tgroupš  s    zLaTeXTranslator.visit_tgroupc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_tgroup  s    zLaTeXTranslator.depart_tgroupc             C   s   |   | jj¡ d S )N)rË   r…   rV   )rC   rO   r+   r+   r,   Úvisit_thead   s    zLaTeXTranslator.visit_theadc             C   s*   | j r| j d dkr| j  ¡  |  ¡  d S )NrÕ   z\sphinxhline)rW   rÌ   rÍ   )rC   rO   r+   r+   r,   Údepart_thead¤  s    
zLaTeXTranslator.depart_theadc             C   s   |   | jj¡ d S )N)rË   r…   rW   )rC   rO   r+   r+   r,   Úvisit_tbody©  s    zLaTeXTranslator.visit_tbodyc             C   s*   | j r| j d dkr| j  ¡  |  ¡  d S )NrÕ   z\sphinxhline)rW   rÌ   rÍ   )rC   rO   r+   r+   r,   Údepart_tbody­  s    
zLaTeXTranslator.depart_tbodyc             C   sš   d| j _| j j}x„| j  | j j| j j¡}|d kr4P q| j  j|j7  _|jrX| j d¡ |jdkrv| j d|j ¡ q| j d|j|||jf ¡ qW d S )Nr   ú&r|   z\sphinxtablestrut{%d}z.\multicolumn{%d}{%sl%s}{\sphinxtablestrut{%d}})	r…   rd   r]   r‚   re   ro   rW   rZ   rh   )rC   rO   ry   r‚   r+   r+   r,   Ú	visit_row²  s    
zLaTeXTranslator.visit_rowc                s’  ˆ j  dt ¡ ‡ fdd„tˆ jjƒD ƒ}‡ fdd„|D ƒ}t|ƒrTˆ j  d¡ n*d}| dg¡ |d dkrÂd}xL|ˆ jjk rÀ|| dkrÀ||d  j|| jkr¶ˆ j  d	| ¡ |d7 }qvW x¦|ˆ jjk rh||d …  	d¡}ˆ j  d
|d || f ¡ ||7 }|d7 }xT|ˆ jjk rd|| dkrd||d  j|| jkrXˆ j  d	| ¡ |d7 }qW qÄW ˆ j  dˆ jj ¡ ˆ j j
d7  _
d S )Nz\\c                s   g | ]}ˆ j  ˆ j j|¡‘qS r+   )r…   r‚   re   )rn   rñ   )rC   r+   r,   rq   Ç  s    z.LaTeXTranslator.depart_row.<locals>.<listcomp>c                s$   g | ]}|j |j ˆ jj d  k‘qS )r|   )re   r{   r…   )rn   r‚   )rC   r+   r,   rq   È  s    z\sphinxhliner   Fr|   z\sphinxvlinecrossing{%d}z\sphinxcline{%d-%d}z\sphinxfixclines{%d})rW   rZ   rx   r}   r…   r[   ÚallÚextendrh   r¹   re   )rC   rO   rg   Z
underlinedrñ   Újr+   )rC   r,   Ú
depart_rowÅ  s0    zLaTeXTranslator.depart_rowc             C   sø  | j jdkr| j d¡ | j  | dd¡d | dd¡d ¡ | j  ¡ }d}| j j}|jdkrÒ| j	j
r´| j jdkr| j d|j||f t ¡ n| j d|j|f t ¡ d	t }n| j d
|j t ¡ dt }|jdkr| j d|j|jf t ¡ d	t | }|jdks|jdkrV| j d|j| j jf t ¡ dt d t | }d| _tt| tj¡ƒƒdkrxd| j _t|jjtjƒsš|j| j jkrÖt|ƒdkrÊt|d tjƒrÊ| ¡ dkrÊn| j d¡ | jrè|  g ¡ | j |¡ d S )Nr   re  Zmorerowsr|   Zmorecolsr9   z\multicolumn{%d}{%sl%s}{%%z\multicolumn{%d}{l%s}{%%z}%z\sphinxstartmulticolumn{%d}%%z\sphinxstopmulticolumnz\sphinxmultirow{%d}{%d}{%%z,\begin{varwidth}[t]{\sphinxcolwidth{%d}{%d}}z\parz7\vskip-\baselineskip\vbox{\hbox{\strut}}\end{varwidth}%rŽ   Tz\sphinxstyletheadfamily )r…   rd   rW   rZ   r   rX   r‚   r]   ro   r¸   Zlatex_use_latex_multicolumnrx   r{   rh   r[   r§   r¼   rü   r"  r   r*   r`   rû   r  Ztheadrc   rG   rË   r±   )rC   rO   r‚   r±   ry   r+   r+   r,   Úvisit_entryá  s@    &


".
zLaTeXTranslator.visit_entryc             C   sì   | j r@d| _ |  ¡ }x|r2|d tkr2| d¡ qW | j |¡ | j | j ¡ ¡ | j 	¡ }| j j
|j7  _
| jj}xp| j 	¡ }|d krŽP qx| j d¡ |jdkr¸| j d|j ¡ n| j d|j||jf ¡ | j j
|j7  _
qxW d S )Nr   re  r|   z\sphinxtablestrut{%d}z,\multicolumn{%d}{l%s}{\sphinxtablestrut{%d}})r§   rÍ   rx   rÌ   rW   rh  rZ   r±   r…   r‚   rd   ro   r]   rh   )rC   rO   rW   r‚   ry   Znextcellr+   r+   r,   Údepart_entry  s(    


zLaTeXTranslator.depart_entryc             C   sb   t tj|d ƒ}t ttj |ƒ}| j t¡ | j d dd„ |D ƒ¡d ¡ | j t¡ tj	‚d S )Nr   z, c             s   s   | ]}|  ¡ V  qd S )N)rG   )rn   Únr+   r+   r,   rÚ   /  s    z-LaTeXTranslator.visit_acks.<locals>.<genexpr>Ú.)
r   r   Úbullet_listr   Z	list_itemrW   rZ   r
  rw   r  )rC   rO   ro  Z
list_itemsr+   r+   r,   Ú
visit_acks)  s     zLaTeXTranslator.visit_acksc             C   s(   | j s| j dt ¡ | jr$d| j_d S )Nz\begin{itemize}T)r®   rW   rZ   rx   r…   r_   )rC   rO   r+   r+   r,   Úvisit_bullet_list3  s    z!LaTeXTranslator.visit_bullet_listc             C   s   | j s| j dt ¡ d S )Nz\end{itemize})r®   rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_bullet_list9  s    z"LaTeXTranslator.depart_bullet_listc                sÞ   t tdœdd„}t tdœ‡ fdd„‰ dtˆ |ƒƒ ¡  }dtˆ |ƒd ƒ ¡  }t ||ƒ¡}| dd	¡}| d
d¡}| j dt	 ¡ | j d|||||f t	 ¡ d|krÌ| j d||d d f t	 ¡ | j
rÚd| j
_d S )N)rO   r?   c             S   s4   |   dd¡}d|kr0d|   dd¡t| ƒ k r0d}|S )NÚenumtyper/   Úalphaé   Ústartr   )rX   r¼   )rO   rs  r+   r+   r,   Úget_enumtype>  s     z;LaTeXTranslator.visit_enumerated_list.<locals>.get_enumtypec                s4   | d krdS t | tjƒr&ˆ | jƒd S ˆ | jƒS d S )Nr   r|   )rû   r   Úenumerated_listr  )rO   )Úget_nested_levelr+   r,   ry  F  s
    z?LaTeXTranslator.visit_enumerated_list.<locals>.get_nested_levelzenum%sr|   rê   r9   rë   rn  z\begin{enumerate}z*\sphinxsetlistlabels{%s}{%s}{%s}{%s}{%s}%%rv  z\setcounter{%s}{%d}T)r   r„   rf   r#   ÚlowerÚENUMERATE_LIST_STYLErX   rW   rZ   rx   r…   r_   )rC   rO   rw  ÚenumZenumnextÚstylerê   rë   r+   )ry  r,   Úvisit_enumerated_list=  s     z%LaTeXTranslator.visit_enumerated_listc             C   s   | j  dt ¡ d S )Nz\end{enumerate})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_enumerated_list\  s    z&LaTeXTranslator.depart_enumerated_listc             C   s   | j  d¡ d S )Nz	\item {} )rW   rZ   )rC   rO   r+   r+   r,   Úvisit_list_item_  s    zLaTeXTranslator.visit_list_itemc             C   s   | j  t¡ d S )N)rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_list_itemd  s    z LaTeXTranslator.depart_list_itemc             C   s"   | j  dt ¡ | jrd| j_d S )Nz\begin{description}T)rW   rZ   rx   r…   r_   )rC   rO   r+   r+   r,   Úvisit_definition_listg  s    z%LaTeXTranslator.visit_definition_listc             C   s   | j  dt ¡ d S )Nz\end{description})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_definition_listl  s    z&LaTeXTranslator.depart_definition_listc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_definition_list_itemo  s    z*LaTeXTranslator.visit_definition_list_itemc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_definition_list_itemr  s    z+LaTeXTranslator.depart_definition_list_itemc             C   sh   |  j d7  _ d}| d¡rDd}x"|d D ]}|| j|dd7 }q*W |d7 }| j d¡ | j |¡ d S )	Nr|   r9   rÛ   z\phantomsectionF)rÔ   rt   z\sphinxlineitem{)r¦   rX   rØ   rW   rZ   r±   )rC   rO   ÚctxrÙ   r+   r+   r,   Ú
visit_termu  s    
zLaTeXTranslator.visit_termc             C   s$   | j  | j ¡ ¡ |  jd8  _d S )Nr|   )rW   rZ   r±   rÌ   r¦   )rC   rO   r+   r+   r,   Údepart_term€  s    zLaTeXTranslator.depart_termc             C   s   | j  d¡ d S )Nz{[})rW   rZ   )rC   rO   r+   r+   r,   Úvisit_classifier„  s    z LaTeXTranslator.visit_classifierc             C   s   | j  d¡ d S )Nz{]})rW   rZ   )rC   rO   r+   r+   r,   Údepart_classifier‡  s    z!LaTeXTranslator.depart_classifierc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_definitionŠ  s    z LaTeXTranslator.visit_definitionc             C   s   | j  t¡ d S )N)rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_definition  s    z!LaTeXTranslator.depart_definitionc             C   s"   | j  dt ¡ | jrd| j_d S )Nz \begin{quote}\begin{description}T)rW   rZ   rx   r…   r_   )rC   rO   r+   r+   r,   Úvisit_field_list  s    z LaTeXTranslator.visit_field_listc             C   s   | j  dt ¡ d S )Nz\end{description}\end{quote})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_field_list•  s    z!LaTeXTranslator.depart_field_listc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_field˜  s    zLaTeXTranslator.visit_fieldc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_field›  s    zLaTeXTranslator.depart_fieldc             C   s”   |j  |¡}|dkr`t|j tjƒr`t|j |d  tjƒs`t|j |d  tjƒs`| j dt ¡ n0|dkr|t|j tj	t
fƒr|n| j tdt g¡ d S )Nr   r|   z	\noindentz\sphinxAtStartPar)r  r¹   rû   r   Zcompoundr*   rW   rZ   rx   r+  Úfootnotetextrh  )rC   rO   r¹   r+   r+   r,   Úvisit_paragraph¤  s    zLaTeXTranslator.visit_paragraphc             C   s   | j  t¡ d S )N)rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_paragraphµ  s    z LaTeXTranslator.depart_paragraphc             C   s"   | j  td ¡ | jrd| j_d S )Nz\begin{center}T)rW   rZ   rx   r…   r_   )rC   rO   r+   r+   r,   Úvisit_centered¸  s    zLaTeXTranslator.visit_centeredc             C   s   | j  td ¡ d S )Nz\end{center})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_centered½  s    zLaTeXTranslator.depart_centeredc             C   sj   |  j d7  _ |d }| j dkr0| j dt ¡ | j d| d t ¡ | j dt ¡ | jrfd| j_d S )Nr|   Úncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z}\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}T)r®   rW   rZ   rx   r…   r_   )rC   rO   r–  r+   r+   r,   Úvisit_hlistÀ  s    
zLaTeXTranslator.visit_hlistc             C   s"   |  j d8  _ | j dt ¡ d S )Nr|   z*\end{itemize}\raggedcolumns\end{multicols})r®   rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_hlistË  s    zLaTeXTranslator.depart_hlistc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_hlistcolÏ  s    zLaTeXTranslator.visit_hlistcolc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_hlistcolÒ  s    zLaTeXTranslator.depart_hlistcolr‹   )rŒ   r   r?   c             C   s4   y
t ||ƒS  tk
r.   t tdƒ|¡ d S X d S )Nz&dimension unit %s is invalid. Ignored.)r˜   r’   rº   r»   r   )rC   rŒ   r   r+   r+   r,   Úlatex_image_lengthÚ  s
    
z"LaTeXTranslator.latex_image_lengthc             C   s   t |jtjƒS )z2Check whether a node represents an inline element.)rû   r  r   ZTextElement)rC   rO   r+   r+   r,   Ú	is_inlineá  s    zLaTeXTranslator.is_inlinec             C   sx  g }g }g }t |jtjƒ}|r,|  |j¡}n
|  |¡}d|kr|d|kr\|  |d |d ¡}n|  |d ¡}|r|| d| ¡ d|krÂd|kr¢|  |d |d ¡}n|  |d ¡}|rÂ| d| ¡ d|krè|sè| dt|d ƒd  ¡ d|krTd	d
dddddœ}	y8| |	||d f d ¡ | |	||d f d ¡ W n tk
rR   Y nX | j	rp| d¡ | d¡ |s”|s”| t
d ¡ | t
¡ | ¡  |d | jjkrÀ| jj|d  }
n| jrÌd S |d }
|
 d¡dkrèd S | j |¡ d}|rdd |¡ }t |
¡\}}| jr8|r8d|||f }nd|||f }d|kr\d| d }| j |¡ | j |¡ d S )Nro   r   zwidth=%sr{   z	height=%szscale=%sg      Y@rP   )r9   r9   )z\raisebox{-0.5\height}{rt   )z\raisebox{-\height}{rt   )z{\hspace*{\fill}z\hspace*{\fill}})rr   z\hspace*{\fill}})z{\hspace*{\fill}rt   ))r|   Útop)r|   Úmiddle)r|   Úbottom)r   Úcenter)r   Úleft)r   Úrightr   r|   z!{\sphinxunactivateextrasandspace rt   z	\noindentÚuriz://rÕ   r9   z[%s]rž   z,\lowercase{\sphinxincludegraphics%s}{{%s}%s}z \sphinxincludegraphics%s{{%s}%s}ú#z{\catcode`\#=12)rû   r  r   Ú	referencerœ  r›  rZ   r”   ÚKeyErrorr­   rx   Úreverser>   ZimagesÚignore_missing_imagesÚfindrW   rh  rw   r   Úsplitextr¢   )rC   rO   ÚpreÚpostZinclude_graphics_optionsZhas_hyperlinkrœ  ÚwÚhZalign_prepostr£  ÚoptionsÚbaseÚextÚcmdr+   r+   r,   Úvisit_imageå  sz    





zLaTeXTranslator.visit_imagec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_image7  s    zLaTeXTranslator.depart_imagec             C   sð  | j d }| jrd}| jr¬d|krZ|  |d ¡}|rz| j d| t ¡ | j dt ¡ n | j dt ¡ | j dt ¡ tdd„ |D ƒƒr˜| j d	¡ | j d
t ¡ n@| 	dd¡dkrfd }d|krÚ|  |d ¡}n2t
|d tjƒrd|d kr|  |d d ¡}| j t¡ | j d|d dkr2dnd|p<df t ¡ | j d¡ | j dt ¡ n†| jr| j td ¡ | j dt ¡ n\| j td|  t ¡ | j dt ¡ tdd„ |D ƒƒrÜ| j d	t ¡ | j dt ¡ d S )NZfigure_alignÚHro   z!\begin{sphinxfigure-in-table}[%s]z
\centeringz\begin{sphinxfigure-in-table}c             s   s   | ]}t |tjƒV  qd S )N)rû   r   rb   )rn   r/  r+   r+   r,   rÚ   H  s    z/LaTeXTranslator.visit_figure.<locals>.<genexpr>z	\capstartz!\end{sphinxfigure-in-table}\relaxrP   r9   )r¡  r¢  r   z\begin{wrapfigure}{%s}{%s}r¢  Úrru   Z0ptz\end{wrapfigure}z\begin{center}z\end{center}z\begin{figure}[%s]c             s   s   | ]}t |tjƒV  qd S )N)rû   r   rb   )rn   r/  r+   r+   r,   rÚ   ]  s    z\end{figure})r³   r©   r…   r›  rW   rZ   rx   r!  r±   rX   rû   r   r#  r
  r¨   )rC   rO   rP   Úlengthr+   r+   r,   Úvisit_figure:  sB    
 (zLaTeXTranslator.visit_figurec             C   s   | j  | j ¡ ¡ d S )N)rW   rZ   r±   rÌ   )rC   rO   r+   r+   r,   Údepart_figurea  s    zLaTeXTranslator.depart_figurec             C   sz   |  j d7  _ t|jtƒr(| j d¡ nN| jrJt|jtjƒrJ| j d¡ n,| j	rj|jj
dkrj| j d¡ n| j d¡ d S )Nr|   z\sphinxSetupCaptionForVerbatim{z\captionof{figure}{Úfigurez\sphinxfigcaption{z	\caption{)r¥   rû   r  Úcaptioned_literal_blockrW   rZ   r¨   r   rº  r…   Útagname)rC   rO   r+   r+   r,   Úvisit_captiond  s    zLaTeXTranslator.visit_captionc             C   sD   | j  d¡ t|jtjƒr2|  |j¡}| j  |¡ |  jd8  _d S )Nrt   r|   )rW   rZ   rû   r  r   rº  rÝ   r¥   )rC   rO   rÜ   r+   r+   r,   Údepart_captiono  s
    zLaTeXTranslator.depart_captionc             C   s   | j  td ¡ d S )Nz\begin{sphinxlegend})rW   rZ   rx   )rC   rO   r+   r+   r,   Úvisit_legendv  s    zLaTeXTranslator.visit_legendc             C   s   | j  dt ¡ d S )Nz\end{sphinxlegend})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_legendy  s    zLaTeXTranslator.depart_legendc             C   s"   | j  td ¡ |  jd7  _d S )Nz\begin{sphinxadmonition}{note}r|   )rW   rZ   rx   r©   )rC   rO   r+   r+   r,   Úvisit_admonition|  s    z LaTeXTranslator.visit_admonitionc             C   s"   | j  dt ¡ |  jd8  _d S )Nz\end{sphinxadmonition}r|   )rW   rZ   rx   r©   )rC   rO   r+   r+   r,   Údepart_admonition€  s    z!LaTeXTranslator.depart_admonitionc             C   s6   t |j }| j td|j|f  ¡ |  jd7  _d S )Nz!\begin{sphinxadmonition}{%s}{%s:}r|   )r   r¼  rW   rZ   rx   r©   )rC   rO   rR  r+   r+   r,   Ú_visit_named_admonition„  s    

z'LaTeXTranslator._visit_named_admonitionc             C   s"   | j  dt ¡ |  jd8  _d S )Nz\end{sphinxadmonition}r|   )rW   rZ   rx   r©   )rC   rO   r+   r+   r,   Ú_depart_named_admonitionŠ  s    z(LaTeXTranslator._depart_named_admonitionc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_versionmodified¡  s    z%LaTeXTranslator.visit_versionmodifiedc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_versionmodified¤  s    z&LaTeXTranslator.depart_versionmodifiedc                sä   t d dœ‡ ‡fdd„}ˆ }xt|tjƒr6|jdd}qW ttˆjj 	d¡ƒ}t|t
ƒrZd S | |¡rr| |¡rrd S dˆ kr~d S dˆ krŠd S ˆ  d	¡rÆtˆ ƒ}t|tjƒrºˆ d	 |d	 krºn|ˆ d	 ƒ xˆ d
 D ]}||ƒ qÐW d S )N)rÒ   r?   c                st   |   d¡rd S |   d¡rd S ˆ j ˆ ¡}|dkrRtˆ j|d  tjƒrRˆj t¡ ˆj	 }ˆj ˆj
| |d¡ d S )Nzindex-z	equation-r   r|   )rÔ   )Ú
startswithr  r¹   rû   r   r*   rW   rZ   rx   r¢   rØ   )rÒ   r¹   rÔ   )rO   rC   r+   r,   Ú
add_target¨  s    

z0LaTeXTranslator.visit_target.<locals>.add_targetT)ZascendZstdÚrefuriZ	anonymousÚrefidrÛ   )r„   rû   r   ÚtargetÚ	next_noder   r   r>   r÷   Z
get_domainÚHYPERLINK_SUPPORT_NODESZget_enumerable_node_typeZget_numfig_titlerX   r    r¥  )rC   rO   rÈ  rÌ  rþ   Z	prev_noderÒ   r+   )rO   rC   r,   Úvisit_target§  s(    

zLaTeXTranslator.visit_targetc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_targetÕ  s    zLaTeXTranslator.depart_targetc             C   s$   | j  td t ¡ | j  d¡ d S )Nz\begin{flushright}z---)rW   rZ   rx   )rC   rO   r+   r+   r,   Úvisit_attributionØ  s    z!LaTeXTranslator.visit_attributionc             C   s   | j  td t ¡ d S )Nz\end{flushright})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_attributionÜ  s    z"LaTeXTranslator.depart_attributionc                sô  t t dœ‡fdd„‰ t t dœdd„}| dd¡s<ˆj t¡ |d	 }xˆ|D ]~\}}}}}d
}	|rhd}	y.|dkryN‡ fdd„tdd|ƒD ƒ\}
}||
ƒ||ƒ }}ˆj d|
||||	f ¡ W nH tk
r   ˆ tdd|ƒd ƒ}||ƒ}ˆj d|||	f ¡ Y nX n„|dkrt‡ fdd„tdd|ƒD ƒ\}
}||
ƒ||ƒ }}ˆj d|
||||	|||
||	f
 ¡ n"|dkrö‡ fdd„tdd|ƒD ƒ\}
}}||
ƒ||ƒ||ƒ  }}}ˆj d|
||||||	||||
|||	|||
||||	f ¡ n |dkr>‡ fdd„tdd|ƒD ƒ\}
}||
ƒ}ˆj d|
||f ¡ nX|dkr†‡ fdd„tdd|ƒD ƒ\}
}||
ƒ}ˆj d|
||f ¡ nt t	d ƒ|¡ W qL tk
rÊ } zt t |ƒ¡ W d d }~X Y qLX qLW | dd¡sêˆj d!¡ t
j‚d S )"N)Úvaluer?   c                sV   ˆ   | ¡} |  dd¡} |  dd¡} |  dd¡} |  dd¡} |  d	d
¡} |  dd¡} | S )Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}ú"z""ú@z"@ú!z"!rU   z
\textbar{})rå   rç   )rÒ  )rC   r+   r,   rá   à  s    
z+LaTeXTranslator.visit_index.<locals>.escape)Ústringr?   c             S   s$   t  | ¡}|r| d¡S d|  S d S )Nz\\spxentry{\1}\\spxextra{\2}z\spxentry{%s})ÚEXTRA_REr‘   Úexpand)rÖ  r‘   r+   r+   r,   r}  ê  s    

z*LaTeXTranslator.visit_index.<locals>.styleÚinlineTró   r9   z	|spxpagemZsinglec                s   g | ]}ˆ |ƒ‘qS r+   r+   )rn   Úx)rá   r+   r,   rq   û  s    z/LaTeXTranslator.visit_index.<locals>.<listcomp>rŽ   z\index{%s@%s!%s@%s%s}r|   r   z\index{%s@%s%s}Úpairc                s   g | ]}ˆ |ƒ‘qS r+   r+   )rn   rÚ  )rá   r+   r,   rq     s    z*\index{%s@%s!%s@%s%s}\index{%s@%s!%s@%s%s}Ztriplec                s   g | ]}ˆ |ƒ‘qS r+   r+   )rn   rÚ  )rá   r+   r,   rq     s    rî   zS\index{%s@%s!%s %s@%s %s%s}\index{%s@%s!%s, %s@%s, %s%s}\index{%s@%s!%s %s@%s %s%s}Zseec                s   g | ]}ˆ |ƒ‘qS r+   r+   )rn   rÚ  )rá   r+   r,   rq     s    z\index{%s@%s|see{%s}}r  c                s   g | ]}ˆ |ƒ‘qS r+   r+   )rn   rÚ  )rá   r+   r,   rq     s    z!unknown index entry type %s foundz\ignorespaces )r„   rX   rW   rZ   rx   r   r’   rº   r»   r   r   r  )rC   rO   r}  ró   ÚtyperÖ  Z_tidZismainÚ_keyÚmÚp1Úp2ZP1ZP2ÚpÚPZp3ZP3Úerrr+   )rá   rC   r,   Úvisit_indexß  s\    

 
 
 

$zLaTeXTranslator.visit_indexc             C   sZ   |   |¡s| j t¡ d| dd¡ ¡ kr:| j | ¡ ¡ |   |¡sP| j t¡ tj‚d S )Nr    Úformatr9   )	rœ  rW   rZ   rx   rX   r$  rG   r   r  )rC   rO   r+   r+   r,   Ú	visit_raw!  s    

zLaTeXTranslator.visit_rawc             C   sˆ  | j s:x2| d¡D ]$}| j }|  j| j||d7  _qW |  |¡sP| j t¡ | dd¡}|s„| d¡r„d| jd  d |d  }| j sŽ|sž| j	 d¡ næ| 
d¡r| jd d	 |d
d …  }| j |  |¡¡ | j d¡ | jjr| js| j	 d|  |¡ ¡ n| j	 d¡ nh| 
d¡r| d¡}|dkrN|d
d … d }n|d
d …  dd	¡}| j |  |¡¡ t|ƒrÀt|d tjƒrÀd|d  dg ¡krÀ| j	 d¡ | j d¡ nB| j d¡ | jjrö| jsö| j	 d|  |¡ ¡ n| j	 d¡ n€t|ƒd
krb||d krb| d¡rD| j d|  |¡ ¡ n| j d|  |¡ ¡ tj‚n"| j d|  |¡ ¡ | j	 d¡ d S )NrÛ   )rÔ   rÉ  r9   rÊ  r   rÕ   r¤  rÖ   r|   z\emph{z}}} (%s)z}}}z::docr   zstd-termrQ   z\sphinxtermref{z\sphinxcrossref{Z	nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{rt   )r¢   rX   r¥   rW   rØ   rœ  rZ   rx   rÇ   r±   rÇ  rÞ   r¸   Zlatex_show_pagerefsr£   rß   r©  rç   r¼   rû   r   r   Ú
encode_urir  )rC   rO   rÒ   rÔ   r£  Z	hashindexr+   r+   r,   Úvisit_reference*  sR    





zLaTeXTranslator.visit_referencec             C   s,   | j  | j ¡ ¡ |  |¡s(| j  t¡ d S )N)rW   rZ   r±   rÌ   rœ  rx   )rC   rO   r+   r+   r,   Údepart_referenceb  s    
z LaTeXTranslator.depart_referencec             C   sâ   |  d¡r"| jd d |d  }n|  dd¡dd …  dd¡}|  |  dd	¡¡ d
d	¡}d|kshd|kr¤| dd¡ dd¡}t|ƒjd|  |¡ d|  |¡ d}nt|ƒd|  |¡  }d|  |¡|f }| j |¡ t	j
‚d S )NrÊ  rÕ   rÖ   rÉ  r9   r|   r¤  r  z%sz\%sz\{name\}z
\{number\}z{name}z{number}z\nameref{%s}z\ref{%s})rú   Únumberz\hyperref[%s]{%s})rX   rÇ   rç   rá   rŠ   rå  r×   rW   rZ   r   r  )rC   rO   rÒ   r  r‡   Zhyperrefr+   r+   r,   Úvisit_number_referenceg  s    
z&LaTeXTranslator.visit_number_referencec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_download_reference{  s    z(LaTeXTranslator.visit_download_referencec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_download_reference~  s    z)LaTeXTranslator.depart_download_referencec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_pending_xref  s    z"LaTeXTranslator.visit_pending_xrefc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_pending_xref„  s    z#LaTeXTranslator.depart_pending_xrefc             C   s   | j  d¡ d S )Nz\sphinxstyleemphasis{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_emphasis‡  s    zLaTeXTranslator.visit_emphasisc             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Údepart_emphasisŠ  s    zLaTeXTranslator.depart_emphasisc             C   s   | j  d¡ d S )Nz+\sphinxstyleliteralemphasis{\sphinxupquote{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_literal_emphasis  s    z&LaTeXTranslator.visit_literal_emphasisc             C   s   | j  d¡ d S )Nz}})rW   rZ   )rC   rO   r+   r+   r,   Údepart_literal_emphasis  s    z'LaTeXTranslator.depart_literal_emphasisc             C   s   | j  d¡ d S )Nz\sphinxstylestrong{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_strong“  s    zLaTeXTranslator.visit_strongc             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Údepart_strong–  s    zLaTeXTranslator.depart_strongc             C   s   | j  d¡ d S )Nz)\sphinxstyleliteralstrong{\sphinxupquote{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_literal_strong™  s    z$LaTeXTranslator.visit_literal_strongc             C   s   | j  d¡ d S )Nz}})rW   rZ   )rC   rO   r+   r+   r,   Údepart_literal_strongœ  s    z%LaTeXTranslator.depart_literal_strongc             C   s`   |  ¡ }| j d¡ | d¡rP|| jkrP| j d|  |d ¡ ¡ | j |¡ n| j d¡ d S )Nz\sphinxstyleabbreviation{Zexplanationz} (%s)rt   )rG   rW   rZ   rG  rÉ   r±   rå   Úadd)rC   rO   Zabbrr+   r+   r,   Úvisit_abbreviationŸ  s    z"LaTeXTranslator.visit_abbreviationc             C   s   | j  | j ¡ ¡ d S )N)rW   rZ   r±   rÌ   )rC   rO   r+   r+   r,   Údepart_abbreviation©  s    z#LaTeXTranslator.depart_abbreviationc             C   s
   |   |¡S )N)rò  )rC   rO   r+   r+   r,   Úvisit_manpage¬  s    zLaTeXTranslator.visit_manpagec             C   s
   |   |¡S )N)ró  )rC   rO   r+   r+   r,   Údepart_manpage¯  s    zLaTeXTranslator.depart_manpagec             C   s   | j  d¡ d S )Nz\sphinxtitleref{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_title_reference²  s    z%LaTeXTranslator.visit_title_referencec             C   s   | j  d¡ d S )Nrt   )rW   rZ   )rC   rO   r+   r+   r,   Údepart_title_referenceµ  s    z&LaTeXTranslator.depart_title_referencec             C   sn   t ttj |ƒ}dd„ |D ƒ}tdd„ |D ƒtd}t|ƒtkrL|d t… }| j t	d|  
|¡  t	 ¡ d S )Nc             s   s   | ]}t tj|d  ƒV  qdS )r   N)r   r   rR  )rn   Úcitationr+   r+   r,   rÚ   º  s    z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>c             s   s   | ]}|  ¡ V  qd S )N)rG   )rn   rR  r+   r+   r,   rÚ   »  s    )Úkeyz!\begin{sphinxthebibliography}{%s})r   r   r   rÿ  rÀ   r¼   ÚMAX_CITATION_LABEL_LENGTHrW   rZ   rx   rå   )rC   rO   Z	citationsrÜ   Zlongest_labelr+   r+   r,   Úvisit_thebibliography¸  s    z%LaTeXTranslator.visit_thebibliographyc             C   s   | j  dt ¡ d S )Nz\end{sphinxthebibliography})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_thebibliographyÃ  s    z&LaTeXTranslator.depart_thebibliographyc             C   s@   t tj|d ƒ}| j d|  | ¡ ¡|d |d d f ¡ d S )Nr   z\bibitem[%s]{%s:%s}r  rÛ   )r   r   rR  rW   rZ   rå   rG   )rC   rO   rR  r+   r+   r,   Úvisit_citationÆ  s    zLaTeXTranslator.visit_citationc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_citationË  s    zLaTeXTranslator.depart_citationc             C   s.   | j rn"| j d|d |d f ¡ tj‚d S )Nz\sphinxcite{%s:%s}r  Zrefname)r¢   rW   rZ   r   r  )rC   rO   r+   r+   r,   Úvisit_citation_referenceÎ  s    z(LaTeXTranslator.visit_citation_referencec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_citation_referenceÕ  s    z)LaTeXTranslator.depart_citation_referencec             C   s¶   | j r| j d¡ d S d|d kr2| j d¡ d S | dd ¡}d|d ksN|s^| j d¡ d S | jj |i ¡}| jj| ¡ |||dd	}| j d
t	 | 
¡  d t	 d ¡ tj‚d S )Nz*\sphinxstyleliteralintitle{\sphinxupquote{ZkbdrQ   z\sphinxkeyboard{\sphinxupquote{r¾   Úcodez\sphinxcode{\sphinxupquote{T)Úoptsr  Únowrapz\sphinxcode{\sphinxupquote{%r   z}})r¢   rW   rZ   rX   r¸   Úhighlight_optionsrÃ   Úhighlight_blockrG   rx   Úrstripr   r  )rC   rO   Úlangr	  Úhlcoder+   r+   r,   Úvisit_literalØ  s     zLaTeXTranslator.visit_literalc             C   s   | j  d¡ d S )Nz}})rW   rZ   )rC   rO   r+   r+   r,   Údepart_literalì  s    zLaTeXTranslator.depart_literalc             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Úvisit_footnote_referenceï  s    z(LaTeXTranslator.visit_footnote_referencec             C   s   | j  d¡ d S )Nz\sphinxfootnotemark[)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_footnotemarkò  s    z"LaTeXTranslator.visit_footnotemarkc             C   s   | j  d¡ d S )Nú])rW   rZ   )rC   rO   r+   r+   r,   Údepart_footnotemarkõ  s    z#LaTeXTranslator.depart_footnotemarkc             C   sH   t tj|d ƒ}| j dt ¡ | j d| ¡  ¡ | j dt ¡ d S )Nr   r   z\begin{footnotetext}[%s]z\sphinxAtStartFootnote)r   r   rR  rW   rZ   rx   rG   )rC   rO   rR  r+   r+   r,   Úvisit_footnotetextø  s    z"LaTeXTranslator.visit_footnotetextc             C   s    | j  dt ¡ | j  d¡ d S )Nr   z \end{footnotetext}\ignorespaces )rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_footnotetextþ  s    z#LaTeXTranslator.depart_footnotetextc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_captioned_literal_block  s    z-LaTeXTranslator.visit_captioned_literal_blockc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_captioned_literal_block  s    z.LaTeXTranslator.depart_captioned_literal_blockc       	      C   sÌ  |j | ¡ kr0|  jd7  _| j dt ¡ n˜|  |¡}t|jt	ƒrV||  |j¡7 }|rx| j
sx| j td | d ¡ | dd¡}| dd¡}| d	i ¡}| d
d¡|d
< | jj |i ¡}| jj|j |f|||dœ|—Ž}| j
r| j td ¡ | dd¡}n2| jr(d| j_d| j_| dd¡}n| dd¡}| ¡ d d… }| jr^| j
s^|d7 }n|d7 }t| dg ¡ƒdd… }|r˜| j td|  ¡ | j t| t ¡ |rÂ| j dt ¡ tj‚d S )Nr|   z\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{rt   r¾   r:   ÚlinenosFÚhighlight_argsÚforce)r	  r  r  z\sphinxSetupCodeBlockInFootnotez\begin{Verbatim}z\begin{sphinxVerbatim}Tz\begin{sphinxVerbatimintable}iòÿÿÿz\end{sphinxVerbatimintable}z\end{sphinxVerbatim}Zhl_linesrÕ   z\fvset{hllines={, %s,}}%%z\sphinxresetverbatimhllines)Z	rawsourcerG   r­   rW   rZ   rx   rÝ   rû   r  r»  r¤   rX   r¸   r  rÃ   r  rç   r…   r_   ra   r  r„   r   r  )	rC   rO   rÜ   r  r  r  r	  r  Zhllinesr+   r+   r,   Úvisit_literal_block	  sL    


z#LaTeXTranslator.visit_literal_blockc             C   s&   | j  td t ¡ |  jd8  _d S )Nz\end{sphinxalltt}r|   )rW   rZ   rx   r­   )rC   rO   r+   r+   r,   Údepart_literal_block<  s    z$LaTeXTranslator.depart_literal_blockc             C   s   | j  d¡ d S )Nz\item[] )rW   rZ   )rC   rO   r+   r+   r,   Ú
visit_lineB  s    zLaTeXTranslator.visit_linec             C   s   | j  t¡ d S )N)rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_lineE  s    zLaTeXTranslator.depart_linec             C   sV   t |jtjƒr0| j dt ¡ | j dt ¡ n| j td t ¡ | jrRd| j_d S )Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em}T)	rû   r  r   Z
line_blockrW   rZ   rx   r…   r_   )rC   rO   r+   r+   r,   Úvisit_line_blockH  s    z LaTeXTranslator.visit_line_blockc             C   s   | j  dt ¡ d S )Nz\end{DUlineblock})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_line_blockQ  s    z!LaTeXTranslator.depart_line_blockc             C   sX   d}t |jƒdkr2|jd }t|tjtjfƒr2d}|sT| j dt ¡ | j	rTd| j	_
d S )Nr   r|   z\begin{quote}T)r¼   r   rû   r   ro  rx  rW   rZ   rx   r…   r_   )rC   rO   Údoner/  r+   r+   r,   Úvisit_block_quoteT  s    
z!LaTeXTranslator.visit_block_quotec             C   sJ   d}t |jƒdkr2|jd }t|tjtjfƒr2d}|sF| j dt ¡ d S )Nr   r|   z\end{quote})	r¼   r   rû   r   ro  rx  rW   rZ   rx   )rC   rO   r#  r/  r+   r+   r,   Údepart_block_quoteb  s    
z"LaTeXTranslator.depart_block_quotec             C   s   | j d r| j d¡ d S )NrÕ   z, )r±   rW   rZ   )rC   rO   r+   r+   r,   Úvisit_optionm  s    
zLaTeXTranslator.visit_optionc             C   s   | j d  d7  < d S )NrÕ   r|   )r±   )rC   rO   r+   r+   r,   Údepart_optionr  s    zLaTeXTranslator.depart_optionc             C   s   | j  | dd¡¡ dS )z1The delimiter between an option and its argument.Ú	delimiterr  N)rW   rZ   rX   )rC   rO   r+   r+   r,   Úvisit_option_argumentv  s    z%LaTeXTranslator.visit_option_argumentc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_option_argumentz  s    z&LaTeXTranslator.depart_option_argumentc             C   s   | j  d¡ | j d¡ d S )Nz\item [r   )rW   rZ   r±   )rC   rO   r+   r+   r,   Úvisit_option_group}  s    z"LaTeXTranslator.visit_option_groupc             C   s   | j  ¡  | j d¡ d S )Nz] )r±   rÌ   rW   rZ   )rC   rO   r+   r+   r,   Údepart_option_group‚  s    
z#LaTeXTranslator.depart_option_groupc             C   s"   | j  dt ¡ | jrd| j_d S )Nz\begin{optionlist}{3cm}T)rW   rZ   rx   r…   r_   )rC   rO   r+   r+   r,   Úvisit_option_list†  s    z!LaTeXTranslator.visit_option_listc             C   s   | j  dt ¡ d S )Nz\end{optionlist})rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_option_list‹  s    z"LaTeXTranslator.depart_option_listc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_option_list_itemŽ  s    z&LaTeXTranslator.visit_option_list_itemc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_option_list_item‘  s    z'LaTeXTranslator.depart_option_list_itemc             C   s$   |  ¡ }| j |  |¡¡ tj‚d S )N)rG   rW   rZ   rå   r   r  )rC   rO   Zostringr+   r+   r,   Úvisit_option_string”  s    z#LaTeXTranslator.visit_option_stringc             C   s   | j  d¡ d S )Nr  )rW   rZ   )rC   rO   r+   r+   r,   Úvisit_description™  s    z!LaTeXTranslator.visit_descriptionc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_descriptionœ  s    z"LaTeXTranslator.depart_descriptionc             C   s   | j  d¡ d S )Nz	$^{\text{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_superscriptŸ  s    z!LaTeXTranslator.visit_superscriptc             C   s   | j  d¡ d S )Nz}}$)rW   rZ   )rC   rO   r+   r+   r,   Údepart_superscript¢  s    z"LaTeXTranslator.depart_superscriptc             C   s   | j  d¡ d S )Nz	$_{\text{)rW   rZ   )rC   rO   r+   r+   r,   Úvisit_subscript¥  s    zLaTeXTranslator.visit_subscriptc             C   s   | j  d¡ d S )Nz}}$)rW   rZ   )rC   rO   r+   r+   r,   Údepart_subscript¨  s    z LaTeXTranslator.depart_subscriptc             C   s¼   |  dg ¡}|dggkr2| j d¡ | j d¡ n†|dggkrX| j d¡ | j d¡ n`|dggkr~| j d¡ | j d¡ n:|r¬| js¬| j d	d
 |¡ ¡ | j d¡ n| j d¡ d S )NrQ   Zmenuselectionz\sphinxmenuselection{rt   Zguilabelz\sphinxguilabel{Zacceleratorz\sphinxaccelerator{z\DUrole{%s}{rž   r9   )rX   rW   rZ   r±   r¢   rw   )rC   rO   rQ   r+   r+   r,   Úvisit_inline«  s    
zLaTeXTranslator.visit_inlinec             C   s   | j  | j ¡ ¡ d S )N)rW   rZ   r±   rÌ   )rC   rO   r+   r+   r,   Údepart_inline¼  s    zLaTeXTranslator.depart_inlinec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_generated¿  s    zLaTeXTranslator.visit_generatedc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_generatedÂ  s    z LaTeXTranslator.depart_generatedc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_compoundÅ  s    zLaTeXTranslator.visit_compoundc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_compoundÈ  s    zLaTeXTranslator.depart_compoundc             C   s.   |  dg ¡}x|D ]}| j d| ¡ qW d S )NrQ   z
\begin{sphinxuseclass}{%s})rX   rW   rZ   )rC   rO   rQ   Úcr+   r+   r,   Úvisit_containerË  s    
zLaTeXTranslator.visit_containerc             C   s*   |  dg ¡}x|D ]}| j d¡ qW d S )NrQ   z
\end{sphinxuseclass})rX   rW   rZ   )rC   rO   rQ   Z_cr+   r+   r,   Údepart_containerÐ  s    
z LaTeXTranslator.depart_containerc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_decorationÕ  s    z LaTeXTranslator.visit_decorationc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_decorationØ  s    z!LaTeXTranslator.depart_decorationc             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Úvisit_headerÝ  s    zLaTeXTranslator.visit_headerc             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Úvisit_footerà  s    zLaTeXTranslator.visit_footerc             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Úvisit_docinfoã  s    zLaTeXTranslator.visit_docinfo)r‡   r?   c             C   s,   |   |¡}| jr(| tdt ¡ dd¡}|S )Nz~\\r  ú~)rá   r¬   rç   rx   )rC   r‡   r+   r+   r,   rå   è  s    
zLaTeXTranslator.encodec             C   s"   |   |¡ dd¡ dd¡ dd¡S )Nz\textasciitilde{}rF  z\sphinxhyphen{}ú-z\textquotesingle{}ú')rå   rç   )rC   r‡   r+   r+   r,   rç  ð  s    zLaTeXTranslator.encode_uric             C   s   |   | ¡ ¡}| j |¡ d S )N)rå   rG   rW   rZ   )rC   rO   r‡   r+   r+   r,   Ú
visit_Textù  s    zLaTeXTranslator.visit_Textc             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_Textý  s    zLaTeXTranslator.depart_Textc             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Úvisit_comment   s    zLaTeXTranslator.visit_commentc             C   s
   t j‚d S )N)r   r  )rC   rO   r+   r+   r,   Ú
visit_meta  s    zLaTeXTranslator.visit_metac             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Úvisit_system_message  s    z$LaTeXTranslator.visit_system_messagec             C   s   | j  t¡ d S )N)rW   rZ   rx   )rC   rO   r+   r+   r,   Údepart_system_message
  s    z%LaTeXTranslator.depart_system_messagec             C   s:   | j r| j d| ¡  ¡ n| j d| ¡  ¡ tj‚d S )Nz\protect\(%s\protect\)z\(%s\))r¢   rW   rZ   rG   r   r  )rC   rO   r+   r+   r,   Ú
visit_math  s    zLaTeXTranslator.visit_mathc             C   s†   |  d¡r d|d |d f }nd }|  d¡rT|rB| j d| ¡ | j | ¡ ¡ n(ddlm} | j || ¡ || jjƒ¡ tj	‚d S )NrR  zequation:%s:%sr  r
  z
\label{%s}r   )Úwrap_displaymath)
rX   rW   rZ   rG   Zsphinx.util.mathrP  r¸   Zmath_number_allr   r  )rC   rO   rR  rP  r+   r+   r,   Úvisit_math_block  s    

z LaTeXTranslator.visit_math_blockc          
   C   sž   d|d |d f }| j j}|rŠy d| }| j |j|d¡ W qš tk
r† } z(tjtdƒ||d | j d| ¡ W d d }~X Y qšX n| j d| ¡ d S )	Nzequation:%s:%sr  rË  z\ref{%s})rê  zInvalid math_eqref_format: %r)r  z
\eqref{%s})	r¸   Zmath_eqref_formatrW   rZ   rå  r¦  rº   r»   r   )rC   rO   rR  Zeqref_formatÚrefÚexcr+   r+   r,   Úvisit_math_reference$  s    $z$LaTeXTranslator.visit_math_referencec             C   s   d S )Nr+   )rC   rO   r+   r+   r,   Údepart_math_reference2  s    z%LaTeXTranslator.depart_math_referencec             C   s   t jdtdd dS )z*Prepends prefix to sphinx document classesz'LaTeXWriter.docclasses() is deprecated.rŽ   )Ú
stacklevel)Zhowtor;   )ÚwarningsÚwarnr   )rC   r+   r+   r,   Ú
docclasses5  s    
zLaTeXTranslator.docclasses)TT)F)r‹   (  r2   r3   r4   rL   rœ   r¨  r   rE   rA   r   r„   rË   rÍ   rG   rƒ   rØ   r   rÝ   rÞ   rß   rá   r×   rÁ   rÐ   r   rÑ   r†   r	   rN   r…   r  r  r  r	  r  r  r  r  r  r  Zvisit_sidebarZdepart_sidebarr  r  r  r  r  r  r  r  r'  r(  r)  r*  r-  r.  r0  r1  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rS  rT  rU  rW  rZ  r[  r]  r^  r_  r`  ra  rb  rc  rd  rf  rj  rk  rl  rp  rq  rr  r~  r  r€  r  r‚  rƒ  r„  r…  r‡  rˆ  r‰  rŠ  r‹  rŒ  r  rŽ  r  r  Zvisit_field_nameZdepart_field_nameZvisit_field_bodyZdepart_field_bodyr’  r“  r”  r•  r—  r˜  r™  rš  rf   r›  rœ  r³  r´  r¸  r¹  r½  r¾  r¿  rÀ  rÁ  rÂ  rÃ  rÄ  Zvisit_attentionZdepart_attentionZvisit_cautionZdepart_cautionZvisit_dangerZdepart_dangerZvisit_errorZdepart_errorZ
visit_hintZdepart_hintZvisit_importantZdepart_importantZ
visit_noteZdepart_noteZ	visit_tipZ
depart_tipZvisit_warningZdepart_warningrÅ  rÆ  rÎ  rÏ  rÐ  rÑ  rä  ræ  rè  ré  rë  rì  rí  rî  rï  rð  rñ  rò  ró  rô  rõ  rö  r÷  rù  rú  rû  rü  rý  rþ  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  Zvisit_doctest_blockZdepart_doctest_blockr  r   r!  r"  r$  r%  r&  r'  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r?  r@  rA  rB  rC  rD  rE  rå   rç  r   rI  rJ  rK  rL  rM  rN  rO  rQ  rT  rU  r   rY  rM   r+   r+   )rD   r,   rF     s  
 
'
0

	"'!
R'.B	8
3		rF   )rÍ  r»  r‘  )r‹   )Vr5   rˆ   rW  Úcollectionsr   Úosr   Útypingr   r   r   r   r   r	   r
   r   r   Zdocutilsr   r   Zdocutils.nodesr   r   r   Zsphinxr   r   Zsphinx.deprecationr   Zsphinx.domainsr   Zsphinx.domains.stdr   Zsphinx.errorsr   Zsphinx.localer   r   r   Zsphinx.utilr   r   r   Zsphinx.util.docutilsr   Zsphinx.util.nodesr   r    Zsphinx.util.templater!   Zsphinx.util.texescaper"   Zdocutils.utils.romanr#   ÚImportErrorÚromanZsphinx.builders.latexr$   Zsphinx.builders.latex.themingr%   Ú	getLoggerr2   rº   r  r´   r{  rx   r
  Úcompiler×  r+  r1   r6   ÚWriterr8   rN   r€   r„   rŠ   rf   r˜   rF   Zsphinx.builders.latex.nodesrÍ  r»  r‘  r+   r+   r+   r,   Ú<module>   sz   ,



|#              1