
    -Phv             	         d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ ddlmZ dd	lmZmZ dd
lmZ ddlmZmZmZ ddlmZmZ ddlmZ ddlmZ ddl m!Z!m"Z" ddl#m$Z$ ddl%m&Z& e	r*ddl'm(Z( ddlm)Z)m*Z* ddl+m,Z,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4  ej5        e6          Z7dZ8g dZ9 ed dddddd           Z:d!Z;d"Z< ej=        d#          Z> G d$ d%ej?                  Z@ G d& d'e          ZA G d( d)ejB                  ZC G d* d+          ZD G d, d-          ZEd:d1ZFd;d<d6ZG G d7 d8e          ZHdd9lImJZJmKZKmLZL dS )=z~Custom docutils writer for LaTeX.

Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
docutils sandbox.
    )annotationsN)defaultdict)Path)TYPE_CHECKINGcast)nodeswriters)RomanNumeral)addnodeshighlighting)SphinxError)___admonitionlabels)logging	texescape)SphinxTranslator)split_index_msg)clean_astextget_prev_node)LaTeXRenderer)tex_replace_map)Iterable)AnyClassVar)ElementNodeText)LaTeXBuilder)Theme)
IndexEntry   )partchaptersection
subsectionsubsubsection	paragraphsubparagraphc                     dS )N\arabic r,       T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/writers/latex.py<lambda>r/   3   s    J r-   r+   z\alphz\Alphz\romanz\Roman)arabic
loweralpha
upperalpha
lowerroman
upperroman
z

z^(.*\S)\s+\(([^()]*)\)\s*$c                      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.   r7   r7   B   s        ????r-   r7   c                      e Zd ZdZdS )UnsupportedErrorzMarkup is unsupported in LaTeXN)r8   r9   r:   categoryr,   r-   r.   r=   r=   F   s        /HHHr-   r=   c                  z     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ded<   ded<   d fdZddZ xZ	S )LaTeXWriter)sphinxlatexzLaTeX writer options zDocument namez	--docnamedefaultzDocument classz
--docclassmanualAuthorz--authorzClassVar[dict[str, Any]]settings_defaultsr    themebuilderr   returnNonec                V    t                                                       || _        d S N)super__init__rH   )selfrH   	__class__s     r.   rN   zLaTeXWriter.__init__Z   s$    r-   c                    t          | j        t          j                  sJ | j                            | j        | j        | j                  }| j                            |           t          d|                                          | _	        d S )NLaTeXTranslator)

isinstancedocumentr   rH   create_translatorrG   	walkaboutr   astextoutput)rO   visitors     r.   	translatezLaTeXWriter.translate^   sz    $-88888,00M4<
 
 	(((,g66==??r-   )rH   r   rI   rJ   )rI   rJ   )
r8   r9   r:   	supportedsettings_specrF   __annotations__rN   rZ   __classcell__rP   s   @r.   r@   r@   J   s          I 	
{mi_=~	8/DE
|i_5	
M 354444LLL     @ @ @ @ @ @ @ @r-   r@   c                  H    e Zd ZdZddZddZdd
ZddZddZ	 	 dddZ	dS )TablezA table datanoder   rI   rJ   c                0   g | _         g | _        |                    dd          | _        |                    dg           | _        g | _        d| j        v r| j                            d           nGd| j        v r| j                            d           n#d| j        v r| j                            d           d| j        v r| j                            d           n#d| j        v r| j                            d           d	| _        d
| _        d| j        v s	d| j        v rd
| _	        nd| j        v rd| _	        nd | _	        g | _
        d| _        d| _        d| _        g | _        g | _        d	| _        d	| _        t%          t&                    | _        d	| _        d S )NalignrC   classesstandard
borderlessbooktabsnocolorrows	colorrowsr   rB   |F)headerbodygetrd   re   stylesappendcolcountcolspeccolsep	colwidthshas_problematichas_oldproblematichas_verbatimcaptionstubscolrowr   intcellscell_idrO   rb   s     r.   rN   zTable.__init__m   s   !#!	XXgy11
"&((9b"9"9!#%%Kz****T\))K|,,,,4<''Kz***DL((K}----DL((K{+++$$(C(C&(DKK4;&&DKKDK$&$"'!"$ "
  2=S1A1A
r-   boolc                *    | j         dk    pd| j        v S )z5True if and only if table uses longtable environment.   	longtable)r{   re   rO   s    r.   is_longtablezTable.is_longtable   s    x"};t| ;;r-   strc                    |                                  rdS | j        rdS | j        rdS | j        s| j        rd| j        v rdS dS )zReturns the LaTeX environment name for the table.

        The class currently supports:

        * longtable
        * tabular
        * tabulary
        r   tabulartabularycolwidths-given)r   rw   rr   ru   rt   re   r   s    r.   get_table_typezTable.get_table_type   sh      	; 		9\ 	:! 	N	0DL@@9:r-   c                   | j         r| j         S | j        }|J | j        rUd| j        v rLt	          | j                  fd| j        D             }d| |                    |           | dt          z   S | j        rd|| j        | j        |fz  t          z   S | 	                                dk    rd|z   d|z   | j        z  z   dz   t          z   S | j
        rd|| j        | j        |fz  t          z   S d|z   d	|z   | j        z  z   dz   t          z   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``.
        Nr   c                    g | ]	}d |fz  
S )z
\X{%d}{%d}r,   ).0widthtotals     r.   
<listcomp>z%Table.get_colspec.<locals>.<listcomp>   s"    SSS56SSSr-   {}z{%s*{%d}{\X{1}{%d}%s}}r   Tl)rr   rs   rt   re   sumjoinCRru   rq   r   rv   )rO   _colsepcolspecsr   s      @r.   get_colspeczTable.get_colspec   s_    < 	 <+"""> 	P/4<??''ESSSSDNSSSHDDh!7!7DDDDrII! 	P)DM4='BC
   ""j00=S7]dm$CDsJROO$ 	P)DM4='BC =S7]dm$CDsJROOr-   heightr|   r   c                    | xj         dz  c_         t          |          D ]Z}t          |          D ]H}| j        | j        |z   | j        |z   f         dk    sJ | j         | j        | j        |z   | j        |z   f<   I[dS )zsAdds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
           r   N)r~   ranger}   r{   rz   )rO   r   r   rz   r{   s        r.   add_cellzTable.add_cell   s    
 	<< 	J 	JCV}} J Jz$(S.$(S."@AQFFFF=A\
48c>48c>9::J	J 	Jr-   Nr{   
int | Nonerz   TableCell | Nonec                l    	 || j         }|| j        }t          | ||          S # t          $ r Y dS w xY w)zReturns a cell object (i.e. rectangular area) containing given position.

        If no option arguments: ``row`` or ``col`` are given, the current position;
        ``self.row`` and ``self.col`` are used to get a cell object by default.
        N)r{   rz   	TableCell
IndexError)rO   r{   rz   s      r.   cellz
Table.cell   sS    	{h{hT3,,, 	 	 	44	s   "% 
33rb   r   rI   rJ   )rI   r   rI   r   )r   r|   r   r|   rI   rJ   )NN)r{   r   rz   r   rI   r   )
r8   r9   r:   r;   rN   r   r   r   r   r   r,   r-   r.   ra   ra   j   s        % % % %N< < < <   ,#P #P #P #PJ	J 	J 	J 	J       r-   ra   c                  J    e Zd ZdZdd	Zedd
            Zedd            ZdS )r   zData of a cell in a table.tablera   r{   r|   rz   rI   rJ   c                   |j         ||f         dk    rt          || _        |j         ||f         | _        || _        || _        |j         | j        dz
  | j        f         | j        k    r5| xj        dz  c_        |j         | j        dz
  | j        f         | j        k    5|j         | j        | j        dz
  f         | j        k    r7| xj        dz  c_        |j         | j        | j        dz
  f         | j        k    5d S d S Nr   r   )r}   r   r   r~   r{   rz   )rO   r   r{   rz   s       r.   rN   zTableCell.__init__   s    ;sCx A%%
{38, k$(Q,01T\AAHHMHH k$(Q,01T\AAk$(DHqL01T\AAHHMHH k$(DHqL01T\AAAAAAr-   c                    d}| j         j        | j        | j        |z   f         | j        k    r/|dz  }| j         j        | j        | j        |z   f         | j        k    /|S )zReturns the cell width.r   r   r   r}   r{   rz   r~   )rO   r   s     r.   r   zTableCell.width  sc     jtxE)99:dlJJQJE jtxE)99:dlJJr-   c                    d}| j         j        | j        |z   | j        f         | j        k    r/|dz  }| j         j        | j        |z   | j        f         | j        k    /|S )zReturns the cell height.r   r   r   )rO   r   s     r.   r   zTableCell.height  sc     jtx&0$(:;t|KKaKF jtx&0$(:;t|KKr-   N)r   ra   r{   r|   rz   r|   rI   rJ   )rI   r|   )r8   r9   r:   r;   rN   propertyr   r   r,   r-   r.   r   r      sn        $$       X    X  r-   r   textr   rI   c                .    t          j        dd|           S )z#Adjust spacing after abbreviations.z
\.(?=\s|$)z.\@)resub)r   s    r.   escape_abbrr     s    6-...r-   d   	width_strscaler|   c                   t          j        d|           }|st          | }|                                dd         \  }}|dk    rAt	          |           |dv rd|z  }ni|dk    rd|z  }n]|d	k    rd
t	          |          dz  z  }nAt	          |          |z  dz  }|dv rd|z  }n"|dk    rd|z  }n|d	k    r	d|dz  z  }n|d| }|S )z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$N   r   >   rB   pxz%s\sphinxpxdimenptz%sbp%z%.3f\linewidth      Y@z%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz.5f)r   match
ValueErrorgroupsfloat)r   r   r   resamountunitamount_floats          r.   rstdim_to_latexdimr     s   H-y99E 
C<<>>"1"%LFD||f:%.CCT\\6/CCS[[#uV}}u'<=CV}}u,u4:',6CCT\\\)CCS[[#|e';<CC!--t--CJr-   c                  	    e Zd ZU ded<   dZdZd fdZddZddZddZ	dddZ
dddZddZddZddZddZdd"Zdd#Zdd'Zedd)            Zdd*Zdd+Zdd,Zdd-Zdd.Zdd/Zdd0Zdd1Zdd2Zdd3Zdd4ZeZ dd5Z!dd6Z"dd7Z#dd8Z$dd9Z%dd:Z&dd;Z'dd<Z(dd=Z)dd>Z*dd?Z+dd@Z,ddAZ-ddBZ.ddCZ/ddDZ0ddEZ1ddFZ2ddGZ3ddHZ4ddIZ5ddJZ6ddKZ7ddLZ8ddMZ9ddNZ:ddOZ;ddPZ<ddQZ=ddRZ>ddSZ?ddTZ@ddWZAddXZBddYZCddZZDdd[ZEdd]ZFdd^ZGdd_ZHdd`ZIddaZJddbZKddcZLdddZMddeZNddfZOddgZPddhZQd djZRd dkZSddlZTddmZUddnZVddoZWddpZXddqZYddrZZddsZ[ddtZ\dduZ]ddvZ^ddwZ_ddxZ`ddyZaddzZbdd{Zcdd|Zddd}Zedd~ZfddZgddZhddZiddZjddZkddZlddZmddZnddZoddZpddZqddZrddZsddZtddZuddZvddZwddZxddZyddZzeqZ{erZ|euZ}evZ~ddZddZddZddZddZddZddZddZd!d"dZd#dZddZddZddZddZddZddZddZddZddZddZddZddZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddÄZddĄZddńZddƄZddǄZddȄZddɄZddʄZÐdd˄ZĐdd̄ZŐdd̈́ZƐdd΄ZǐddτZȐddЄZɐddфZʐdd҄ZːddӄZ̐ddԄZ͐ddՄZΐddքZϐddׄZАdd؄ZѐddلZҐddڄZӐddۄZeZeZ֐dd܄Zאdd݄ZؐddބZِdd߄ZڐddZېddZܐddZݐddZސddZߐddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZd$dZd$dZd%dZd%dZddZddZ ddZdd	Zd&dZd'dZddZddZ xZS ((  rR   r   rH   r   FrT   nodes.documentrG   r    rI   rJ   c                   t                                          ||           g | _        || _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        g }| j        j                                        | _        t.                                          | _        | j        j        dk    r| j                            d           d| _        | j        j        rx	 | j                            | j        j                  | _        nM# t>          $ r@ t@          !                    tE          d          | j        j        | j        j#                   Y nw xY w| j        j$        r| j        j%        | _%        | j%        dk    rtM          | j                  tM          t.                    k     r!| j        dk    r| xj%        | j        z  c_%        n| xj%        | j        dz
  z  c_%        tO          | j%        tM          t.                    dz
            | _%        |(                    d| j%        z             n|(                    d           | j        j$        r0| j        j)        r$|*                    d	d
| j        j+        z  g           | j        j,        dvr.d| j        j-        vr dt\          z   dz   t\          z   dz   | j        d<   | j        j/        | _/        | j/        0                                s2t@          !                    tE          d          | j        j,                   | j1        }| j2        3                    d          r| j2        3                    dd          | j        z   dz
  }tM          | j                  tM          t.                    k     r| j        dk    r|dz  }|tM          t.                    dz
  k    r>t@          !                    tE          d                     tM          t.                    dz
  }d|z  | j        d<   ti          ||          }| j        j$        r(| j        j%        dk    rti          || j%        dz
            }|| j1        k    rd|z  | j        d<   |3                    d          }|r| 5                    d|          | j        d<   | j        d         r#|(                    d| j        d         z             |r dd6                    |          z  | j        d<   | j        d         rd | j        d         z  | j        d<   | j        d!         r#| j        d"xx         d| j        d!         z   z  cc<   to          j8        d#| j        j9        | j        j:        $          | _;        g | _        g | _<        g | _=        d | _>        g | _?        d | _@        g | _A        g | _B        t                      | _D        d S )%Nr   Fr   r%   r$   z+unknown %r toplevel_sectioning for class %rznumfigreset=%snonumfigreset
mathnumfigzmathnumsep={%s}>   enja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\contentsnamemaxlistdepthzmaxlistdepth=%sz[,%s],sphinxpkgoptionssphinxsetupz\sphinxsetup{%s}extraclassoptionsclassoptionslatexlatex_engine)ErM   rN   rm   rG   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_signaturerH   contextcopyelementsLATEXSECTIONNAMESsectionnamestoplevel_sectioningremovetop_sectionlevelconfiglatex_toplevel_sectioningindexr   loggerwarningr   docclassnumfignumfig_secnum_depthlenminrp   math_numfigextendmath_numseplanguagelatex_elementsr   babelis_supported_languager   rT   rn   maxbabel_renewcommandr   r   PygmentsBridgepygments_styler   highlighter	descstacktablesnext_table_colspec	bodystackfootnote_restrictedpending_footnotescurfilestacksethandled_abbrs)	rO   rT   rH   rG   r   minsecnumdepthr   r   rP   s	           r.   rN   zLaTeXTranslator.__init__=  s+    	7+++!	
 "'"# !""#!"!& ,1133 .2244:)Y66$$Y/// !";0 
		(,(9(?(?K9) )%%    DEEK9J'     ; 	9'+{'FD$'!++ )**S1B-C-CCC-11,,0EE,,,,,0E0II,,+.,c2C.D.Dq.H, ,( !''(84;S(STTTT ''888; 	$+"9 	##!DK$;;%    K 44$+"<<< 0;<  =	= M*% \'
z//11 	 NN:;;T[=Q   )=Z(( 	; }((S99D<QQTUUHD%&&->)?)???)A--A#/001444r"BCCDDD011A5(Dx(ODM*% ::N; 	O4;#BQ#F#F 1IA1MNNND,,,/.@ M-(  ||N33 	,0,C,C ,- -DM.) =( 	W##$5n8U$UVVV 	U07#((CS:T:T0TDM,-=' 	#dmM&BB M-( =,- 	VM.)))S4=AT3U-UU)))'6T[/dk>V
 
 
 #%$&#%.2*,37 AC')'*uus   )E AFFnewbody	list[str]c                R    | j                             | j                   || _        d S rL   )r  rp   rm   )rO   r  s     r.   pushbodyzLaTeXTranslator.pushbody  s%    di(((			r-   c                P    | j         }| j                                        | _         |S rL   )rm   r  pop)rO   rm   s     r.   popbodyzLaTeXTranslator.popbody  s#    yN&&((	r-   r   c                    | j                             d                    | j                  |                                 d           |                     d| j                   S )NrB   )rm   indiceszlatex.tex.jinja)r   updater   rm   generate_indicesrenderr   s    r.   rW   zLaTeXTranslator.astext  s_    GGDI&&,,..
 
 	 	 	 {{,dm<<<r-   Tidwithdocr   anchorc                n    |r| j         d         dz   |z   }|                     |          }|rdndd|z  z   S )N:\phantomsectionrB   
\label{%s})r  idescape)rO   r  r   r!  
escaped_ids        r.   hypertargetzLaTeXTranslator.hypertarget  sM     	2"2&,r1B]]2&&
&,4"""
8RRRr-   rb   r   c                d     d                      fd|d         D                       }|rd|z   S |S )NrB   c              3  F   K   | ]}                     |d           V  dS )Fr!  Nr)  )r   node_idrO   s     r.   	<genexpr>z1LaTeXTranslator.hypertarget_to.<locals>.<genexpr>  sG       
 
8?DWU33
 
 
 
 
 
r-   idsr%  )r   )rO   rb   r!  labelss   `   r.   hypertarget_tozLaTeXTranslator.hypertarget_to  sZ     
 
 
 
CG;
 
 
 
 
  	%..Mr-   c                2    d|                      |          z  S )Nz{\hyperref[%s]{r'  rO   r  s     r.   	hyperlinkzLaTeXTranslator.hyperlink  s    !DMM"$5$555r-   c                2    d|                      |          z  S )Nz\autopageref*{%s}r4  r5  s     r.   hyperpagerefzLaTeXTranslator.hyperpageref  s    #dmmB&7&777r-   sc                @    t          j        || j        j                  S rL   )r   escaper   r   )rO   r9  s     r.   r;  zLaTeXTranslator.escape  s    4;#;<<<r-   c                    t          |                              t                    }|                    dd                              d          }d|                    dd          z  S )Nasciibackslashreplacez\detokenize{%s}\r   )r   rZ   r   encodedecodereplacer5  s     r.   r'  zLaTeXTranslator.idescape  sV    WW//YYw 233::7CC!BJJtS$9$999r-   command
definitionc                    | j         d         rd| j                                        z  }d}nd}d}| d| d| d| t          z   S )Nmultilingualz\addto\captions%s{r   rB   z\renewcommand{}{)r   r  get_languager   )rO   rC  rD  prefixsuffixs        r.   r  z"LaTeXTranslator.babel_renewcommand  sd    =( 	*TZ-D-D-F-FFFFFFFMM'MMzMMVMMPRRRr-   c                   	 d	 fd}g 	 j         j        x}rt          |t                    sd}t	          |          }nd	} j                                        D ]}|j        D ]x}|j         d
|j         }|r||vr ||          	                     j
        j                  \  }}|r1	                    d|j        z  t          z               |||           yd                    	          S )Ncontent"list[tuple[str, list[IndexEntry]]]	collapsedr   rI   rJ   c                                        dt          z                                   dt          z              t          |           D ]\  }\  }}|dk    r                     dt          z                                   d                    |          z  t          z              |D ]}|d         s                     d                    |d                   z             |d         r1                     d	                    |d                   z                                  d
|d         d                    |d                   dt          z                                   dt          z              d S )Nz\begin{sphinxtheindex}z*\let\bigletter\sphinxstyleindexlettergroupr   z\indexspacez\bigletter{%s}   z%\item\relax\sphinxstyleindexentry{%s}   z\sphinxstyleindexextra{%s}z\sphinxstyleindexpageref{r   r$  r   z\end{sphinxtheindex})rp   r   	enumerater;  r@  r'  )rL  rN  iletterentriesentryretrO   s         r.   generatez2LaTeXTranslator.generate_indices.<locals>.generate  s    JJ025666JJDrIJJJ(1'(:(:  $$FGq55JJ~2333

,t{{6/B/BBRGHHH$  E 8 ! JJ@4;;uUVxCXCXX   Qx 

9DKKa<Q<QQ   JJJ 888T]]58%<%<%<%<>     JJ.344444r-   TF-z\renewcommand{\indexname}{%s}rB   )rL  rM  rN  r   rI   rJ   )r   latex_domain_indicesrS   r   	frozenset_domainssortedr  namerX  rH   docnamesrp   	localnamer   r   )
rO   rX  indices_configcheck_namesdomain	index_cls
index_namerL  rN  rW  s
   `        @r.   r  z LaTeXTranslator.generate_indices  sN   	5 	5 	5 	5 	5 	5 	56 ![==> 	5nd33 $"!*>!:!:#-..00 5 5!' 5 5I$*K!B!B).!B!BJ" !z'G'G )26):):)C)C-* *&GY  5

<y?RRUWW   !)4445 wws||r-   template_name	variablesdict[str, Any]c                T   t          | j        j                  }| j        j        D ]}| j        j        |z  |z  }|                                r%|                    t          |          |          c S |j	        dk    r|j
                            d          dz   }|                    |          }|                                rNt                              t          d          ||           |                    t          |          |          c S |                    ||          S )Nr   z.jinja_tz5template %s not found; loading from legacy %s instead)r   r   r   templates_pathrH   confdirexistsr  r   rJ  r^  removesuffix	with_namer   r   r   )rO   rf  rg  renderertemplate_dirtemplatelegacy_template_namelegacy_templates           r.   r  zLaTeXTranslator.renderD  s&    dk.FGGG K6 	L 	LL|+l:]JH   Ls8}}i@@@@@H,,'/}'A'A('K'Kd'R$"*"4"45I"J"J"))++ LNNRSS%'  
 $??3+?+?KKKKK}i888r-   Table | Nonec                .    | j         r| j         d         S dS )zGet current table.r#  N)r
  r   s    r.   r   zLaTeXTranslator.tableW  s     ; 	;r?"4r-   c                   | j                             |                    dd                     | j        dk    rd| _        n<| j        dk    r1| j                            t
          dz   t
          z              d| _        d|v r-| j                            |                     d                     | j        dz
  | _        d S )NdocnamerB   r   r   z	\appendixr#  z:doc)	r  rp   rn   r   rm   r   r)  r   sectionlevelr   s     r.   visit_documentzLaTeXTranslator.visit_document_  s      )R!8!8999!##"#D A%%IR,.3444"$DIT--f55666 1A5r-   c                    d S rL   r,   r   s     r.   depart_documentzLaTeXTranslator.depart_documentm      r-   c                    | j                             |d                    | j                            t          dz   t          z              d S )Nrx  z\sphinxstepscope)r  rp   rm   r   r   s     r.   visit_start_of_filez#LaTeXTranslator.visit_start_of_filep  sD      i111	11B677777r-   c                8    | j                                          d S rL   )r  r  r   s     r.   depart_start_of_filez$LaTeXTranslator.depart_start_of_filet  s    r-   c                r    | j         s| xj        dz  c_        | j                            t                     d S Nr   )r   ry  rm   rp   	BLANKLINEr   s     r.   visit_sectionzLaTeXTranslator.visit_sectionw  s=    % 	#"	#####r-   c                P    t          | j        dz
  | j        dz
            | _        d S r  )r  ry  r   r   s     r.   depart_sectionzLaTeXTranslator.depart_section|  s*     1A 5t7Lq7PQQr-   c                :    | j                             d           d S )Nz{\color{red}\bfseries{}rm   rp   r   s     r.   visit_problematicz!LaTeXTranslator.visit_problematic  s    	344444r-   c                :    | j                             d           d S Nr   r  r   s     r.   depart_problematicz"LaTeXTranslator.depart_problematic      	r-   c                   | xj         dz  c_         d|                    dg           v rN| j                            t          dz   t          z              | j                            dt          z              d S | j                            t          dz   t          z              | j                            dt          z              d S )Nr   contentsre   z\begin{sphinxcontents}z\end{sphinxcontents}z\begin{sphinxtopic}z\end{sphinxtopic})r   rn   rm   rp   r   r   r   s     r.   visit_topiczLaTeXTranslator.visit_topic  s    A)R0000IR";;b@AAAL 7" <=====IR"882=>>>L 4r 9:::::r-   c                    | xj         dz  c_         | j                            | j                                                   d S r  )r   rm   rp   r   r  r   s     r.   depart_topiczLaTeXTranslator.depart_topic  s@    A	))++,,,,,r-   c                    | xj         dz  c_         | j                            t          dz   t          z              | j                            dt          z              d S )Nr   z\begin{sphinxsidebar}z\end{sphinxsidebar})r   rm   rp   r   r   r   s     r.   visit_sidebarzLaTeXTranslator.visit_sidebar  sY    A	66;<<<2R788888r-   c                    d S rL   r,   r   s     r.   visit_glossaryzLaTeXTranslator.visit_glossary  r}  r-   c                    d S rL   r,   r   s     r.   depart_glossaryzLaTeXTranslator.depart_glossary  r}  r-   c                    | j                             t                     | j                             dt          z              d| _        d S )Nz\begin{productionlist}T)rm   rp   r  r   r   r   s     r.   visit_productionlistz$LaTeXTranslator.visit_productionlist  sB    	###	2R7888"&r-   c                X    d| _         | j                            dt          z              d S )NFz\end{productionlist})r   rm   rp   r  r   s     r.   depart_productionlistz%LaTeXTranslator.depart_productionlist  s,    "'	09<=====r-   c                    d S rL   r,   r   s     r.   visit_productionz LaTeXTranslator.visit_production  s	     	r-   c                    d S rL   r,   r   s     r.   depart_productionz!LaTeXTranslator.depart_production  r}  r-   c                P    | j                             | j        d                    d S )N
transition)rm   rp   r   r   s     r.   visit_transitionz LaTeXTranslator.visit_transition  s%    	|455555r-   c                    d S rL   r,   r   s     r.   depart_transitionz!LaTeXTranslator.depart_transition  r}  r-   c                    |j         }t          |t          j                  rt          j        t          |t          j                  r| j        rt          |j	                  dk    rNt          |j	        d         t          j
                  s)t                              t          d          |           | j        d         s/|                     |                                          | j        d<   d| _        t          j        d}t#          |                    t          j                            rJd|                     d                    t+          |                                                              z  }	 | j                            d	| j        | j                  | d
           n;# t6          $ r. | j                            d	| j        d          | d
           Y nw xY w| j                            dt:          z   |                     |j                   z              nt          |t          j                  rqd|                     dg           v r| j                            d           n| j                            d           | j                            dt:          z              nCt          |t          j!                  r=| j                            d           | j                            dt:          z              nt          |t          j"                  r=| j                            d
           | j                            dt:          z              nt          |t          j#                  r| $                    g            net                              t          d          |           | j                            d           | j                            dt:          z              d| _%        d S )Nr   r   z(document title is not a single Text nodelocationtitlerB   [%s] r?  r   r#  r   r  re   z\sphinxstylecontentstitle{z\sphinxstyletopictitle{z\sphinxstylesidebartitle{zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)&parentrS   r   seealsor   SkipNoder%   r   r   childrenr   r   r   r   r   r;  rW   anyfindallimager   r   splitrm   rp   r   ry  r   r   r   r2  topicrn   sidebar
Admonitionr   r  r   )rO   rb   r  shorts       r.   visit_titlezLaTeXTranslator.visit_title  s   fh.// 	!. fem,, 1	*% %&&!++&t}Q'7DD , NNEFFQU #    }W- H .2[[-G-GDM'*)*&n$E4<<,,-- SSXXl46H6H6N6N6P6P-Q-Q!R!RRH	  !Ud&78I&J!UE!U!U!UVVVV H H H	  !Fd&7&;!FU!F!F!FGGGGGH Lb4+>+>t{+K+K KLLLL,, 	*VZZ	26666	  !>????	  !;<<<Lb)))).. 	*I9:::Lb)))) 011 	*IS!!!Lb)))),, 	*MM"NN,       I7888Lb)))s   >0F/ /5G'&G'c                   d| _         t          |j        t          j                  r)| j        J |                                 | j        _        d S | j                            | j	        
                                           d S Nr   )r   rS   r  r   r   r  rx   rm   rp   r   r  r   s     r.   depart_titlezLaTeXTranslator.depart_title  so    dk5;// 	1:)))!%DJIT\--//00000r-   c                    t          |j        t          j                  r>| j                            d           | j                            dt          z              d S | j                            d           d S )Nz\sphinxstylesidebarsubtitle{r   rB   )rS   r  r   r  rm   rp   r   r   r   s     r.   visit_subtitlezLaTeXTranslator.visit_subtitle  sk    dk5=11 	$I<===Lb)))))L#####r-   c                h    | j                             | j                                                   d S rL   rm   rp   r   r  r   s     r.   depart_subtitlezLaTeXTranslator.depart_subtitle  ,    	))++,,,,,r-   c                V   | j         j        dk    rB| j                            t                     | j                            dt
          z              nA| j                            t                     | j                            dt
          z              | j        rd| j        _        d S d S )Nfootnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems}T)r   latex_show_urlsrm   rp   r  r   r   ru   r   s     r.   
visit_desczLaTeXTranslator.visit_desc	  s    ;&*44IY'''IFKLLLLIY'''I5:;;;: 	.)-DJ&&&	. 	.r-   c                2   | j         r)| j                            t          dz              d| _         | j        j        dk    r,| j                            t          dz   t          z              d S | j                            t          dz   t          z              d S )N\pysigstopsignaturesFr  z"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})r   rm   rp   r   r   r  r  r   s     r.   depart_desczLaTeXTranslator.depart_desc  s    ! 	+IR"99:::%*D";&*44IR"GG)STTTTTIR"889DEEEEEr-   c                   dd}dd}d	| _         d	| _        |D ]}t          |t          j                  rd
| _          ||          } ||          }t          |t          j                  r ||          }n	d
| _        d	}|r^|r.| j                            t          dz   t          z   dz              n| j                            t          dz   t          z   dz              n]|r.| j                            t          dz   t          z   dz              n-| j                            t          dz   t          z   dz               d S t          |t          j                  ri ||          r.| j                            t          dz   t          z   dz              n-| j                            t          dz   t          z   dz               d S | j                            t          dz   t          z   dz              d S )Ner   rI   Node | Nonec                    	 | j         | j                             |           dz            S # t          t          f$ r Y d S w xY wr  )r  r   AttributeErrorr   r  s    r.   next_siblingz;LaTeXTranslator._visit_signature_line.<locals>.next_sibling  sN    xq 1 1A 566"J/   tts   '* ??r   r   c                ,    |                      d          S )Nmulti_line_parameter_list)rn   r  s    r.   has_multi_linez=LaTeXTranslator._visit_signature_line.<locals>.has_multi_line#  s    554555r-   FTz*\pysigwithonelineperargwithonelinepertpargr   z(\pysiglinewithargsretwithonelinepertpargz#\pysigwithonelineperargwithtypelistz!\pysiglinewithargsretwithtypelistz\pysigwithonelineperargz\pysiglinewithargsretz
\pysigline)r  r   rI   r  )r  r   rI   r   )	has_tp_listorphan_tp_listrS   r   desc_type_parameter_listdesc_parameterlistrm   rp   r   )rO   rb   r  r  childmulti_tp_listarglistmulti_arglists           r.   _visit_signature_linez%LaTeXTranslator._visit_signature_line  sa   	 	 	 		6 	6 	6 	6 !# .	< .	<E%!BCC "#'  .u 5 5&,u--gx'BCC *$2N7$;$;MM +/D'$)M  $ 
	((KL ! ""    	((!LLrQTWW    % 	((!GG"LsR    	((!EEJSP   %!<== !>%(( OI$$R*D%Dr%IC%OPPPPI$$R*B%BR%G#%MNNN IR-/"4s:;;;;;r-   c                :    | j                             d           d S r  r  r   s     r.   _depart_signature_linez&LaTeXTranslator._depart_signature_lineY  r  r-   c                   d}|j         d         dk    r+|d         r#|d         D ]}||                     |          z  }| j                            |           | j        s)d| _        | j                            t
          dz              |                    d          s|                     |           d S | j                            t
          dz              d S )	NrB   objtypedescriber0  Tz\pysigstartsignaturesis_multilinez\pysigstartmultiline)r  r)  rm   rp   r   r   rn   r  )rO   rb   hyperr  s       r.   visit_desc_signaturez$LaTeXTranslator.visit_desc_signature\  s    ;y!Z//DK/5k . .))"---	% 	<%)D"IR"::;;;xx'' 	;&&t,,,,,IR"99:::::r-   c                    |                     d          s|                     |           d S | j                            t          dz              d S )Nr  z\pysigstopmultiline)rn   r  rm   rp   r   r   s     r.   depart_desc_signaturez%LaTeXTranslator.depart_desc_signaturej  sR    xx'' 	:''-----IR"8899999r-   c                0    |                      |           d S rL   )r  r   s     r.   visit_desc_signature_linez)LaTeXTranslator.visit_desc_signature_linep      ""4(((((r-   c                0    |                      |           d S rL   )r  r   s     r.   depart_desc_signature_linez*LaTeXTranslator.depart_desc_signature_lines  s    ##D)))))r-   c                j    | j         sJ | j                            t          dz              d| _         d S )Nr  F)r   rm   rp   r   r   s     r.   visit_desc_contentz"LaTeXTranslator.visit_desc_contentv  s;    %%%%	55666!&r-   c                    d S rL   r,   r   s     r.   depart_desc_contentz#LaTeXTranslator.depart_desc_content{  r}  r-   c                :    | j                             d           d S )N\sphinxcode{\sphinxupquote{r  r   s     r.   visit_desc_inlinez!LaTeXTranslator.visit_desc_inline~  s    	788888r-   c                :    | j                             d           d S N}}r  r   s     r.   depart_desc_inlinez"LaTeXTranslator.depart_desc_inline      	r-   c                Z    | j                             d           | xj        dz  c_        d S )N\sphinxbfcode{\sphinxupquote{r   rm   rp   r   r   s     r.   visit_desc_namezLaTeXTranslator.visit_desc_name  s3    	9:::1$r-   c                Z    | j                             d           | xj        dz  c_        d S Nr  r   r  r   s     r.   depart_desc_namez LaTeXTranslator.depart_desc_name  2    	1$r-   c                Z    | j                             d           | xj        dz  c_        d S )Nr  r   r  r   s     r.   visit_desc_addnamez"LaTeXTranslator.visit_desc_addname  s3    	78881$r-   c                Z    | j                             d           | xj        dz  c_        d S r  r  r   s     r.   depart_desc_addnamez#LaTeXTranslator.depart_desc_addname  r  r-   c                    d S rL   r,   r   s     r.   visit_desc_typezLaTeXTranslator.visit_desc_type  r}  r-   c                    d S rL   r,   r   s     r.   depart_desc_typez LaTeXTranslator.depart_desc_type  r}  r-   c                :    | j                             d           d S )Nz{ $\rightarrow$ r  r   s     r.   visit_desc_returnsz"LaTeXTranslator.visit_desc_returns      	,-----r-   c                :    | j                             d           d S r  r  r   s     r.   depart_desc_returnsz#LaTeXTranslator.depart_desc_returns  r  r-   parameter_grouptype[Element]c                   d| _         d| _        d| _        d| _        fd|j        D             | _        t          | j                  | _        d| _        |	                    dd          | _
        |	                    dd          | _        dS )	aK  Visit a signature parameters or type parameters list.

        The *parameter_group* value is the type of a child node acting as a required parameter
        or as a set of contiguous optional parameters.

        The caller is responsible for closing adding surrounding LaTeX macro argument start
        and stop tokens.
        Tr   c                0    g | ]}t          |          S r,   )rS   )r   cr  s     r.   r   z=LaTeXTranslator._visit_sig_parameter_list.<locals>.<listcomp>  s0     '
 '
 '
/0Jq/**'
 '
 '
r-   z\sphinxparamcomma r  Fmulti_line_trailing_commaN)is_first_paramoptional_param_levelparams_left_at_levelparam_group_indexr  list_is_required_paramr   required_params_leftparam_separatorrn   r  trailing_comma)rO   rb   r  s     `r.   _visit_sig_parameter_listz)LaTeXTranslator._visit_sig_parameter_list  s     #$%!$%!!"'
 '
 '
 '
48M'
 '
 '
# %((C$D$D!4)-2Mu)U)U&"hh'BEJJr-   c                    | j         r/| j        r'| j                            dt          z   dz              d S n%| j                            dt          z   dz              |                     |t          j                   d S Nr   r   )r  r  rm   rp   r   r  r   desc_parameterr   s     r.   visit_desc_parameterlistz(LaTeXTranslator.visit_desc_parameterlist  s     	-" 	  rC000	 IS2X^,,,&&tX-DEEEEEr-   c                b    | j         rJ | j                            dt          z   dz              d S r  r  rm   rp   r   r   s     r.   depart_desc_parameterlistz)LaTeXTranslator.depart_desc_parameterlist  s5    &&&&	rC(((((r-   c                    | j                             dt          z   dz              |                     |t          j                   d S r  )rm   rp   r   r  r   desc_type_parameterr   s     r.   visit_desc_type_parameter_listz.LaTeXTranslator.visit_desc_type_parameter_list  s?    	rC(((&&tX-IJJJJJr-   c                    | j         r2| j                            dt          z   dz   t          z   dz              d S | j                            dt          z   dz              d S )Nr   z{}r   r!  r   s     r.   depart_desc_type_parameter_listz/LaTeXTranslator.depart_desc_type_parameter_list  sc     	- IS2X_r1C788888 IS2X^,,,,,r-   parameter_macroc                8   | j         rd| _         n-| j        s&| j        s| j                            | j                   | j        dk    r| xj        dz  c_        n| xj        dz  c_        |                    d          s| j                            |           d S d S )NFr   r   noemph)	r  r  r  rm   rp   r  r  r  hasattr)rO   rb   r(  s      r.   _visit_sig_parameterz$LaTeXTranslator._visit_sig_parameter  s     	3"'D/ 	38Q 	3IT1222$))%%*%%%%%*%%||H%% 	.I_-----	. 	.r-   c                   |                     d          s| j                            d           | j        | j                 }| j        rrt          | j                  }| j        dz   |k    }| o| j        | j        dz            }| j        dk    }|s|r(|s| j        r| j                            | j	                   n&| j
        r| j                            | j	                   |r| xj        dz  c_        d S d S )Nr*  r   r   r   )r+  rm   rp   r  r  r  r   r  r  r  r  )rO   rb   is_requiredlen_lirpis_last_groupnext_is_requiredopt_param_left_at_levels          r.   _depart_sig_parameterz%LaTeXTranslator._depart_sig_parameter  s0   ||H%% 	"IS!!!1$2HI) 	34677H 2Q6(BM!! L/0F0JK  '+&?!&C#'77 &7 *.)<7
 	  !5666& 	3IT1222 	(""a'""""	( 	(r-   c                2    |                      |d           d S )Nz\sphinxparam{r,  r   s     r.   visit_desc_parameterz$LaTeXTranslator.visit_desc_parameter  s    !!$(899999r-   c                0    |                      |           d S rL   r3  r   s     r.   depart_desc_parameterz%LaTeXTranslator.depart_desc_parameter  r  r-   c                2    |                      |d           d S )Nz\sphinxtypeparam{r5  r   s     r.   visit_desc_type_parameterz)LaTeXTranslator.visit_desc_type_parameter  s    !!$(<=====r-   c                0    |                      |           d S rL   r8  r   s     r.   depart_desc_type_parameterz*LaTeXTranslator.depart_desc_type_parameter
  r  r-   c                   t          d |j        D                       | _        | xj        dz  c_        | j        | _        | j        r| j        r| j                            d           d S | j	        r;| j                            | j
                   | j                            d           d S | j                            d           | j                            | j
                   d S | j                            d           d S )Nc              3  J   K   | ]}t          |t          j                  V  d S rL   )rS   r   r  )r   r  s     r.   r/  z6LaTeXTranslator.visit_desc_optional.<locals>.<genexpr>  s@       (
 (
78Jq(122(
 (
 (
 (
 (
 (
r-   r   z\sphinxoptional{)r   r  r  r  max_optional_param_levelr  r  rm   rp   r  r  r   s     r.   visit_desc_optionalz#LaTeXTranslator.visit_desc_optional  s   $' (
 (
<@M(
 (
 (
 %
 %
! 	!!Q&!!(,(A%) 
	2" 7	  !455555* 7	  !5666	  !455555	  !4555	  !566666I011111r-   c                f   | xj         dz  c_         | j         }| j        r`| j        }t          | j                  }| j        dz   |k    }||dz
  k    r.|r|dk    s| j        r| j                            | j	                   | j                            d           |dk    r| xj        dz  c_        d S d S )Nr   r   r   )
r  r  r@  r   r  r  r  rm   rp   r  )rO   rb   level	max_levelr/  r0  s         r.   depart_desc_optionalz$LaTeXTranslator.depart_desc_optional  s    !!Q&!!)) 
	75I4677H 2Q6(BM 	A%%! &%*QYY$2EY	  !5666	A::""a'"""" :r-   c                :    | j                             d           d S )Nr  r  r   s     r.   visit_desc_annotationz%LaTeXTranslator.visit_desc_annotation1  s    	9:::::r-   c                :    | j                             d           d S r  r  r   s     r.   depart_desc_annotationz&LaTeXTranslator.depart_desc_annotation4  r  r-   c                    | j                             t                     | j                             dt          d         z  t          z              | xj        dz  c_        | j        rd| j        _        d S d S )Nz\begin{sphinxseealso}{%s:}r  r   T)rm   rp   r  r   r   r   r   ru   r   s     r.   visit_seealsozLaTeXTranslator.visit_seealso9  s    	###	),<Y,GG"L	
 	
 	
 	!: 	.)-DJ&&&	. 	.r-   c                    | j                             t                     | j                             d           | j                             t                     | xj        dz  c_        d S )Nz\end{sphinxseealso}r   )rm   rp   r  r   r   s     r.   depart_seealsozLaTeXTranslator.depart_seealsoB  s_    	###	/000	###!r-   nodes.rubricc                   t          |          dk    r1|                                dt          d          hv rt          j        d}d|v r]|d         }	 | j        | j        dz
  |z            }n;# t          $ r. t          	                    t          d          |d|           Y nw xY w| j                            d| d	           | j                            d
t          z              d| _        d S )Nr   	Footnotesr'   zheading-levelz$unsupported rubric heading level: %sr   )typer  r?  z*{r   )r   rW   r   r   r  r   r   	Exceptionr   r   r   rm   rp   r   r   r   )rO   rb   tagrC  s       r.   visit_rubriczLaTeXTranslator.visit_rubricH  s   t99>>dkkmmQ{^^/LLL. d"")E'(=(AE(IJ   =>> !	       		c'''C"H%%%s   A- -5B%$B%c                v    d| _         | j                            | j                                                   d S r  )r   rm   rp   r   r  r   s     r.   depart_rubriczLaTeXTranslator.depart_rubric\  s3    	))++,,,,,r-   c                   | xj         dz  c_         t          d|d                   }| j        r0| j                            d|                                z             nQ| j                            dt          z              | j                            d|                                z             d|v r	 | j                            dt          z              d S )Nr   nodes.labelr   z\begin{footnote}[%s]r   referred\sphinxAtStartFootnote)r   r   r   rm   rp   rW   r   rO   rb   labels      r.   visit_footnotezLaTeXTranslator.visit_footnote`  s    A]DG,,! 	GI4u||~~EFFFFIS2X&&&I4u||~~EFFF	2R788888r-   c                    | j         r| j                            d           n<| j                            dt          z              | j                            d           | xj        dz  c_        d S )Nz\end{footnote}r   r   )r   rm   rp   r   r   r   s     r.   depart_footnotezLaTeXTranslator.depart_footnotem  sr    ! 	0I.////IS2X&&&I.///Ar-   c                    t           j        rL   r   r  r   s     r.   visit_labelzLaTeXTranslator.visit_labelu  
    nr-   c                4    |d         | _         t          j        )Nspec)r  r   r  r   s     r.   visit_tabular_col_specz&LaTeXTranslator.visit_tabular_col_specx  s    "&v,nr-   c                   t          | j                  dk    rZ| j        J | j                                        dk    r't	          | j        d         d|j        pdd          d| j        _        n?t          | j                  dk    r't	          | j        d         d|j        pdd	          t          |          }| j        	                    |           |j
        .d
d| j        j        j        vod| j        j        j        vz  |_
        | j        rd| j        z  t          z   |_        d
|j        v r"|j        	                    d           d
|_
        n!|j        	                    d           d|_
        d|                    dg           v r)t&                              t+          d          |           d | _        d S )Nr   r   r#  r$  rB   z-: longtable does not support nesting a table.Tr   z+: deeply nested tables are not implemented.rk   rh   rg   z{%s}vlinesnovlinesr   re   zGboth tabularcolumns and :widths: option are given. :widths: is ignored.r  )r   r
  r   r   r=   r  lineru   ra   rp   rs   rH   r   latex_table_styler  r   rr   ro   rn   r   infor   )rO   rb   r   s      r.   visit_tablezLaTeXTranslator.visit_table|  s   t{q  :)))z((**k99&(,,,dio2oo?   *.DJ&&!!"$R((($)/r//;  
 d5!!!<$,"5"GG N (;(MMEL " 	"T%<<rAEMem####H---"##J///! DHHY$;$;;;/  "     #'r-   c                   | j         J |                     |          }| j                                         }|                     |dz   | j         |d          }| j                            t                     | j                            |           | j                            t                     | j        	                                 d S )Nz
.tex.jinja)r   r1  )
r   r2  r   r  rm   rp   r  r   r
  r  )rO   rb   r1  
table_typer   s        r.   depart_tablezLaTeXTranslator.depart_table  s    z%%%$$T**Z..00
%v'N'N
 
 		###		r-   c                    | j         J | j         xj        dz  c_        d|v r%| j         j                            |d                    d|v r.| j         j                            | j         j        dz
             d S d S )Nr   colwidthstub)r   rq   rt   rp   ry   r   s     r.   visit_colspeczLaTeXTranslator.visit_colspec  s    z%%%
q J ''Z(8999T>>J##DJ$7!$;<<<<< >r-   c                    d S rL   r,   r   s     r.   depart_colspeczLaTeXTranslator.depart_colspec  r}  r-   c                    d S rL   r,   r   s     r.   visit_tgroupzLaTeXTranslator.visit_tgroup  r}  r-   c                    d S rL   r,   r   s     r.   depart_tgroupzLaTeXTranslator.depart_tgroup  r}  r-   c                V    | j         J |                     | j         j                   d S rL   )r   r  rl   r   s     r.   visit_theadzLaTeXTranslator.visit_thead  s-    z%%%dj'(((((r-   c                    | j         r*| j         d         dk    r| j                                          |                                  d S Nr#  \sphinxhlinerm   r  r  r   s     r.   depart_theadzLaTeXTranslator.depart_thead  <    9 	2/99IMMOOOr-   c                V    | j         J |                     | j         j                   d S rL   )r   r  rm   r   s     r.   visit_tbodyzLaTeXTranslator.visit_tbody  s,    z%%%djo&&&&&r-   c                    | j         r*| j         d         dk    r| j                                          |                                  d S r~  r  r   s     r.   depart_tbodyzLaTeXTranslator.depart_tbody  r  r-   c                   | j         J d| j         _        | j         j        }	 | j                             | j         j        | j         j                  }|d S | j         xj        |j        z  c_        |j        r| j                            d           |j        dk    r#| j                            d|j        z             n+| j                            d|j        |||j        fz             )Nr   T&r   \sphinxtablestrut{%d}z.\multicolumn{%d}{%sl%s}{\sphinxtablestrut{%d}})	r   rz   rs   r   r{   r   rm   rp   r~   )rO   rb   r   r   s       r.   	visit_rowzLaTeXTranslator.visit_row  s    z%%%
*#	:??4:>4:>BBD|JNNdj(NNx &	  %%%zQ	  !9DL!HIIII	  Ez7GT\BC  	r-   c                     j         J  j                            dt          z               fdt	           j         j                  D             } fd|D             }t          |          r j                            d           nd}|                    dg           |d         du rwd}| j         j        k     re||         du r[||dz
           j        ||         j        k    r j                            d|z             |dz  }| j         j        k     r
||         du [| j         j        k     r||d          	                    d          } j                            d	|dz   ||z   fz             ||z  }|dz  }| j         j        k     re||         du r[||dz
           j        ||         j        k    r j                            d|z             |dz  }| j         j        k     r
||         du [| j         j        k     щ j                            d
 j         j        z              j         xj
        dz  c_
        d S )Nz\\c                Z    g | ]'}j                             j         j        |          (S r,   )r   r   r{   )r   rS  rO   s     r.   r   z.LaTeXTranslator.depart_row.<locals>.<listcomp>  s-    XXX33XXXr-   c                P    g | ]"}|j         |j        z   j        j         d z   k    #S )r   )r{   r   r   )r   r   rO   s     r.   r   z.LaTeXTranslator.depart_row.<locals>.<listcomp>  s@     
 
 
 Ht{"djnq&88
 
 
r-   r  r   Fr   z\sphinxvlinecrossing{%d}z\sphinxcline{%d-%d}z\sphinxfixclines{%d})r   rm   rp   r   r   rq   allr   r~   r   r{   )rO   rb   r}   
underlinedrS  js   `     r.   
depart_rowzLaTeXTranslator.depart_row  s   z%%%	$$$XXXXU4:CV=W=WXXX
 
 
 

 
 

 z?? 	LI_----Aug&&&!}%%$*---*Q-52H2HQU|+uQx/???	(()Dq)HIIIFA $*---*Q-52H2H dj)))qrrN((//	  !71q5!a%.!HIIIQQ$*---*Q-52H2HQU|+uQx/???	(()Dq)HIIIFA $*---*Q-52H2H dj))) I4tz7JJKKK
!r-   c                l   | j         J | j         j        dk    r| j                            d           | j                             |                    dd          dz   |                    dd          dz              | j                                         }|J d}| j         j        }|j        dk    r| j	        j
        ru| j         j        dk    r.| j                            d|j        ||fz  t          z              n,| j                            d|j        |fz  t          z              d	t          z   }n4| j                            d
|j        z  t          z              dt          z   }|j        dk    r>| j                            d|j        |j        fz  t          z              d	t          z   |z   }|j        dk    s|j        dk    rU| j                            d|j        | j         j        fz  t          z              dt          z   dz   t          z   |z   }d| _        t!          t#          |                    t&          j                                      dk    rd| j         _        t-          |j        j        t&          j                  s|j        | j         j        v rbt!          |          dk    r5t-          |d         t&          j                  r|                                sn| j                            d           | j        r|                     g            | j                            |           d S )Nr   r  morerowsr   morecolsrB   z\multicolumn{%d}{%sl%s}{%%z\multicolumn{%d}{l%s}{%%}%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   rz   rm   rp   r   rn   r   rs   r   r   latex_use_latex_multicolumnr   r   r~   rq   r   r   listr  r   r(   rv   rS   r  theadry   rW   r  r   )rO   rb   r   r   r   s        r.   visit_entryzLaTeXTranslator.visit_entry  s"   z%%%:>AIS!!!
DHHZ33a7*a9P9PST9TUUUz  *#:>>{6 9:>Q&&I$$5Wg8VV   
 I$$3tz76KKbP   )	  !ADJ!NQS!STTT3b8;??I-dl0KKbP   Ri')G:>>T[1__I?:tz234   "  7 79;<>EF  '(D#tDLL112233q88,0DJ)t{)5;77	>DJ,,, D		QtAw88   	  !<===" 	MM"G$$$$$r-   c                @   | j         rpd| _         |                                 }|r9|d         t          k    r(|                    d           |r|d         t          k    (| j                            |           | j                            | j                                                   | j        J | j        	                                }|J | j        xj
        |j        z  c_
        | j        j        }	 | j        	                                }|d S | j                            d           |j        dk    r#| j                            d|j        z             n*| j                            d|j        ||j        fz             | j        xj
        |j        z  c_
        )Nr   Tr  r   r  z,\multicolumn{%d}{l%s}{\sphinxtablestrut{%d}})r   r  r   r  rm   r   rp   r   r   r   rz   r   rs   r~   )rO   rb   rm   r   r   nextcells         r.   depart_entryzLaTeXTranslator.depart_entryI  s   " 	#&'D#<<>>D  47b==  47b==IT"""	))++,,,z%%%z  
$*$*#	-z((HIS!!!~"" 	  !9H<L!LMMMM 	  C~w0@AB   JNNhn,NN!	-r-   c                V   t          d|d                   }t          d|          }| j                            t                     | j                            d                    d |D                       dz              | j                            t                     t
          j        )Nznodes.bullet_listr   zIterable[nodes.list_item], c              3  >   K   | ]}|                                 V  d S rL   rW   )r   ns     r.   r/  z-LaTeXTranslator.visit_acks.<locals>.<genexpr>t  s*      "B"B!188::"B"B"B"B"B"Br-   .)r   rm   rp   r  r   r   r  )rO   rb   bullet_list
list_itemss       r.   
visit_ackszLaTeXTranslator.visit_acksn  s     .Q885{CC
	###	"B"Bz"B"B"BBBSHIII	###nr-   c                    | j         s"| j                            dt          z              | j        rd| j        _        d S d S )Nz\begin{itemize}Tr   rm   rp   r   r   ru   r   s     r.   visit_bullet_listz!LaTeXTranslator.visit_bullet_listx  sM      	6I/"4555: 	.)-DJ&&&	. 	.r-   c                \    | j         s$| j                            dt          z              d S d S )Nz\end{itemize}r   rm   rp   r   r   s     r.   depart_bullet_listz"LaTeXTranslator.depart_bullet_list~  s9      	4I-233333	4 	4r-   c                  	 dd}d	fd	 	|          }dt          |                                           }dt          |d	z                                              }t                               ||                    }|                    d
d          }|                    dd          }| j                            dt          z              | j                            d|d|d|d|d|dt          z              d|v r0| j                            d||d         d	z
  fz  t          z              | j        rd| j        _        d S d S )Nrb   r   rI   r   c                    |                      dd          }d|v r,|                      dd          t          |           z   dk    rd}|S )Nenumtyper0   alphastartr      )rn   r   )rb   r  s     r.   get_enumtypez;LaTeXTranslator.visit_enumerated_list.<locals>.get_enumtype  sM    xx
H55H(""!(<(<s4yy(HB'N'N#Or-   r|   c                    | dS t          | t          j                  r | j                  dz   S  | j                  S r   )rS   r   enumerated_listr  )rb   get_nested_levels    r.   r  z?LaTeXTranslator.visit_enumerated_list.<locals>.get_nested_level  sM    |qD%"788 5''44q88''444r-   enumr   rI  rB   rJ  r  z\begin{enumerate}z\sphinxsetlistlabels{rG  r  r  z\setcounter{%s}{%d}T)rb   r   rI   r   )rb   r   rI   r|   )	r
   to_lowercaseENUMERATE_LIST_STYLErn   rm   rp   r   r   ru   )
rO   rb   r  nested_levelr  enumnextstylerI  rJ  r  s
            @r.   visit_enumerated_listz%LaTeXTranslator.visit_enumerated_list  s   	 	 	 		5 	5 	5 	5 	5 	5 ('--Al<00==??AAI,|a'788EEGGII$((d););<<(B''(C((	-2333	uudddHHHffffff6	
 	
 	

 d??I3tT']Q=N6OORTTUUU: 	.)-DJ&&&	. 	.r-   c                J    | j                             dt          z              d S )Nz\end{enumerate}rm   rp   r   r   s     r.   depart_enumerated_listz&LaTeXTranslator.depart_enumerated_list  s$    	+b011111r-   c                :    | j                             d           d S )Nz	\item {} r  r   s     r.   visit_list_itemzLaTeXTranslator.visit_list_item  s      		&&&&&r-   c                D    | j                             t                     d S rL   r  r   s     r.   depart_list_itemz LaTeXTranslator.depart_list_item      	r-   c                t    | j                             dt          z              | j        rd| j        _        d S d S )Nz\begin{description}Trm   rp   r   r   ru   r   s     r.   visit_definition_listz%LaTeXTranslator.visit_definition_list  sB    	/"4555: 	.)-DJ&&&	. 	.r-   c                J    | j                             dt          z              d S )Nz\end{description}r  r   s     r.   depart_definition_listz&LaTeXTranslator.depart_definition_list  $    	-233333r-   c                    d S rL   r,   r   s     r.   visit_definition_list_itemz*LaTeXTranslator.visit_definition_list_item  r}  r-   c                    d S rL   r,   r   s     r.   depart_definition_list_itemz+LaTeXTranslator.depart_definition_list_item  r}  r-   c                   | xj         dz  c_         d}|                    d          r'd}|d         D ]}||                     |d          z  }|dz  }| j                            d           | j                            |           d S )	Nr   rB   r0  r%  Fr,  r   z\sphinxlineitem{)r   rn   r)  rm   rp   r   )rO   rb   ctxr.  s       r.   
visit_termzLaTeXTranslator.visit_term  s    88E?? 	?$C; ? ?t'''>>>t	,---C     r-   c                    | j                             | j                                                   | xj        dz  c_        d S r  )rm   rp   r   r  r   r   s     r.   depart_termzLaTeXTranslator.depart_term  s:    	))++,,,r-   c                :    | j                             d           d S )Nz{[}r  r   s     r.   visit_classifierz LaTeXTranslator.visit_classifier      	r-   c                :    | j                             d           d S )Nz{]}r  r   s     r.   depart_classifierz!LaTeXTranslator.depart_classifier  r  r-   c                    d S rL   r,   r   s     r.   visit_definitionz LaTeXTranslator.visit_definition  r}  r-   c                D    | j                             t                     d S rL   r  r   s     r.   depart_definitionz!LaTeXTranslator.depart_definition  r  r-   c                t    | j                             dt          z              | j        rd| j        _        d S d S )Nz \begin{quote}\begin{description}Tr  r   s     r.   visit_field_listz LaTeXTranslator.visit_field_list  sB    	<rABBB: 	.)-DJ&&&	. 	.r-   c                J    | j                             dt          z              d S )Nz\end{description}\end{quote}r  r   s     r.   depart_field_listz!LaTeXTranslator.depart_field_list  s$    	82=>>>>>r-   c                    d S rL   r,   r   s     r.   visit_fieldzLaTeXTranslator.visit_field  r}  r-   c                    d S rL   r,   r   s     r.   depart_fieldzLaTeXTranslator.depart_field  r}  r-   c                   |j                             |          }|dk    rt          |j         t          j                  rtt          |j         |dz
           t          j                  sLt          |j         |dz
           t          j                  s$| j                            dt          z              d S |dk    r)t          |j         t          j	        t          z            rd S | j                            t          dt          z   g           d S )Nr   r   	\noindentz\sphinxAtStartPar)r  r   rS   r   compoundr(   rm   rp   r   r  footnotetextr   )rO   rb   r   s      r.   visit_paragraphzLaTeXTranslator.visit_paragraph  s    !!$''AII4;77 t{5195uGG  t{5195u~FF  I\B./////aZZJt{EN\4QRRZ D
 Ib"6";<=====r-   c                D    | j                             t                     d S rL   r  r   s     r.   depart_paragraphz LaTeXTranslator.depart_paragraph  r  r-   c                t    | j                             t          dz              | j        rd| j        _        d S d S )N\begin{center}Tr  r   s     r.   visit_centeredzLaTeXTranslator.visit_centered  sB    	//000: 	.)-DJ&&&	. 	.r-   c                J    | j                             t          dz              d S )N\end{center}r  r   s     r.   depart_centeredzLaTeXTranslator.depart_centered	  s#    	o-.....r-   c                N   | xj         dz  c_         |d         }| j         dk    r"| j                            dt          z              | j                            d|z   dz   t          z              | j                            dt          z              | j        rd| j        _        d S d S )Nr   ncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z}\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}Tr  )rO   rb   r  s      r.   visit_hlistzLaTeXTranslator.visit_hlist  s    Q
#q  I=BCCC	.9<LLrQRRR	)+-.	
 	
 	
 : 	.)-DJ&&&	. 	.r-   c                j    | xj         dz  c_         | j                            dt          z              d S )Nr   z*\end{itemize}\raggedcolumns\end{multicols}r  r   s     r.   depart_hlistzLaTeXTranslator.depart_hlist  s8    Q	FKLLLLLr-   c                    d S rL   r,   r   s     r.   visit_hlistcolzLaTeXTranslator.visit_hlistcol  r}  r-   c                    d S rL   r,   r   s     r.   depart_hlistcolzLaTeXTranslator.depart_hlistcol   s	     	r-   r   r   r   r|   
str | Nonec                    	 t          ||          S # t          $ r, t                              t	          d          |           Y d S w xY w)Nz&dimension unit %s is invalid. Ignored.)r   r   r   r   r   )rO   r   r   s      r.   latex_image_lengthz"LaTeXTranslator.latex_image_length(  sV    	%i777 	 	 	NN2FGGSSS44	s    2AAc                @    t          |j        t          j                  S )z2Check whether a node represents an inline element.)rS   r  r   TextElementr   s     r.   	is_inlinezLaTeXTranslator.is_inline/  s    $+u'8999r-   c                   g }g }g }t          |j        t          j                  }|r|                     |j                  }n|                     |          }d|v r\d|v r#|                     |d         |d                   }n|                     |d                   }|r|                    d|z             d|v r\d|v r#|                     |d         |d                   }n|                     |d                   }|r|                    d|z             d|v r0|s.|                    dt          |d                   dz  z             d|v rmd	d
ddddd}		 |                    |	||d         f         d                    |                    |	||d         f         d                    n# t          $ r Y nw xY w| j	        r*|                    d           |                    d           |s9|s7|                    t          dz              |                    t                     |                                 |d         | j        j        v r| j        j        |d                  }
n| j        rd S |d         }
|
                    d          dk    rd S | j                            |           d}|rdd                    |          z  }t'          |
          }|                    d          }|j        }| j        r|rd| d| d| d}nd| d| d| d}dt/          |          v rd | d}| j                            |           | j                            |           d S )!Nr   r   zwidth=%sr   z	height=%szscale=%sr   rd   )rB   rB   )z\raisebox{-0.5\height}{r   )z\raisebox{-\height}{r   ){\hspace*{\fill}\hspace*{\fill}})r   r  )r  r   ))r   top)r   middle)r   bottom)r   center)r   left)r   rightr   r   z!{\sphinxunactivateextrasandspace r   r  uriz://r#  rB   r  r   z!\lowercase{\sphinxincludegraphicsz}{{z\sphinxincludegraphicsz{{#z{\catcode`\#=12)rS   r  r   	referencer   r  rp   r   KeyErrorr   r   reverserH   imagesignore_missing_imagesfindrm   r   r   r   with_suffixrJ  r   r   )rO   rb   prepostinclude_graphics_optionshas_hyperlinkr   whalign_prepostr
  optionsimg_pathbaseextcmds                   r.   visit_imagezLaTeXTranslator.visit_image3  s   #% "4;@@ 	-t{33IIt,,Id??$++DM4=II++DM:: @(//
Q???t$++DNDMJJ++DN;; A(//a@@@d??+  )//%W"6"6">?   d?? %@=I 88 M

=DM)AB1EFFFM)T']*BCAFGGGG   ! 	JJ;<<<KK 	 	JJrL()))KKOOO;$,---,%d5k2CC ) u+C88E??b  F	# 	Bsxx(@AAAG99##B''o= 	IT 	I WVVtVVsVVVCCHGHHHHHHHC#d))-c---C		s   AF- -
F:9F:c                    d S rL   r,   r   s     r.   depart_imagezLaTeXTranslator.depart_image  r}  r-   c                   | j         d         }| j        rd}| j        r#| j                            t
                     d|v re|                     |d                   }|rG| j                            d|z  t          z              | j                            dt          z              nD| j                            dt          z              | j                            dt          z              t          d |D                       r| j                            d           | j	                            d	t          z              d S |
                    d
d          dv rd }d|v r|                     |d                   }nKt          |d         t          j                  r+d|d         v r!|                     |d         d                   }| j                            t
                     | j                            d|d
         dk    rdndd|pddt          z              | j                            d           | j	                            dt
          z   dz   t          z              d S | j        rF| j                            t          dz              | j	                            dt          z              d S | j                            t          d|z  z   t          z              | j                            dt          z              t          d |D                       r"| j                            dt          z              | j	                            dt          z              d S )Nfigure_alignHr   z!\begin{sphinxfigure-in-table}[%s]z
\centeringz\begin{sphinxfigure-in-table}c              3  J   K   | ]}t          |t          j                  V  d S rL   rS   r   rx   r   r  s     r.   r/  z/LaTeXTranslator.visit_figure.<locals>.<genexpr>  .      FF:eU]33FFFFFFr-   z	\capstartz!\end{sphinxfigure-in-table}\relaxrd   rB   >   r  r	  r   z\begin{wrapfigure}{r	  rr   rG  0ptr   z\end{wrapfigure}z6\mbox{}\par\vskip-\dimexpr\baselineskip+\parskip\relaxr  r  z\begin{figure}[%s]c              3  J   K   | ]}t          |t          j                  V  d S rL   r&  r'  s     r.   r/  z/LaTeXTranslator.visit_figure.<locals>.<genexpr>  r(  r-   z\end{figure})r   r   r   rm   rp   r  r  r   r  r   rn   rS   r   r  r   )rO   rb   rd   lengths       r.   visit_figurezLaTeXTranslator.visit_figure  s^   n- 	E: ,	6IY'''$00g?? 9I$$%IF%RUW%WXXXI$$]R%7888	  !AB!FGGG	  !3444FFFFFFF /	  ...L Dr IJJJJJXXgr""&777F$00g??DGU[11 Cga6H6H00a1ABB IY'''Iw-72233;;V_u__N  
 I]+++L#KL       	6IR"33444L" 455555IR"7%"??"DEEEI]R/000FFFFFFF 4	  !2333L" 455555r-   c                h    | j                             | j                                                   d S rL   r  r   s     r.   depart_figurezLaTeXTranslator.depart_figure  r  r-   c                   | xj         dz  c_         t          |j        t                    r| j                            d           d S | j        r;t          |j        t          j                  r| j                            d           d S | j	        r,|j        j
        dk    r| j                            d           d S | j                            d           d S )Nr   z\sphinxSetupCaptionForVerbatim{z\captionof{figure}{figurez\sphinxfigcaption{z	\caption{)r   rS   r  captioned_literal_blockrm   rp   r   r   r1  r   tagnamer   s     r.   visit_captionzLaTeXTranslator.visit_caption  s    1dk#:;; 	+I?@@@@@ 	+*T[%,"G"G 	+I344444Z 	+DK/8;;I233333I\*****r-   c                    | j                             d           t          |j        t          j                  r4|                     |j                  }| j                             |           | xj        dz  c_        d S )Nr   r   )rm   rp   rS   r  r   r1  r2  r   )rO   rb   r1  s      r.   depart_captionzLaTeXTranslator.depart_caption  sm    	dk5<00 	%((55FIV$$$1r-   c                J    | j                             t          dz              d S )Nz\begin{sphinxlegend}r  r   s     r.   visit_legendzLaTeXTranslator.visit_legend  s$    	5566666r-   c                J    | j                             dt          z              d S )Nz\end{sphinxlegend}r  r   s     r.   depart_legendzLaTeXTranslator.depart_legend  s$    	.344444r-   c                    | j                             t          dz              | xj        dz  c_        | j        rd| j        _        d S d S )Nz\begin{sphinxadmonition}{note}r   T)rm   rp   r   r   r   ru   r   s     r.   visit_admonitionz LaTeXTranslator.visit_admonition  sV    	??@@@!: 	.)-DJ&&&	. 	.r-   c                j    | j                             dt          z              | xj        dz  c_        d S Nz\end{sphinxadmonition}r   rm   rp   r   r   r   s     r.   depart_admonitionz!LaTeXTranslator.depart_admonition  8    	2R7888!r-   c                    t           |j                 }| j                            t          d|j        d|dz              | xj        dz  c_        | j        rd| j        _        d S d S )Nz\begin{sphinxadmonition}{rG  z:}r   T)r   r3  rm   rp   r   r   r   ru   r[  s      r.   _visit_named_admonitionz'LaTeXTranslator._visit_named_admonition  s{     .	BuuuMM	
 	
 	
 	!: 	.)-DJ&&&	. 	.r-   c                j    | j                             dt          z              | xj        dz  c_        d S r>  r?  r   s     r.   _depart_named_admonitionz(LaTeXTranslator._depart_named_admonition  rA  r-   c                    d S rL   r,   r   s     r.   visit_versionmodifiedz%LaTeXTranslator.visit_versionmodified  r}  r-   c                    d S rL   r,   r   s     r.   depart_versionmodifiedz&LaTeXTranslator.depart_versionmodified  r}  r-   c                    d fd}}t          |t          j                  r0|                    d          }t          |t          j                  0 j        j        }t          |t                    rd S |                    |          r|                    |          rd S dv rd S d	v rd S 	                    d
          rMt                    }t          |t          j                  rd
         |d
         k    rn |d
                    	                    dd          rdfd}t                    } ||          rQd         d d          } ||          r5|                    |d
                    t          |          } ||          5n+t          d                   }nt          d                   }|D ]}	 ||	           d S )Nr  r   rI   rJ   c                   |                      d          rd S |                      d          rd S j                                      }|dk    rGt          j        |dz
           t          j                  rj                            t                     j	         }j                            
                    | |                     d S )Nzindex-z	equation-r   r   r,  )
startswithr  r   rS   r   r(   rm   rp   r   r   r)  )r  r   r!  rb   rO   s      r.   
add_targetz0LaTeXTranslator.visit_target.<locals>.add_target	  s     }}X&&  }}[))  K%%d++EqyyZEAI(>PPy	  $$$ &FIT--b-@@AAAAAr-   T)ascendrefuri	anonymousrefidismodFsibr  r   c                r    t          | t          j                  o|                     d          d         v S )NrQ  r0  )rS   r   targetrn   )rS  rb   s    r.   has_dup_labelz3LaTeXTranslator.visit_target.<locals>.has_dup_label?  s0    !#u|44X9I9ITRW[9XXr-   r0  )r  r   rI   rJ   )rS  r  rI   r   )rS   r   rU  	next_noder\  standard_domainHYPERLINK_SUPPORT_NODESget_enumerable_node_typeget_numfig_titlern   r   r  r   iter)
rO   rb   rM  rW  rc  	prev_noderV  prevr0  r  s
   ``        r.   visit_targetzLaTeXTranslator.visit_target  sT   	B 	B 	B 	B 	B 	B 	B* 	EL11 	9!++4+88I EL11 	9 .i!899 	F++I66	''	22	 FtF$F88G 		*%d++I9eo66*MYw%777 
4=))) 88GU## 	$Y Y Y Y Y Y !&&D}T"" (5k!!!n#mD)) /JJtG}---(..D $mD)) / 4;''tE{##C 	 	BJrNNNN	 	r-   c                    d S rL   r,   r   s     r.   depart_targetzLaTeXTranslator.depart_targetP  r}  r-   c                    | j                             t          dz   t          z              | j                             d           d S )Nz\begin{flushright}z---r  r   s     r.   visit_attributionz!LaTeXTranslator.visit_attributionS  s?    	33b8999	r-   c                Z    | j                             t          dz   t          z              d S )Nz\end{flushright}r  r   s     r.   depart_attributionz"LaTeXTranslator.depart_attributionW  s)    	11B677777r-   c                    d fd}dd}|                     dd          s j                            t                     |d	         }|D ]X\  }}}}}	d
}
|rd}
	 t	          t          |t          ||                              }t	          t          ||                    }|dk    rr	 |\  }}|\  }} j                            d| d| d| d| |
 d
           n# t          $ r/ |\  }|\  } j                            d| d| |
 d           Y nMw xY w|dk    rC|\  }}|\  }} j                            d| d| d| d| |
 d| d| d| d| |
 d           n |dk    r|\  }}}|\  }}} j                            d
                    g d| d| d| d| d| d| |
 d| d| d| d| d| d| |
 d| d| d| d| d| d| |
 d                     n[|dv r/|\  }}|\  }} j                            d| d| d| d           n(t          
                    t          d          |           # t          $ r2}t          
                    t          |                     Y d }~Rd }~ww xY w|                     dd          s j                            d           t          j        )Nvaluer   rI   c                :                        |           } |                     dd          } |                     dd          } |                     dd          } |                     dd          } |                     d	d
          } |                     dd          } | S )Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}"z""@z"@!z"!rk   z
\textbar{}r@  rB  )rg  rO   s    r.   r;  z+LaTeXTranslator.visit_index.<locals>.escape[  s    KK&&EMM%)CDDEMM%)DEEEMM#t,,EMM#t,,EMM#t,,EMM#}55ELr-   stringc                n    t                               |           }|r|                    d          S d| z  S )Nz\\spxentry{\1}\\spxextra{\2}z\spxentry{%s})EXTRA_REr   expand)rm  r   s     r.   r  z*LaTeXTranslator.visit_index.<locals>.stylee  s9    NN6**E 1||$CDDD'&00r-   inlineTrU  rB   z	|spxpagemsinglez\index{rj  rk  r   pairz}\index{tripler  r  >   seer  z|see{r  z!unknown index entry type %s foundz\ignorespaces )rg  r   rI   r   )rm  r   rI   r   )rn   rm   rp   r   tuplemapr   r   r   r   r   r   r   r   r  )rO   rb   r;  r  rU  rQ  rm  _tidismain_keympartsstyledp1p2P1P2pPp3P3_P2errs   `                      r.   visit_indexzLaTeXTranslator.visit_indexZ  s   	 	 	 	 	 		1 	1 	1 	1 xx$'' 	!IR   y/07 &	) &	),D&$A  ")c&/$*G*GHHIIs5%00118##C!&B!'B	(()MR)M)M")M)Mr)M)MB)M)M)M)MNNNN% C C C$%	(()AQ)A)A)AA)A)A)ABBBBBC V^^"FB#FBI$$=B = = = =b = =2 =q = =$&= =)+= =.0= =35=78= = =    X%%!&JBB!'JBBI$$G G G G G GB G G G G G G G Gb G G G G2 G G G G G G G GR G G G G G G$&G G G G)+G G G G.0G G G G46G G G G9;G G G G?AG GCDG G G G$&G G G G)+G G G G.0G G G G35G G G G8:G G G G=?G GABG G G G G G   
 ///"FB$GBI$$%H%H%Hb%H%H%H%H%HIIIINN2&I#J#JDQQQ ) ) )s3xx(((((((()xx$'' 	0I.///ns>   AI&*3CI&5DI&DEI&&
J"0'JJ"c                   |                      |          s| j                            t                     d|                    dd                                          v r,| j                            |                                           |                      |          s| j                            t                     t          j        )Nr   formatrB   )	r   rm   rp   r   rn   r  rW   r   r  r   s     r.   	visit_rawzLaTeXTranslator.visit_raw  s    ~~d## 	!IR   dhhx,,224444IT[[]]+++~~d## 	!IR   nr-   c                x   | j         sE|                    d          D ]/}| j         }| xj        |                     ||          z  c_        0|                     |          s| j                            t                     |                    dd          }|s1|                    d          rd| j        d         z   dz   |d         z   }| j         s|s| j	                            d           d S |
                    d          r| j        d         d	z   |d
d          z   }| j                            |                     |                     | j                            d           | j        j        r9| j        s2| j	                            d|                     |          z             d S | j	                            d           d S |
                    d          rr|                    d          }|dk    r|d
d          dz   }n|d
d                              dd	          }| j                            |                     |                     t%          |          rtt'          |d         t(          j                  rTd|d                             dg           v r6| j	                            d           | j                            d           d S | j                            d           | j        j        r9| j        s2| j	                            d|                     |          z             d S | j	                            d           d S t%          |          d
k    r||d         k    r|                    d          r1| j                            d|                     |          z             n0| j                            d|                     |          z             t(          j        | j                            d|                     |          z             | j	                            d           d S )Nr0  r,  rO  rB   rQ  r   r#  r  r$  r   z\sphinxsamedocref{z}}} (%s)z}}}z::docr   zstd-termre   z\sphinxtermref{z\sphinxcrossref{	nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{r   )r   rn   r   rm   r)  r   rp   r   r  r   rL  r6  r   latex_show_pagerefsr   r8  r  rB  r   rS   r   r   
encode_urir  )rO   rb   r  r!  r
  	hashindexs         r.   visit_referencezLaTeXTranslator.visit_reference  s   } 	Ahhuoo A A!_,		T--b-@@@			~~d## 	!IR   hhx$$ 	Dtxx(( 	D)"--3d7mCC= -	) -	)L#####^^C   +	)"2&,s122w6BIT^^B//000I2333{. +t7N +##J1B1B21F1F$FGGGGG##E*****^^C   "	)IBWw& W__S#..IT^^B//000D		/tAw66/ $q'++i"<"<<< ##E***	  !344444	  !4555;2 /4;R /L''
T5F5Fr5J5J(JKKKKKL''.....4yyA~~#a..88K(( OI$$%<ts?S?S%STTTTI$$%69M9M%MNNNn$	  !4ts7K7K!KLLL##C(((((r-   c                    | j                             | j                                                   |                     |          s!| j                             t
                     d S d S rL   )rm   rp   r   r  r   r   r   s     r.   depart_referencez LaTeXTranslator.depart_reference  s`    	))++,,,~~d## 	!IR     	! 	!r-   c                   |                     d          r| j        d         dz   |d         z   }n2|                     dd          dd                              dd          }|                     |                     dd	                                        d
d	          }d|v sd|v r{|                    dd                              dd          }t	          |                              d|                     |          z  d|                     |          z            }n(t	          |          d|                     |          z  z  }d|                     |           d| d}| j                            |           t          j
        )NrQ  r#  r$  rO  rB   r   r  r  z%sz\%sz\{name\}z
\{number\}z{name}z{number}z\nameref{%s}\ref{%s})r^  numberz
\hyperref[]{r   )rn   r  rB  r;  r   r  r'  rm   rp   r   r  )rO   rb   r  r  r   hyperrefs         r.   visit_number_referencez&LaTeXTranslator.visit_number_reference  s   88G 	>"2&,tG}<BB(B''+33C==BDHHWd3344<<VTJJ%=E#9#9MM+x88@@z E u%%,,$t}}R'8'88"T]]2%6%66 -  DD u%%t}}R7H7H)HID?r!2!2??t???	"""nr-   c                    d S rL   r,   r   s     r.   visit_download_referencez(LaTeXTranslator.visit_download_reference  r}  r-   c                    d S rL   r,   r   s     r.   depart_download_referencez)LaTeXTranslator.depart_download_reference  r}  r-   c                    d S rL   r,   r   s     r.   visit_pending_xrefz"LaTeXTranslator.visit_pending_xref  r}  r-   c                    d S rL   r,   r   s     r.   depart_pending_xrefz#LaTeXTranslator.depart_pending_xref  r}  r-   c                :    | j                             d           d S )Nz\sphinxstyleemphasis{r  r   s     r.   visit_emphasiszLaTeXTranslator.visit_emphasis  s    	122222r-   c                :    | j                             d           d S r  r  r   s     r.   depart_emphasiszLaTeXTranslator.depart_emphasis  r  r-   c                :    | j                             d           d S )Nz+\sphinxstyleliteralemphasis{\sphinxupquote{r  r   s     r.   visit_literal_emphasisz&LaTeXTranslator.visit_literal_emphasis  s    	GHHHHHr-   c                :    | j                             d           d S r  r  r   s     r.   depart_literal_emphasisz'LaTeXTranslator.depart_literal_emphasis  r  r-   c                :    | j                             d           d S )Nz\sphinxstylestrong{r  r   s     r.   visit_strongzLaTeXTranslator.visit_strong  s    	/00000r-   c                :    | j                             d           d S r  r  r   s     r.   depart_strongzLaTeXTranslator.depart_strong  r  r-   c                      j         rIdg}| fd|d         D             z  } j                            d                    |                     d S  j                            d           d S )Nr%  c                >    g | ]}                     |d           S )Fr,  r-  )r   id_rO   s     r.   r   z8LaTeXTranslator.visit_literal_strong.<locals>.<listcomp>  s,    OOOCD$$S$77OOOr-   r0  rB   z)\sphinxstyleliteralstrong{\sphinxupquote{)r   rm   rp   r   )rO   rb   r  s   `  r.   visit_literal_strongz$LaTeXTranslator.visit_literal_strong  s{    " 	%&COOOO4;OOOOCIRWWS\\***F	EFFFFFr-   c                L    | j         rd S | j                            d           d S r  )r   rm   rp   r   s     r.   depart_literal_strongz%LaTeXTranslator.depart_literal_strong  s.    " 	F	r-   c                p   |                     dd          }|                                }| j                            d           |rU|| j        vrL| j                            d|                     |          z             | j                            |           d S | j                            d           d S )NexplanationrB   z\sphinxstyleabbreviation{z} (%s)r   )rn   rW   rm   rp   r  r   r@  add)rO   rb   r  abbrs       r.   visit_abbreviationz"LaTeXTranslator.visit_abbreviation$  s    hh}b11{{}}	5666 	%4t'999L4;;{+C+C CDDD""4(((((L$$$$$r-   c                h    | j                             | j                                                   d S rL   r  r   s     r.   depart_abbreviationz#LaTeXTranslator.depart_abbreviation/  r  r-   c                ,    |                      |          S rL   )r  r   s     r.   visit_manpagezLaTeXTranslator.visit_manpage2  s    **4000r-   c                ,    |                      |          S rL   )r  r   s     r.   depart_manpagezLaTeXTranslator.depart_manpage5  s    ++D111r-   c                :    | j                             d           d S )Nz\sphinxtitleref{r  r   s     r.   visit_title_referencez%LaTeXTranslator.visit_title_reference8  r
  r-   c                :    | j                             d           d S r  r  r   s     r.   depart_title_referencez&LaTeXTranslator.depart_title_reference;  r  r-   c                L   t          d|          }d |D             }t          d |D             t                    }t          |          t          k    r|d t                   }| j                            t          d|                     |          z  z   t          z              d S )NzIterable[nodes.citation]c              3  B   K   | ]}t          d |d                   V  dS )rX  r   N)r   )r   citations     r.   r/  z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>@  s0      MMx$}hqk22MMMMMMr-   c              3  >   K   | ]}|                                 V  d S rL   r  )r   r\  s     r.   r/  z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>A  s*      @@U\\^^@@@@@@r-   )keyz!\begin{sphinxthebibliography}{%s})r   r  r   MAX_CITATION_LABEL_LENGTHrm   rp   r   r@  )rO   rb   	citationsr1  longest_labels        r.   visit_thebibliographyz%LaTeXTranslator.visit_thebibliography>  s    3T::	MM9MMM@@@@@cJJJ} 999)*D+D*DEM	5M8R8RRRUWW	
 	
 	
 	
 	
r-   c                J    | j                             dt          z              d S )Nz\end{sphinxthebibliography}r  r   s     r.   depart_thebibliographyz&LaTeXTranslator.depart_thebibliographyJ  s$    	7"<=====r-   c           	         t          d|d                   }| j                            d|                     |                                           d|d          d|d         d          d           d S )	NrX  r   z	\bibitem[r  rx  r$  r0  r   )r   rm   rp   r@  rW   r[  s      r.   visit_citationzLaTeXTranslator.visit_citationM  s    ]DG,,	7U\\^^44 7 7y/7 7$(KN7 7 7	
 	
 	
 	
 	
r-   c                    d S rL   r,   r   s     r.   depart_citationzLaTeXTranslator.depart_citationT  r}  r-   c                    | j         rd S | j                            d|d          d|d          d           t          j        )Nz\sphinxcite{rx  r$  refnamer   )r   rm   rp   r   r  r   s     r.   visit_citation_referencez(LaTeXTranslator.visit_citation_referenceW  sK    = 	!DISd9oSSYSSSTTT. r-   c                    d S rL   r,   r   s     r.   depart_citation_referencez)LaTeXTranslator.depart_citation_reference^  r}  r-   c                T   | j         r| j                            d           d S d|d         v r| j                            d           d S |                    dd           }d|d         vs|s| j                            d           d S | j        j                            |i           }| j                            |                                |||d	          }| j                            d
t          z   |
                                z   dz   t          z   dz              t          j        )Nz*\sphinxstyleliteralintitle{\sphinxupquote{kbdre   z\sphinxkeyboard{\sphinxupquote{r   coder  T)optsr  nowrapz\sphinxcode{\sphinxupquote{%r   r  )r   rm   rp   rn   r   highlight_optionsr  highlight_blockrW   r   rstripr   r  )rO   rb   langr  hlcodes        r.   visit_literalzLaTeXTranslator.visit_literala  s+   = 	IJKKKFd9o%%I?@@@Fxx
D))i(((I;<<<F{,00r::!11KKMM4dT$ 2 
 
 		+b06==??BSH2MPTT	
 	
 	
 nr-   c                :    | j                             d           d S r  r  r   s     r.   depart_literalzLaTeXTranslator.depart_literalv  r  r-   c                    t           j        rL   ra  r   s     r.   visit_footnote_referencez(LaTeXTranslator.visit_footnote_referencey  rc  r-   c                :    | j                             d           d S )Nz\sphinxfootnotemark[r  r   s     r.   visit_footnotemarkz"LaTeXTranslator.visit_footnotemark|  s    	011111r-   c                :    | j                             d           d S )N]r  r   s     r.   depart_footnotemarkz#LaTeXTranslator.depart_footnotemark  r  r-   c                   t          d|d                   }| j                            dt          z              | j                            d|                                z             | j                            dt          z              d S )NrX  r   r   z\begin{footnotetext}[%s]rZ  )r   rm   rp   r   rW   r[  s      r.   visit_footnotetextz"LaTeXTranslator.visit_footnotetext  su    ]DG,,	r"""	4u||~~EFFF	2R788888r-   c                ~    | j                             dt          z              | j                             d           d S )Nr   z \end{footnotetext}\ignorespaces r  r   s     r.   depart_footnotetextz#LaTeXTranslator.depart_footnotetext  s9    	r"""	<=====r-   c                    d S rL   r,   r   s     r.   visit_captioned_literal_blockz-LaTeXTranslator.visit_captioned_literal_block  r}  r-   c                    d S rL   r,   r   s     r.   depart_captioned_literal_blockz.LaTeXTranslator.depart_captioned_literal_block  r}  r-   c                   |j         |                                k    r4| xj        dz  c_        | j                            dt
          z              d S |                     |          }t          |j        t                    r||                     |j                  z  }|r/| j
        s(| j                            t
          dz   |z   dz              |                    dd          }|                    dd          }|                    d	i           }|                    d
d          |d
<   | j        j                            |i           } | j        j        |j         |f|||d|}| j
        r9| j                            t
          dz              |                    dd          }nL| j        r/d| j        _        d| j        _        |                    dd          }n|                    dd          }|                                d d         }| j        r| j
        s|dz  }n|dz  }t+          |                    dg                     dd         }|r%| j                            t
          d|z  z              | j                            t
          |z   t
          z              |r"| j                            dt
          z              t,          j        )Nr   z\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{r   r   rC   linenosFhighlight_argsforce)r  r  r  z\sphinxSetupCodeBlockInFootnotez\begin{Verbatim}z\begin{sphinxVerbatim}Tz\begin{sphinxVerbatimintable}iz\end{sphinxVerbatimintable}z\end{sphinxVerbatim}hl_linesr#  z\fvset{hllines={, %s,}}%%z\sphinxresetverbatimhllines)	rawsourcerW   r   rm   rp   r   r2  rS   r  r2  r   rn   r   r  r  r  rB  r   ru   rw   r  r   r   r  )	rO   rb   r1  r  r  r  r  r  hlliness	            r.   visit_literal_blockz#LaTeXTranslator.visit_literal_block  s   >T[[]]**""a'""I3b899999((..F$+'>?? ;$--dk::: Wd. W	  &F!F!ORU!UVVV88J	22Dhhy%00G!XX&6;;N&*hhw&>&>N7#;044T2>>D5T%5   ! F  X	  &H!HIII(;=VWW  X-1
**.
'')I   (;=VWW]]__TcT*Fz 2$"2 28811.,,Z<<==adCG N	  &BW&L!LMMMIR&[2-... F	  !?"!DEEE. r-   c                z    | j                             t          dz   t          z              | xj        dz  c_        d S )Nz\end{sphinxalltt}r   )rm   rp   r   r   r   s     r.   depart_literal_blockz$LaTeXTranslator.depart_literal_block  s=    	22R7888!#r-   c                :    | j                             d           d S )Nz\item[] r  r   s     r.   
visit_linezLaTeXTranslator.visit_line  s    	%%%%%r-   c                D    | j                             t                     d S rL   r  r   s     r.   depart_linezLaTeXTranslator.depart_line  r  r-   c                L   t          |j        t          j                  rE| j                            dt          z              | j                            dt          z              n*| j                            t          dz   t          z              | j        rd| j        _        d S d S )Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em}T)	rS   r  r   
line_blockrm   rp   r   r   ru   r   s     r.   visit_line_blockz LaTeXTranslator.visit_line_block  s    dk5#344 	DIZ"_---IG"LMMMMIR"==BCCC: 	.)-DJ&&&	. 	.r-   c                J    | j                             dt          z              d S )Nz\end{DUlineblock}r  r   s     r.   depart_line_blockz!LaTeXTranslator.depart_line_block  r  r-   c                   d}t          |j                  dk    r6|j        d         }t          |t          j        t          j        z            rd}|s7| j                            dt          z              | j	        rd| j	        _
        d S d S d S )Nr   r   z\begin{quote}T)r   r  rS   r   r  r  rm   rp   r   r   ru   rO   rb   doner  s       r.   visit_block_quotez!LaTeXTranslator.visit_block_quote  s     t}""M!$E%!2U5J!JKK  	2I-2333z 2-1
***	2 	22 2r-   c                    d}t          |j                  dk    r6|j        d         }t          |t          j        t          j        z            rd}|s$| j                            dt          z              d S d S )Nr   r   z\end{quote})	r   r  rS   r   r  r  rm   rp   r   r  s       r.   depart_block_quotez"LaTeXTranslator.depart_block_quote  s}    t}""M!$E%!2U5J!JKK  	2I^b011111	2 	2r-   c                X    | j         d         r| j                            d           d S d S )Nr#  r  )r   rm   rp   r   s     r.   visit_optionzLaTeXTranslator.visit_option  s7    < 	#IT"""""	# 	#r-   c                0    | j         dxx         dz  cc<   d S )Nr#  r   )r   r   s     r.   depart_optionzLaTeXTranslator.depart_option 	  s&    RAr-   c                b    | j                             |                    dd                     dS )z1The delimiter between an option and its argument.	delimiterr  N)rm   rp   rn   r   s     r.   visit_option_argumentz%LaTeXTranslator.visit_option_argument	  s,    	+s3344444r-   c                    d S rL   r,   r   s     r.   depart_option_argumentz&LaTeXTranslator.depart_option_argument	  r}  r-   c                n    | j                             d           | j                            d           d S )Nz\item [r   )rm   rp   r   r   s     r.   visit_option_groupz"LaTeXTranslator.visit_option_group	  s4    	$$$Ar-   c                l    | j                                          | j                            d           d S )Nz] )r   r  rm   rp   r   s     r.   depart_option_groupz#LaTeXTranslator.depart_option_group	  s2    	r-   c                t    | j                             dt          z              | j        rd| j        _        d S d S )Nz\begin{optionlist}{3cm}Tr  r   s     r.   visit_option_listz!LaTeXTranslator.visit_option_list	  sB    	3b8999: 	.)-DJ&&&	. 	.r-   c                J    | j                             dt          z              d S )Nz\end{optionlist}r  r   s     r.   depart_option_listz"LaTeXTranslator.depart_option_list	  s$    	,r122222r-   c                    d S rL   r,   r   s     r.   visit_option_list_itemz&LaTeXTranslator.visit_option_list_item	  r}  r-   c                    d S rL   r,   r   s     r.   depart_option_list_itemz'LaTeXTranslator.depart_option_list_item	  r}  r-   c                    |                                 }| j                            |                     |                     t          j        rL   )rW   rm   rp   r@  r   r  )rO   rb   ostrings      r.   visit_option_stringz#LaTeXTranslator.visit_option_string"	  s9    ++--	W--...nr-   c                :    | j                             d           d S )Nr  r  r   s     r.   visit_descriptionz!LaTeXTranslator.visit_description'	  r  r-   c                    d S rL   r,   r   s     r.   depart_descriptionz"LaTeXTranslator.depart_description*	  r}  r-   c                :    | j                             d           d S )Nz	$^{\text{r  r   s     r.   visit_superscriptz!LaTeXTranslator.visit_superscript-	      	&&&&&r-   c                :    | j                             d           d S Nz}}$r  r   s     r.   depart_superscriptz"LaTeXTranslator.depart_superscript0	  r  r-   c                :    | j                             d           d S )Nz	$_{\text{r  r   s     r.   visit_subscriptzLaTeXTranslator.visit_subscript3	  r*  r-   c                :    | j                             d           d S r,  r  r   s     r.   depart_subscriptz LaTeXTranslator.depart_subscript6	  r  r-   c                   |                     dg           }|dgk    r6| j                            d           | j                            d           d S |dgk    r6| j                            d           | j                            d           d S |dgk    r6| j                            d           | j                            d           d S |rf| j        s_| j                            d	d
                    |          z   dz              | j                            dt          |          z             d S | j                            d           d S )Nre   menuselectionz\sphinxmenuselection{r   guilabelz\sphinxguilabel{acceleratorz\sphinxaccelerator{z\DUrole{z
}{\DUrole{rG  rB   )rn   rm   rp   r   r   r   r   )rO   rb   re   s      r.   visit_inlinezLaTeXTranslator.visit_inline9	  sX   ((9b))'''I5666L$$$$$$$I0111L$$$$$''I3444L$$$$$ 	$T] 	$I[=+=+=g+F+FFMNNNLc'll 233333L#####r-   c                h    | j                             | j                                                   d S rL   r  r   s     r.   depart_inlinezLaTeXTranslator.depart_inlineJ	  r  r-   c                    d S rL   r,   r   s     r.   visit_generatedzLaTeXTranslator.visit_generatedM	  r}  r-   c                    d S rL   r,   r   s     r.   depart_generatedz LaTeXTranslator.depart_generatedP	  r}  r-   c                    d S rL   r,   r   s     r.   visit_compoundzLaTeXTranslator.visit_compoundS	  r}  r-   c                    d S rL   r,   r   s     r.   depart_compoundzLaTeXTranslator.depart_compoundV	  r}  r-   c                v    |                     dg           }|D ]}| j                            d|z              d S )Nre   z
\begin{sphinxuseclass}{%s}rn   rm   rp   )rO   rb   re   r  s       r.   visit_containerzLaTeXTranslator.visit_containerY	  sQ    ((9b)) 	B 	BAI<q@AAAA	B 	Br-   c                p    |                     dg           }|D ]}| j                            d           d S )Nre   z
\end{sphinxuseclass}rB  )rO   rb   re   _cs       r.   depart_containerz LaTeXTranslator.depart_container^	  sH    ((9b)) 	8 	8BI67777	8 	8r-   c                    d S rL   r,   r   s     r.   visit_decorationz LaTeXTranslator.visit_decorationc	  r}  r-   c                    d S rL   r,   r   s     r.   depart_decorationz!LaTeXTranslator.depart_decorationf	  r}  r-   c                    t           j        rL   ra  r   s     r.   visit_headerzLaTeXTranslator.visit_headerk	  rc  r-   c                    t           j        rL   ra  r   s     r.   visit_footerzLaTeXTranslator.visit_footern	  rc  r-   c                    t           j        rL   ra  r   s     r.   visit_docinfozLaTeXTranslator.visit_docinfoq	  rc  r-   r   c                    |                      |          }| j        r7|                    t          dt          z                                 dd          }|S )Nz~\\r  ~)r;  r   rB  r   rO   r   s     r.   r@  zLaTeXTranslator.encodev	  sM    {{4  " 	C <<FRK0088cBBDr-   c                    |                      |                              dd                              dd                              dd          S )Nz\textasciitilde{}rR  z\sphinxhyphen{}rY  z\textquotesingle{}'rl  rS  s     r.   r  zLaTeXTranslator.encode_uri~	  sH     KKW)3//W'--W*C00		
r-   r   c                    |                      |                                          }| j                            |           d S rL   )r@  rW   rm   rp   )rO   rb   r   s      r.   
visit_TextzLaTeXTranslator.visit_Text	  s7    {{4;;==))	r-   c                    d S rL   r,   r   s     r.   depart_TextzLaTeXTranslator.depart_Text	  r}  r-   c                    t           j        rL   ra  r   s     r.   visit_commentzLaTeXTranslator.visit_comment	  rc  r-   c                    t           j        rL   ra  r   s     r.   
visit_metazLaTeXTranslator.visit_meta	  s
    nr-   c                    d S rL   r,   r   s     r.   visit_system_messagez$LaTeXTranslator.visit_system_message	  r}  r-   c                D    | j                             t                     d S rL   r  r   s     r.   depart_system_messagez%LaTeXTranslator.depart_system_message	  r  r-   
nodes.mathc                    | j         r0| j                            d|                                z             n/| j                            d|                                z             t          j        )Nz\protect\(%s\protect\)z\(%s\))r   rm   rp   rW   r   r  r   s     r.   
visit_mathzLaTeXTranslator.visit_math	  s^    = 	8I6FGGGGIY6777nr-   nodes.math_blockc                   |                     d          rd|d          d|d          }nd }|                     d|                     dd                    rL|r| j                            d|z             | j                            |                                           nGd	d
lm} | j                             ||                                || j        j                             t          j	        )Nr\  	equation:rx  r$  zno-wrapr  Fr&  r   )wrap_displaymath)
rn   rm   rp   rW   sphinx.util.mathrh  r   math_number_allr   r  )rO   rb   r\  rh  s       r.   visit_math_blockz LaTeXTranslator.visit_math_block	  s    88G 	AYAA$w-AAEEE88Itxx%8899 		 8	  !6777IT[[]]++++999999I  t{7RSS   nr-   c                   d|d          d|d          }| j         j        }|r	 d|z  }| j                            |                    |                     d S # t
          $ rR}t                              t          d          ||           | j                            d	|z             Y d }~d S d }~ww xY w| j                            d	|z             d S )
Nrg  rx  r$  rU  r  )r  zInvalid math_eqref_format: %rr  z
\eqref{%s})	r   math_eqref_formatrm   rp   r  r  r   r   r   )rO   rb   r\  eqref_formatrefexcs         r.   visit_math_referencez$LaTeXTranslator.visit_math_reference	  s    >DO>>d8n>>{4 	48!E)	  !4!4C!4!@!@AAAAA 8 8 8r"ABBCRVWWW	  !67777777778 I]U233333s   3A 
B5#AB00B5c                    d S rL   r,   r   s     r.   depart_math_referencez%LaTeXTranslator.depart_math_reference	  r}  r-   )rT   r   rH   r   rG   r    rI   rJ   )r  r  rI   rJ   )rI   r  r   )TT)r  r   r   r   r!  r   rI   r   )F)rb   r   r!  r   rI   r   )r  r   rI   r   )r9  r   rI   r   )rC  r   rD  r   rI   r   )rf  r   rg  rh  rI   r   )rI   ru  r   )rb   r   r  r  rI   rJ   )rb   r   r(  r   rI   rJ   )rb   rN  rI   rJ   r   )r   r   r   r|   rI   r  )rb   r   rI   r   r   r   rI   r   )rb   r   rI   rJ   )rb   rb  rI   rJ   )rb   re  rI   rJ   (  r8   r9   r:   r]   r   r  rN   r  r  rW   r)  r2  r6  r8  r;  r'  r  r  r  r   r   rz  r|  r  r  r  r  r  r  r  r  r  depart_sidebarr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r"  r%  r'  r,  r3  r6  r9  r;  r=  rA  rE  rG  rI  rK  rM  rT  rV  r]  r_  rb  rf  rm  rp  rt  rv  rx  rz  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  visit_field_namedepart_field_namevisit_field_bodydepart_field_bodyr  r  r  r  r  r  r  r  r  r   r  r!  r-  r/  r4  r6  r8  r:  r<  r@  rC  rE  visit_attentiondepart_attentionvisit_cautiondepart_cautionvisit_dangerdepart_dangervisit_errordepart_error
visit_hintdepart_hintvisit_importantdepart_important
visit_notedepart_note	visit_tip
depart_tipvisit_warningdepart_warningrG  rI  r_  ra  rc  re  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  visit_doctest_blockdepart_doctest_blockr  r   r  r  r	  r  r  r  r  r  r  r  r  r  r  r   r#  r%  r'  r)  r-  r/  r1  r6  r8  r:  r<  r>  r@  rC  rF  rH  rJ  rL  rN  rP  r@  r  rW  rY  r[  r]  r_  ra  rd  rk  rq  rs  r^   r_   s   @r.   rR   rR   6  s@        K!Z- Z- Z- Z- Z- Z-x      
= = = =S S S S S    6 6 6 68 8 8 8= = = =: : : :
S S S S2 2 2 2h9 9 9 9&    X6 6 6 6   8 8 8 8       $ $ $ $
R R R R5 5 5 5   ; ; ; ;- - - -9 9 9 9
 "N      ' ' ' '
> > > >      6 6 6 6   7 7 7 7r1 1 1 1$ $ $ $- - - -. . . .F F F F;< ;< ;< ;<z   ; ; ; ;: : : :) ) ) )* * * *' ' ' '
   9 9 9 9   % % % %% % % %% % % %% % % %      . . . .   K K K K4
F 
F 
F 
F) ) ) )
K K K K
- - - -
. 
. 
. 
.( ( ( (2: : : :) ) ) )> > > >) ) ) )2 2 2 2$( ( ( ($; ; ; ;   
. . . ." " " "   (- - - -9 9 9 9         (' (' (' ('T   = = = =         ) ) ) )
   
' ' ' '
   
   ,   @9% 9% 9% 9%v#- #- #- #-J   . . . .4 4 4 4!. !. !. !.F2 2 2 2' ' ' '
   . . . .
4 4 4 4      	! 	! 	! 	!                       . . . .
? ? ? ?       "#')> > > >(   . . . .
/ / / /. . . .M M M M          : : : :S S S Sj   06 06 06 06d- - - -	+ 	+ 	+ 	+   7 7 7 75 5 5 5. . . ." " " ". . . ." " " " .O/+M-N*L,M)K+L(J*K-O/(J*K'I)J+M-N      F F F FP          8 8 8 8> > > >@   7) 7) 7) 7)r! ! ! !
   0            3 3 3 3   I I I I   1 1 1 1   G G G G   
	% 	% 	% 	%- - - -1 1 1 12 2 2 2. . . .   

 

 

 

> > > >
 
 
 
   ! ! ! !      *      2 2 2 2   9 9 9 9> > > >
      4! 4! 4! 4!l$ $ $ $ ./& & & &   . . . .4 4 4 42 2 2 22 2 2 2# # # #
   5 5 5 5      
   . . . .
3 3 3 3         
      ' ' ' '       ' ' ' '       $ $ $ $"- - - -            B B B B
8 8 8 8
      
         
   

 

 

 

                        $4 4 4 4       r-   rR   )rY  r2  r  ru  rt  )r   r   r   r|   rI   r   )Mr;   
__future__r   r   collectionsr   pathlibr   typingr   r   docutilsr   r	   roman_numeralsr
   sphinxr   r   sphinx.errorsr   sphinx.localer   r   r   sphinx.utilr   r   sphinx.util.docutilsr   sphinx.util.index_entriesr   sphinx.util.nodesr   r   sphinx.util.templater   sphinx.util.texescaper   collections.abcr   r   r   docutils.nodesr   r   r   sphinx.builders.latexr   sphinx.builders.latex.themingr    sphinx.domainsr!   	getLoggerr8   r   r  r   r  r   r  compilero  r  r7   r=   Writerr@   ra   r   r   r   rR   sphinx.builders.latex.nodesrY  r2  r  r,   r-   r.   <module>r     s    # " " " " " 				 # # # # # #       & & & & & & & & # # # # # # # # ' ' ' ' ' ' ) ) ) ) ) ) ) ) % % % % % % 1 1 1 1 1 1 1 1 1 1 * * * * * * * * 1 1 1 1 1 1 5 5 5 5 5 5 9 9 9 9 9 9 9 9 . . . . . . 1 1 1 1 1 1 *(((((($$$$$$$$2222222222222222333333)))))) 
	8	$	$     #{ 	 	  
	2:344@ @ @ @ @ @ @ @0 0 0 0 0{ 0 0 0@ @ @ @ @'. @ @ @@E E E E E E E EP               F/ / / /
    8O" O" O" O" O"& O" O" O"hD           r-   