
    -Ph                       d Z dZddlmZ ddlZddlZddlmZ ddlZ	 ddl	Z	n# e
$ r ddlmc m	Z	 Y nw xY wddlmZmZmZmZmZ ddlmZ ddlmZmZ  ee          j        Z G d	 d
ej                  Z G d d          Z G d de          Z G d d          Zde_        de_         de_!        de_"        de_#        de_$        de_%        de_&        de_'        de_(        de_)        de_*        de_+        d Z, e-edz  d !          5 Z.e.D ]uZ/e/0                    d"          Z/e/1                    d#          s-e/2                    d$          Z3e3sE e,e.          Z4e3d%v re40                                Z4 e5ee3e4           v	 ddd           n# 1 swxY w Y    G d& d'          Z6 G d( d)          Z7 G d* d+          Z8 G d, d-ej9                  Z:dS ).zLaTeX2e document tree Writer.reStructuredText    )PathN)url2pathname)frontendnodes	languageswritersutils)
writer_aux)pick_math_environmentunichar2texc                   Z    e Zd ZdZ	 dZeZdZg dZddg ddgd	d
ifddgd	difddgddgddddfddgdde	j
        dfddgdde	j
        dfddgg d d!dd"fd#d$gd%d&d'e	j        d(fd)d*gd&d+e	j        d,fd-d.gd/dd0fd1d2gd3de	j
        dfd4d5gd6e	j        d7gd8fd9d:gd	eifd;ez  d<ged=d>fd?d@gdAde	j
        dfdBdCgdDde	j
        dfdEdFgd3de	j
        dfdGdHgdIde	j
        dfdJdKgd3de	j
        dfdLdMgdNde	j
        dfdOdPgd3de	j
        dfdQdRgd	dSifdTdUgd	d%ifdVdWgd3de	j
        dfdXdYgddZd[fd\d]gdde	j
        dfd^d_gdd`d[fdadbgdcddd>fdedfgd	d%ifdgdhgde	j
        difdjdkgdlgddme	j        ednfdodpgd	d%ifdqdrgd	dsifdtdugd	d%ifdvdwgd%dxe	j        dyfdzd{gd3de	j
        dfd|d}gd~de	j
        dfddgdde	j
        dfddgdde	j
        dfddgdAde	j
        dfR fZdZddiZdZdZdZedz   ZdZ	 d Z fdZd Zd Z xZS )Writer)latexlatex2ezdefault.texzg% PDF Standard Fonts
\usepackage{mathptmx} % Times
\usepackage[scaled=.90]{helvet}
\usepackage{courier})booktabs
borderlesscolwidths-autonolinesstandardzLaTeX-Specific OptionsNz1Specify LaTeX documentclass.  Default: "article".z--documentclassdefaultarticlezcSpecify document options.  Multiple options can be given, separated by commas.  Default: "a4paper".z--documentoptionsa4paperz\Format for footnote references: one of "superscript" or "brackets".  Default: "superscript".z--footnote-referencessuperscriptbracketsz<format>trim_footnote_reference_space)choicesr   metavar	overridesz1Use \cite command for citations. (future default)z--use-latex-citations
store_true)r   action	validatorzZUse figure floats for citations (might get mixed with real figures). (provisional default)z--figure-citationsuse_latex_citationsstore_false)destr!   r"   zyFormat for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none".  Default: "dash".z--attributiondashparenthesesparensnoner'   )r   r   r   zSpecify LaTeX packages/stylesheets. A style is referenced with "\usepackage" if extension is ".sty" or omitted and with "\input" else.  Overrides previous --stylesheet and --stylesheet-path settings.z--stylesheet z<file[,file,...]>stylesheet_path)r   r   r   r"   zComma separated list of LaTeX packages/stylesheets. Relative paths are expanded if a matching file is found in the --stylesheet-dirs. With --link-stylesheet, the path is rewritten relative to the output *.tex file. z--stylesheet-path
stylesheet)r   r   r"   z7Link to the stylesheet(s) in the output file. (default)z--link-stylesheetembed_stylesheet)r%   r!   z^Embed the stylesheet(s) in the output file. Stylesheets must be accessible during processing. z--embed-stylesheetFzComma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. Default: ".".z--stylesheet-dirsz<dir[,dir,...]>.)r   r"   r   zlCustomization by LaTeX code in the preamble. Default: select PDF standard fonts (Times, Helvetica, Courier).z--latex-preamblez)Specify the template file. Default: "%s".z
--templatez<file>)r   r   z%Table of contents by LaTeX. (default)z--use-latex-tocTz5Table of contents by Docutils (without page numbers).z--use-docutils-tocuse_latex_tocz*Add parts on top of the section hierarchy.z--use-part-sectionz<Attach author and date to the document info table. (default)z--use-docutils-docinfouse_latex_docinfoz-Attach author and date to the document title.z--use-latex-docinfoz$Typeset abstract as topic. (default)z--topic-abstractuse_latex_abstractz;Use LaTeX abstract environment for the document's abstract.z--use-latex-abstractzSColor of any hyperlinks embedded in text. Default: "blue" (use "false" to disable).z--hyperlink-colorbluez-Additional options to the "hyperref" package.z--hyperref-optionszJEnable compound enumerators for nested enumerated lists (e.g. "1.2.a.ii").z--compound-enumeratorszCDisable compound enumerators for nested enumerated lists. (default)z--no-compound-enumeratorscompound_enumerators)r!   r%   zzEnable section ("." subsection ...) prefixes for compound enumerators.  This has no effect without --compound-enumerators.z --section-prefix-for-enumeratorsz<Disable section prefixes for compound enumerators. (default)z#--no-section-prefix-for-enumeratorssection_prefix_for_enumeratorszeSet the separator between section number and enumerator for compound enumerated lists.  Default: "-".z--section-enumerator-separator-z<char>zdWhen possible, use the specified environment for literal-blocks. Default: "" (fall back to "alltt").z--literal-block-envz4Deprecated alias for "--literal-block-env=verbatim".z--use-verbatim-when-possible)r!   r"   zTable style. "standard" with horizontal and vertical lines, "booktabs" (LaTeX booktabs style) only horizontal lines above and below the table and below the header, or "borderless". Default: "standard"z--table-styler   append)r   r   r!   r"   r   zLaTeX graphicx package option. Possible values are "dvipdfmx", "dvips", "dvisvgm", "luatex", "pdftex", and "xetex".Default: "".z--graphicx-optionzLaTeX font encoding. Possible values are "", "T1" (default), "OT1", "LGR,T1" or any other combination of options to the `fontenc` package. z--font-encodingT1zPer default the latex-writer puts the reference title into hyperreferences. Specify "ref*" or "pageref*" to get the section number or the page number.z--reference-labelzdSpecify style and database(s) for bibtex, for example "--use-bibtex=unsrt,mydb1,mydb2". Provisional!z--use-bibtexz<style,bibfile[,bibfile,...]>)r   r   r"   zJUse legacy functions with class value list for \DUtitle and \DUadmonition.z--legacy-class-functionszjUse \DUrole and "DUclass" wrappers for class values. Place admonition content in an environment. (default)z--new-class-functionslegacy_class_functionszLUse legacy algorithm to determine table column widths. (provisional default)z--legacy-column-widthszDUse new algorithm to determine table column widths. (future default)z--new-column-widthslegacy_column_widthszsFootnotes with numbers/symbols by Docutils. (default) (The alternative, --latex-footnotes, is not implemented yet.)z--docutils-footnotes)templatesectnum_depthr   zlatex2e writer)r	   zlatex writers)head_prefixrequirementslatex_preambler-   	fallbackspdfsetup	titledata)titlesubtitlebody_pre_docinfodocinfo
dedicationabstractbodyc                 \    t           j                            |            t          | _        d S N)r	   r   __init__LaTeXTranslatortranslator_classselfs    a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/docutils/writers/latex2e/__init__.pyrL   zWriter.__init__   s&    %%% /    c                 `    t                                                      t          j        gz   S rK   )superget_transformsr   Admonitions)rP   	__class__s    rQ   rU   zWriter.get_transforms  s+    ww%%'')+  	rR   c           	         |                      | j                  }| j                            |           | j        D ]!}t	          | |t          ||                     "t          | j        j        j                  }|	                                s| j
        |j        z  }|                    d          }|                                  t          j        |                              | j                  | _        d S )Nutf-8encoding)rN   document	walkaboutvisitor_attributessetattrgetattrr   settingsr;   existsdefault_template_pathname	read_textassemble_partsstringTemplate
substitutepartsoutput)rP   visitorparttemplatepathr;   s        rQ   	translatezWriter.translate  s    ''66(((+ 	8 	8DD$ 6 67777DM2;<<""$$ 	J58IIL))7);;oh//::4:FFrR   c                 .   t           j                            |            | j        D ]m}t	          | |          }|| j        v r5|r|                    d           d                    |          | j        |<   Pd                    |          | j        |<   ndS )z9Assemble the `self.parts` dictionary of output fragments.r+   
N)	r	   r   rf   r^   r`   
head_partsr7   joinrj   )rP   rm   liness      rQ   rf   zWriter.assemble_parts  s    %%d++++ 	2 	2DD$''Et&& %LL$$$#'99U#3#3
4   $&775>>
4  	2 	2rR   )__name__
__module____qualname__	supporteddefault_templateLATEX_WRITER_DIRrc   default_preambletable_style_valuesr   validate_booleanvalidate_comma_separated_listsettings_specrelative_path_settingssettings_defaultsconfig_sectionconfig_section_dependenciesrr   r^   rk   rL   rU   ro   rf   __classcell__rW   s   @rQ   r   r       s`       $I'$,01 1 1
 	!}	
=
i
"
$ }	6
i
"
$}	1"
#$j1m 79 9
:}	 ?"
#l 13 3
4}	"G
 (M 13 3
4#}	,J
???5 5
6-}	6M 
%8) >@ @
A7}	FF 
) >@ @
AG}	T D
%
?
?
AU}	Z?
 | 13 3
4[}	d 
' >e 	
e}	rL
&
'
)s}	z 68H
H.&8
<
<
>{}	@ 2
l 13 3
4A}	H B
 "m 13 3
4I}	P 7
 | 13 3
4Q}	X I#
$&- 13 3
4Y}	` : 
!| 13 3
4a}	h 1
'= 13 3
4i}	p H!
"| 13 3
4q}	x6
)V!4
6y}	~ :
 9b/
3}	B#
$| 13 3
4C}	L&
'",B
C
C
EM}	TM-
.l 13 3
4U}	^ I0
1",L
M
M
O_}	d:+
,h
/
/
1e}	l0 
!b/
m}	t A)
*! 13 3
4u}	|  
!l  >(	* *	
+}}	P 
b/
Q}	\H 
d
	
]}	f' 
b/	
g}	p;
5 >@ @
Aq}	|*%
&! 13 3
4}}	HB"
#+" 13 3
4I}	T"#
$! 13 3
4U}	` 
!)" 13 3
4a}	nJ!
"! 13 3
4o}	 }	A
MF +(!,%N">FJ# 'I I F.0 0 0    G G G2 2 2 2 2 2 2rR   r   c                      e Zd ZdZi dddddddd	d
dddddddddddddddddddddd d!d"d#i d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEi dFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddd_dedfi dgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{drd|dtd}d~ddddddZd e                                D             ZdZdddZddZd Z	d Z
d ZdS )BabelzLanguage specifics for LaTeX.af	afrikaansararabicbg	bulgarianbrbretoncacatalancsczechcywelshdadanishdengermanzde-1901germanzde-AT	naustrianz
de-AT-1901austriandsblowersorbianelgreekz
el-polytonpolutonikogreekenenglishzen-AU
australianzen-CAcanadianzen-GBbritishzen-NZ
newzealandzen-USamericaneo	esperantoesspanishetestonianeubasquefifinnishfrfrenchzfr-CAcanadiengairishz
grc-ibycusibycusglgalicianhehebrewhrcroatianhsbuppersorbianhumagyariainterlinguaidbahasaiis	icelandicititalianjajapanesekkkazakhlalatinlt
lithuanianlvlatvianmn	mongolianmsbahasamnbnorsknldutchnnnynorsknoplpolishptportugeszpt-BRbrazilroromanianrurussiansesaminzsh-Cyrlserbianczsh-Latnserbianskslovakslslovenesqalbaniansrzsr-Latnsvswedishtrturkishuk	ukrainianvivietnamc                 >    i | ]\  }}|                                 |S  )lower).0kvs      rQ   
<dictcomp>zBabel.<dictcomp>  s&    FFFtq!aggiiFFFrR   z,Language "%s" not supported by LaTeX (babel)z.<>)r   r   Nc                 V    || _         |                     |          | _        i | _        d S rK   )reporterlanguage_namelanguageotherlanguages)rP   language_coder  s      rQ   rL   zBabel.__init__  s,     **=99 rR   c                     t           j                                                  } |j         j        pd           dd                    |          z  g _        g }d                     fd|D                       D ]}||vr|                    |           |r0 j                            dd                    |          z             d|v r j                            d           d	|v r j                            g d
           d|v r j                            g d           |d         dk    r6d j                                        v r xj        ddd j        z  gz  c_        d                     j                  S )z7Return the babel call with correct options and settingsr   z\usepackage[%s]{babel},r+   c              3   N   K   | ]}j                             |d           V   dS )r+   N)active_charsget)r   lngrP   s     rQ   	<genexpr>z!Babel.__call__.<locals>.<genexpr>  s6      MMC*..sB77MMMMMMrR   z#\AtBeginDocument{\shorthandoff{%s}}r   z)\deactivatetilden % restore ~ in Galicianr   )\makeatletterz+  \addto\extrasestonian{\bbl@deactivate{~}}\makeatotherr   )r  z)  \addto\extrasbasque{\bbl@deactivate{~}}r  r   zE% Prevent side-effects if French hyphenation patterns are not loaded:z\frenchbsetup{StandardLayout}z4\AtBeginDocument{\selectlanguage{%s}\noextrasfrench}rq   )sortedr  keysr7   r  rs   setupextend)rP   r   
shorthandscs   `   rQ   __call__zBabel.__call__  s   4.335566		3)444/#((92E2EEF

MMMM9MMMMM 	% 	%A
""!!!$$$ 	5JD "
 3 34 5 5 5 ""JJKKK""J 0 0 0 1 1 1 y  J 0 0 0 1 1 1 bMY&&D/446666JJ 6;/15?@ @JJ
 yy$$$rR   c                     t          j        |          D ]!}	 | j        |         c S # t          $ r Y w xY w| j        "| j                            | j        |z             dS )z,Return TeX language name for `language_code`Nr+   )r
   normalize_language_taglanguage_codesKeyErrorr  warningwarn_msg)rP   r  tags      rQ   r  zBabel.language_name  s    />> 	 	C*3////   =$M!!$--"?@@@rs   '
44c                     | j         S rK   )r  rO   s    rQ   get_languagezBabel.get_language  s
    }rR   rK   )ru   rv   rw   __doc__r  itemsr  r  rL   r  r  r"  r   rR   rQ   r   r   )  sz       ''K
K
 	K

 	K
 	K
 		K
 	K
 	K
 	K
 		K
 	K
 	K
 	
K
  	!K
" 	#K
$ 	)%K
& 		'K
( 	)K
 K
* 	
+K
, 		-K
. 	/K
0 	
1K
2 	3K
4 		5K
6 	
7K
8 	9K
< 		=K
> 	?K
@ 	
AK
B 	CK
F 	GK
H 	
IK
J 	KK
L 	
MK
N 	OK
 K
 K
P 	QK
R 	SK
T 		UK
V 	WK
X 		YK
Z 	
[K
\ 	]K
^ 	_K
` 	aK
b 		cK
d 	eK
f 		gK
h 	iK
j 	kK
l 		mK
n 	oK
p 	qK
 K
 K
r 	
sK
t 	uK
v 	
wK
x 		yK
z 	{K
| 	
}K
~ 		K
@ 	AK
B 		CK
D 	
EK
F 	
GK
H 		IK
J 		KK
N 		OK
P 	QK
R 		SK
 K
NZ GF~/C/C/E/EFFFN=H* (-',
 
L! ! ! !
% % %B	 	 	    rR   r   c                       e Zd ZdZd Zd ZdS )SortableDictzDictionary with additional sorting methods

    Tip: use key starting with with '_' for sorting before small letters
         and with '~' for sorting after small letters.
    c                 D    t          |                                           S )zReturn sorted list of keys)r  r  rO   s    rQ   
sortedkeyszSortableDict.sortedkeys  s    diikk"""rR   c                 D      fd                                  D             S )z$Return list of values sorted by keysc                      g | ]
}|         S r   r   )r   keyrP   s     rQ   
<listcomp>z-SortableDict.sortedvalues.<locals>.<listcomp>  s    777cS	777rR   )r(  rO   s   `rQ   sortedvalueszSortableDict.sortedvalues  s'    7777T__%6%67777rR   N)ru   rv   rw   r#  r(  r-  r   rR   rQ   r&  r&    s<         
# # #8 8 8 8 8rR   r&  c                       e Zd ZdZdS )PreambleCmdsz'Building blocks for the latex preamble.N)ru   rv   rw   r#  r   rR   rQ   r/  r/    s        1111rR   r/  z\usepackage{color}zl\usepackage{float} % extended float configuration
\floatplacement{figure}{H} % place figures here definitelyz%% hyperlinks:
\ifthenelse{\isundefined{\hypersetup}}{
  \usepackage[%s]{hyperref}
  \usepackage{bookmark}
  \urlstyle{same} %% normal text font (alternatives: tt, rm, sf)
}{}z/%% local table of contents
\usepackage{minitoc}zz\usepackage{longtable,ltcaption,array}
\setlength{\extrarowheight}{2pt}
\newlength{\DUtablewidth} % internal use in tableszI\newcommand{\DUcolumnwidth}[1]{\dimexpr#1\DUtablewidth-2\tabcolsep\relax}z*\usepackage{textcomp} % text symbol macroszQ
% abstract title
\providecommand*{\DUtitleabstract}[1]{\centerline{\textbf{#1}}}a  
% admonition (specially marked topic)
\providecommand{\DUadmonition}[2][class-arg]{%
  % try \DUadmonition#1{#2}:
  \ifcsname DUadmonition#1\endcsname%
    \csname DUadmonition#1\endcsname{#2}%
  \else
    \begin{center}
      \fbox{\parbox{0.9\linewidth}{#2}}
    \end{center}
  \fi
}zU
% error admonition title
\providecommand*{\DUtitleerror}[1]{\DUtitle{\color{red}#1}}a  
% title for topics, admonitions, unsupported section levels, and sidebar
\providecommand*{\DUtitle}[2][class-arg]{%
  % call \DUtitle#1{#2} if it exists:
  \ifcsname DUtitle#1\endcsname%
    \csname DUtitle#1\endcsname{#2}%
  \else
    \smallskip\noindent\textbf{#2}\smallskip%
  \fi
}z
\providecommand*{\DUCLASScontents}{%
  \renewenvironment{itemize}%
    {\begin{list}{}{\setlength{\partopsep}{0pt}
                    \setlength{\parsep}{0pt}}
                   }%
    {\end{list}}%
}za
% character width in monospaced font
\newlength{\ttemwidth}
\settowidth{\ttemwidth}{\ttfamily M}c                     t          |           g}| D ]-}|                                s n|                    |           .d                    |                                          S )Nr+   )nextstripr7   rs   rstrip)fpblocklines      rQ   _read_blockr7  K  sd    "XXJE  zz|| 	ET775>>  """rR   docutils.styrY   rZ   z% 
z:::)colorfloattabletextcompc                      e Zd ZdZ ed          d ed          d ed          diZ ed          d	 ed
          d ed          d ed          d ed          d ed          d ed          d ed          d ed          d ed          dddiZi ddd d!d"dd#d!d$d%d&d'd(d%d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAZi dBddCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgZi dhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddēddƓddȓddʓi dd̓ddΓddГddfddӓddՓddדddٓddۓddݓddߓddddddddddddddddddZ	dddddZ
dS )CharMapsz8LaTeX representations for active and Unicode characters.\z\textbackslash{}{z\{}z\}#\#$z\$%\%&z\&~z\textasciitilde{}_\_^z\textasciicircum{}"z\textquotedbl{}[z{[}]z{]}   z\-i    z\enskipi   z\quadi   i   i   z\,i   z\hspace{0pt}i/   i   z\hbox{-}i+!  z\AAi!  z\ensuremath{\Leftrightarrow}i`"  z\ensuremath{\neq}ia"  z\ensuremath{\equiv}id"  z\ensuremath{\le}ie"  z\ensuremath{\ge}i`&  z\ensuremath{\spadesuit}ic&  z\ensuremath{\clubsuit}i   ffr   flffiffl)i  i  i  i        z\guillemotleft{}   z\guillemotright{}i   z\textcompwordmark{}i   z\textendash{}i   z\textemdash{}i   z\textquoteleft{}i   z\textquoteright{}i   z\quotesinglbase{}i   z\textquotedblleft{}i   z\textquotedblright{}i   z\quotedblbase{}i0   z\textperthousand{}i1   z\textpertenthousand{}i9   z\guilsinglleft{}i:   z\guilsinglright{}i#$  z\textvisiblespace{}z\dag{}z\ddag{}z\dots{}z\texttrademark{})i    i!   i&   "!     z\textcent{}   z\textcurrency{}   z
\textyen{}   z\textbrokenbar{}   z\textsection{}   z\textasciidieresis{}   z\textcopyright{}   z\textordfeminine{}   z\textlnot{}   z\textregistered{}   z\textasciimacron{}   z\textdegree{}   z	\textpm{}   z\texttwosuperior{}   z\textthreesuperior{}   z\textasciiacute{}   z	\textmu{}   z\textparagraph{}   z\textonesuperior{}   z\textordmasculine{}   z\textonequarter{}   z\textonehalf{}   z\textthreequarters{}   z\texttimes{}   z
\textdiv{}i  z\textflorin{}i  i  z\textacutedbl{}i   z\textbardbl{}i"   z\textbullet{}i2   i3   i5   z\textasciigrave{}i6   z\textgravedbl{}i;   z\textreferencemark{}i=   z\textinterrobang{}iD   z\textfractionsolidus{}iE   z\textlquill{}iF   z\textrquill{}iR   z\textdiscount{}i   z\textcolonmonetary{}i   z\textfrenchfranc{}i   z\textlira{}i   z\textnaira{}i   z
\textwon{}i   z\textdong{}i   z\texteuro{}i   z\textpeso{}i   z\textguarani{}i!  z\textcelsius{}i!  z\textnumero{}i!  z\textcircledP{}i!  z\textrecipe{}i !  z\textservicemark{}rX  i&!  z
\textohm{}i'!  z
\textmho{}i.!  z\textestimated{}i!  z\textleftarrow{}i!  z\textuparrow{}i!  z\textrightarrow{}i!  z\textdownarrow{}i"  z\textminus{}i"  z\textasteriskcentered{}i"  z\textsurd{}i"$  z\textblank{}i%  z\textopenbullet{}i%  z\textbigcircle{}z\textmusicalnote{}z\textmarried{}z\textdivorced{}z\textlangle{}z\textrangle{})ij&  i&  i&  i'  i'  z
\ding{170}z
\ding{169}z	\ding{51}z	\ding{55})ie&  if&  i'  i'  N)ru   rv   rw   r#  ordallttspecialunsupported_unicodeutf8_supported_unicoder=  pifontr   rR   rQ   r?  r?  h  s/       BB 	D		&C%C%E 	C%C%C%C%C&C%C'C$ 	C%C% 	)G. 	
 		
 	
 	 	 	 	 	 	 	0 	% 	'  	$!" 	$#& 	+'( 	*)* 	+, 3  8# 	$ 	&	
 	  	  	# 	$ 	$ 	& 	' 	" 	% 	( 	#  	$!" 	&#$ #+  0LL 	"L 		L
 	#L 	!L 	'L 	#L 	%L 	L 	$L 	%L 	 L 	L 	%L  	'!L" 	$#L$ 	%L L& 	#'L( 	%)L* 	&+L, 	$-L. 	!/L0 	'1L2 	3L4 	5L8 	 9L: 	$;L< 	"=L> 	 ?L@ 	 ALB 	$CLD 	"ELF 	$GLH 	"IL L LJ 	'KLL 	%MLN 	)OLP 	 QLR 	 SLT 	"ULV 	'WLX 	%YLZ 	[L\ 	]L^ 	_L` 	aLb 	cLd 	eLf 	!gLh 	!iLj 	 kL L Ll 	"mLn 	 oLp 	%qLr 	#sLt 	uLv 	wLx 	#yLz 	#{L| 	!}L~ 	$L@ 	#ALB 	CLD 	*ELF 	GLH 	ILJ 	$KLL 	#ML LN &!"  WL L LH^ 	 FFFrR   r?  c                   &    e Zd ZdZddZd Zd ZdS )DocumentClassz"Details of a LaTeX document class.Fc                     || _         || _        g d| _        | j         dv r| j                            dd           | j        r| j                            dd           d S d S )N)section
subsectionsubsubsection	paragraphsubparagraph)bookmemoirreportscrbookscrreprtr   chapterrm   )document_class
_with_partsectionsinsert)rP   r  	with_parts      rQ   rL   zDocumentClass.__init__  s    ,#6 6 6 #: : :M  I...? 	,M  F+++++	, 	,rR   c                 V    |t          | j                  k    r| j        |dz
           S dS )zReturn the LaTeX section name for section `level`.

        The name depends on the specific document class.
        Level is 1,2,3..., as level 0 is the title.
           DUtitle)lenr  )rP   levels     rQ   r{  zDocumentClass.section%  s/     C&&&&=q))yrR   c                     t          |t          | j                            }d| j        v r|dz  }| j        d         dk    r|dz  }|S )a  
        Return LaTeX equivalent of Docutils section level `depth`.

        Given the value of the ``:depth:`` option of the "contents" or
        "sectnum" directive, return the corresponding value for the
        LaTeX ``tocdepth`` or ``secnumdepth`` counters.
        r  r  r   rm   )minr  r  )rP   depths     rQ   latex_section_depthz!DocumentClass.latex_section_depth0  sS     E3t}--..%%QJE=v%%QJErR   N)F)ru   rv   rw   r#  rL   r{  r  r   rR   rQ   ry  ry    sL        ,,	, 	, 	, 	,	 	 	    rR   ry  c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TableaH  Manage a table while traversing.

    Table style might be

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

    :colwidths-auto:  column widths determined by LaTeX
    c                     || _         || _        d| _        |                                  g | _        g | _        d| _        d S )NFr   )_translator_latex_typer:   close
_colwidths_rowspan	_in_thead)rP   
translator
latex_types      rQ   rL   zTable.__init__L  s@    %%$)!

rR   c                 L    d| _         g | _        g | _        i | _        d| _        d S )NTF)_open
_col_specscaption_attrs_in_headrO   s    rQ   openz
Table.openV  s)    
rR   c                 Z    d| _         d | _        g | _        i | _        g | _        d| _        d S NF)r  r  r  r  stubscolwidths_autorO   s    rQ   r  zTable.close]  s3    

#rR   c                     | j         S rK   )r  rO   s    rQ   is_openzTable.is_opene  s
    zrR   c                     |j         | _         d|v r|                     d|d                    d dg|j        z   |d         z   D             }|d         | _        d|d         v s	d|j        v od|d         vod|v| _        d S )	Nalignc                 B    g | ]}|d v |                     dd          S ))r   r   r   r   r   r   replacer   clss     rQ   r,  z)Table.set_table_style.<locals>.<listcomp>n  sD     P P P NNN	 ;;y,77 ONNrR   r   classesr  r   colwidths-givenwidth)r:   settable_stylebordersr  )rP   nodera   r  s       rQ   set_table_stylezTable.set_table_styleh  s    $,$A!d??HHWd7m,,,P P *|!)!5 6!%i 1P P P
 r{ 0DO C !L#3x7K#K 7#4DO#K 7 $+$#6 	rR   c                 8    | j         dk    r	| j        sdS | j         S )N	longtable
longtable*)r  r  rO   s    rQ   get_latex_typezTable.get_latex_typey  s%    {**4<*<rR   c                     || j         |<   d S rK   r  )rP   attrvalues      rQ   r  z	Table.set  s    !DrR   c                 2    || j         v r| j         |         S d S rK   r  )rP   r  s     rQ   r  z	Table.get  s!    4;;t$$trR   c                      | j         dk    rdS dS )Nr   |r+   )r  rO   s    rQ   get_vertical_barzTable.get_vertical_bar  s    <:%%3rrR   
\linewidthc                    ddddd}|                     |                      d                    }|                                 }|r|dvrd|d	d
|dg}n	d
|d|g}| j        s\| j        dk    r8| j        s1|                    dd|t          | j                  dz   fz             n|                    dd|z             d                    |          S )Nz[l]z[c]z[r]r+   )leftcenterrightNr  r  r  z\noindent\makebox[\linewidth]z{%\begin{rB  r   r  z?\setlength{\DUtablewidth}{\dimexpr%s-%i\arrayrulewidth\relax}%%r  z\setlength{\DUtablewidth}{%s}%%rq   )	r  r  r  r  r:   r  r  r  rs   )rP   r  	align_mapr  r  openings         rQ   get_openingzTable.get_opening  s)   "$# 	 dhhw//00((**
 	>Z'BBBB@EGG(2

46GG +5**ee<=G" 	O|z))$2K)r $I"'T_)=)=a)?!@$A B B B B r#E#MNNNyy!!!rR   c                 D   g }| j         dk    r|                    d           |                    d|                                 z             |                     d          r+|                                 dvr|                    d           d                    |          S )Nr   z\bottomrule\end{%s}r  r  rB  rq   )r  r7   r  r  rs   )rP   closings     rQ   get_closingzTable.get_closing  s    <:%%NN>*** 	{T%8%8%:%::;;;HHW 	 ##%%-HHHNN3yy!!!rR   c                     | j                             |           | j                            |j                            d                     d S )Nstub)r  r7   r  
attributesr  rP   r  s     rQ   visit_colspeczTable.visit_colspec  sD    t$$$
$/--f5566666rR   c                    |                                  }dgt          | j                  z  | _        | j        r g | _        dgt          | j                  z  }n| j        r[ddt          d | j        D                       k    rz  z  fd| j        D             | _        d | j        D             }ndd	|j        j        d
         vrdndfd| j        D             | _        t          | j                  dk    sd|j        j        j	        v rfd| j        D             | _        d | j        D             }||
                    |          z   |z   S )z3Return column specification for longtable.
        r   lP   g(\?c              3   ,   K   | ]}|d          dz   V  dS )colwidthr  Nr   r   r  s     rQ   r  z%Table.get_colspecs.<locals>.<genexpr>  s,      MMTd:.q0MMMMMMrR   c                 8    g | ]}|d          dz   z  z  dz   S )r  r  g{Gzt?r   )r   r  factorr  s     rQ   r,  z&Table.get_colspecs.<locals>.<listcomp>  sK     D D D+/ !'$z*:1*< =e C!& ' D D DrR   c                     g | ]}d |z  S )zp{%.3f\DUtablewidth}r   r   r  s     rQ   r,  z&Table.get_colspecs.<locals>.<listcomp>  s-     ? ? ?"* 6@ ? ? ?rR   (   r  r  r  c                 ,    g | ]}|d          z   z  S )r  r   )r   r  	allowancenorm_lengths     rQ   r,  z&Table.get_colspecs.<locals>.<listcomp>  s8     < < <#' !%Z 0 :KG < < <rR   r  c                     g | ]}|z  S r   r   )r   r  total_widths     rQ   r,  z&Table.get_colspecs.<locals>.<listcomp>  s4     #D #D #D'/ $,K#7 #D #D #DrR   c                     g | ]}d |z  S )p{\DUcolumnwidth{%.3f}}r   r  s     rQ   r,  z&Table.get_colspecs.<locals>.<listcomp>  s-     ? ? ?"* 98C ? ? ?rR   )r  r  r  r  r  r  r:   sumparentr  rs   )	rP   r  barlatex_colspecsr  r  r  r  r  s	       @@@@@rQ   get_colspecszTable.get_colspecs  s    ##%%c$/222 %	? DO!US%9%99NN& "	?EFMMT_MMMMMKU""%+--D D D D D37?D D DDO? ?.2o? ? ?NN K !(:9(EEE			< < < < <+/?< < <DOdo..KQ'T[-?-J"J"J#D #D #D #D37?#D #D #D? ?.2o? ? ?NSXXn---33rR   c                     	 | j         rd| j        | j                 z  S d| j        | j                 z  S # t          $ r Y dS w xY w)z4Return columnwidth for current cell (not multicell).z%.2f\DUtablewidthz\DUcolumnwidth{%.2f}*)r:   r  _cell_in_row
IndexErrorrO   s    rQ   get_column_widthzTable.get_column_width  s_    	( O+DOD<M,NNN*4?4;L+MMM 	 	 	33	s   3 3 
A Ac                      	 t           fdt          |          D                       } j        rd|z  S d|z  S # t          $ r Y dS w xY w)z)Return sum of columnwidths for multicell.c              3   8   K   | ]}j         |z            V  d S rK   )r  )r   corP   starts     rQ   r  z.Table.get_multicolumn_width.<locals>.<genexpr>  sB       !8 !8%' "&!< !8 !8 !8 !8 !8 !8rR   zp{%.2f\DUtablewidth}r  r  )r  ranger:   r  )rP   r  len_multicol_widths   ``  rQ   get_multicolumn_widthzTable.get_multicolumn_width  s    	  !8 !8 !8 !8 !8+0;;!8 !8 !8 8 8N( @.??->> 	 	 	33	s   4> > 
AAc                     t          j        dt          d           | j        sdS d                    | j                  }d| j                                        k    rd|z  S d|z  S )z-Deprecated. Will be removed in Docutils 0.22.zW`writers.latex2e.Table.get_caption()` is obsolete and will be removed in Docutils 0.22.   
stacklevelr+   r  z\caption{%s}\\
z!\caption[]{%s (... continued)}\\
)warningswarnDeprecationWarningr  rs   r  thead_depth)rP   r  s     rQ   get_captionzTable.get_caption  sy     ?(Q	8 	8 	8 	8 | 	2''$,'' ,,....)G337'AArR   c                 V    | j         dk    rd| j                                        k    S dS )Nr  r  r   )r  r  r  rO   s    rQ   need_recursezTable.need_recurse   s/    {**(446666qrR   c                 ^    | xj         dz  c_         | j        dk    rdgS | j        dk    rdgS g S )Nr  r   \hline
r   z	\toprule
)r  r  rO   s    rQ   visit_theadzTable.visit_thead  sA    !<:%%= \Z''!?"	rR   c                 ,   g }| j         dk    r|                    d           | j        dk    rd| j                                        k    r|                    d           nt          | j                  }|                    d           t          d | j        D                       }|dk    s|d	k    r;| j        s4|                    d
|| 	                    d|          fz  dz   dz              |                    d           | xj
        dz  c_
        |S )Nr   z	\midrule
r  r  z\endfirsthead
z	\endhead
c              3   ,   K   | ]}|d          dz   V  dS )r  r  Nr   r  s     rQ   r  z%Table.depart_thead.<locals>.<genexpr>  s,      LLDT*-a/LLLLLLrR         z\multicolumn{%d}{%s}r   z,{\raggedleft\ldots continued on next page}\\rq   z\endfoot
\endlastfoot
)r  r7   r  r  r  r  r  r  r  r  r  )rP   an_ctwidths       rQ   depart_theadzTable.depart_thead  s1    <:%%HH]###{**D$002222+,,,,$/**'''LLDOLLLLLB;;6B;;t7J;HH4 #T%?%?3%G%GHINO  $$ % % % 5666!rR   c                     d| _         d S Nr   r  rO   s    rQ   	visit_rowzTable.visit_row%  s    rR   c                 P    dg}d  _         t          t           j                            D ](} j        |         dk    r j        |xx         dz  cc<   ) j        dk    rň fdt          t           j                            D             }t          |          t           j                  k    r|                    d           n]d}|                                 	 	 |                                }n# t          $ r Y nw xY w|d	||fz  z  }1|                    |           |S )
N \\
r   r  r   c                 <    g | ]}j         |         d k    |dz   S )r   r  )r  )r   irP   s     rQ   r,  z$Table.depart_row.<locals>.<listcomp>0  s8     2 2 2=+q00 !000rR   r
  r+   Tz\cline{%d-%d}
)	r  r  r  r  r  r7   reversepopr  )rP   resr  rowspansclinec_starts   `     rQ   
depart_rowzTable.depart_row(  s_   k s4=))** 	& 	&A}Q!##a   A%   <:%%2 2 2 2U3t}+=+=%>%> 2 2 2H8}}DM 2 222

;''''  """E"*,,..%   /7G2DDDEE 

5!!!
s   !C6 6
DDc                 >    	 || j         |<   d S # t          $ r Y d S w xY wrK   r  r  )rP   cellr  s      rQ   set_rowspanzTable.set_rowspanA  s;    	"'DM$ 	 	 	DD	s   
 
c                 @    	 | j         |         S # t          $ r Y dS w xY wr  r$  )rP   r%  s     rQ   get_rowspanzTable.get_rowspanG  s6    	=&& 	 	 	11	s    
c                     | j         S rK   r  rO   s    rQ   get_entry_numberzTable.get_entry_numberM        rR   c                 &    | xj         dz  c_         d S Nr  r  rO   s    rQ   visit_entryzTable.visit_entryP  s    QrR   c                 d    t          | j                  | j        k    r| j        | j                 S dS r  )r  r  r  rO   s    rQ   is_stub_columnzTable.is_stub_columnS  s-    tz??d///:d/00urR   N)r  )ru   rv   rw   r#  rL   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r&  r(  r*  r.  r0  r   rR   rQ   r  r  @  s       
 
    $ $ $  8 8 8"     " " "  
  
" " " "*
" 
" 
"7 7 7
+4 +4 +4Z  	 	 	B B B  
    0    2    ! ! !      rR   r  c                   V    e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZef fd	Zd Zd Zd Zd	 Z ej        d
          fdZd Zd Z	 	 ddZd ZddZd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d  Z+d! Z,d" Z-d# Z.d$ Z/d% Z0d& Z1d' Z2d( Z3d) Z4d* Z5d+ Z6d, Z7d- Z8d. Z9d/ Z:d0 Z;d1 Z<d2 Z=d3 Z>d4 Z?d5 Z@d6 ZAd7 ZBd8 ZCd9 ZDd: ZEd; ZFd< ZGd= ZHd> ZId? ZJd@ ZKdA ZLdB ZMdC ZNdD ZOdE ZPdF ZQdG ZRdH ZSdI ZTdJ ZUdK ZVdL ZWdM ZXdN ZYdO ZZdP Z[dQ Z\dR Z]dS Z^dT Z_dU Z`dV ZadW ZbdX ZcdY ZddZ Zed[ Zfd\ Zgd] Zhd^ Zid_ Zjd` Zkda Zldb Zmdc Zndd Zode Zpdf Zqdg Zrdh Zsdi Ztdj Zudk Zvdl Zwdm Zxdn Zydo Zzdp Z{dq Z|dr Z}ds Z~dt Zdu Zdv Zdw Zdx Zdy ZddzZd{ Zd| Zd} Zd~ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdddddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zdʄ Zd˄ ZdZd̄ Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Z xZS )rM   z
    Generate code for 8-bit LaTeX from a Docutils document tree.

    See the docstring of docutils.writers._html_base.HTMLTranslator for
    notes on and examples of safe subclassing.
    Fr6   r   c                     t                                          |            j        j        j         _         j        j        j         _        |j        x _        }|j        *|j	        s#d|_        t          j        dt          d           |j        #d|_        t          j        dt          d           |j        t          j        dt          d                                |j                   _        |j         _        |j         _        |j         _        |j         _        |j         _        |j         _        t-          |dd	           _        |j         _        |j                            d
d           _        d	 _        d	 _        |j        r*t;          j        d|j                  \  } _         _        }n|j        rd _        |j	        rd _        |j	         _        tA          j!        |j"        |j                   _#         ||j"        |j                   _$         j#        j%        d          _&        |j'        g} j$        j(        dvr|)                     j$        j(                   d*                    tW          d |                     _'        tY          |j-        |j.                   _/        |j0        d	k    rd _1        nd|j0        z   _1        |j2         _2        d j'        d|j-        dg _3        ti                       _5        d j5        d<   |j6        g _6        ti                       _7        g  _8        g  _9        g  _:        g  _;        g  _<        g  _=        g  _>        g  _?        g  _@        g  _A        	 g  _B        g  _C        g  _D        g  _E        g  _F        g  _G        |j"        dk    r" jG        )                    d|j"        z             dg _H        g  _I        d _J        g  _K        g  _L        t           d           _N         j@         _O        g  _P         j        dvrd j        z   j5        d<    jQ        si j        rd j        z   j5        d<    j                            d          D ]5}|R                                }|d k    rd! j5        d"<   '|d#vr
d$ j5        d%<   6|j-        S                    d&          d'k    rF j'        S                    d(          d'k    s j'        S                    d)          d'k    r
d* j5        d+<   t          jU        |          }d,|v  _V         jV        r.|W                    d,           |jX        rd _V        n
d- j7        d.<    fd/|D              _Y         j        Z                                d0v rd	 _[        nd1 j         d2 j          _[        |j[        r xj[        d|j[        z   z  c_[        |j\        rd3t          _^        d S |j_        }|'d4 j/        `                    |          z  t          _^        t          |d5          r4|jb        d6k    r+d7 j/        jc        d         |jb        d6z
  fz   j5        d5<   d S d S d S )8NFzXThe default for the setting "use_latex_citations" will change to "True" in Docutils 1.0.   r   Tz[The default for the setting "legacy_column_widths" will change to "False" in Docutils 1.0.)zzThe configuration setting "use_verbatim_when_possible" will be removed in Docutils 2.0. Use "literal_block_env: verbatim".font_encodingr+   rJ  rK  z	(\w+)(.*)verbatimr   )r   r+   r
  z\usepackage{graphicx}z\usepackage[%s]{graphicx}z\documentclass[]{rB  z\usepackage{ifthen}__staticr   z  pdflang={%s},r  )asciiunicodeutf8z\usepackage[%s]{inputenc}	_inputencz\usepackage[%s]{fontenc}_fontencOT1z+\DeclareTextSymbol{\textquotedbl}{OT1}{`\"}_textquotedblOT1)r8   T2AT2BT2CT4T5z,\DeclareTextSymbolDefault{\textquotedbl}{T1}_textquotedblscrr  DIVBCORz\usepackage{typearea}typeareadocutilsz!\usepackage{docutils}[2020/08/28]r8  c                 :    g | ]}                     |          S r   )stylesheet_call)r   pathrP   s     rQ   r,  z,LaTeXTranslator.__init__.<locals>.<listcomp>@  s7     8 8 8#  //55 8 8 8rR   )0falser+   zcolorlinks=true,linkcolor=z
,urlcolor=z\setcounter{secnumdepth}{0}z\setcounter{secnumdepth}{%d}sectnum_startr  z\setcounter{%s}{%d})drT   rL   r\   r  r  r  errorra   r#   
use_bibtexr  FutureWarningr:   use_verbatim_when_possibleto_latex_encodingoutput_encodinglatex_encodingr0   r1   reference_labelhyperlink_colorr4   r`   r4  r5   section_enumerator_separatorr  literal_block_envliteral_block_optionsresplitbibtexr   r"  r  language_modulebabelauthor_separatorsauthor_separatordocumentoptionsr  r7   rs   filterry  documentclassuse_part_sectiond_classgraphicx_optiongraphicx_packagedocutils_footnotesr=   r&  r>   r?   r@   rA   rC   rD   rB   rE   rF   rG   rH   rI   contexttitle_labelssubtitle_labelsauthor_stackdate	pdfauthorpdfinfo_section_number_enumeration_counters_max_enumeration_counters	_bibitemstable_stackr  active_tableout	out_stackis_xetexr2  findr
   get_stylesheet_listfallback_stylesheetremover9   r-   r   hyperref_optionssectnum_xformr/  secnumdepthr<   r  hasattrrO  r  )
rP   r\   babel_classra   r*   	d_optionsencstylesheet_listr  rW   s
   `        rQ   rL   zLaTeXTranslator.__init__  s`   """ M*2	]+1
 $,#44'/8K/+0H(M C'A7 7 7 7 (0,0H)M E'A7 7 7 7 .:M5 !	- - - - #44X5MNN%3!)!;#+#? '7'7$,$A!$XCC3 	+ 199#uEE 	) "$%'"% 	0 XlH,FGGT#'T0 	0%/D" 	,'+D$)  )5h6L6>6G I  I [!79JKK
 $ 4 Fq I-.	:o55TZ0111"xxtY(?(?@@$X%;%-%>@ @ #r))$<D!!%A%-%=&>D! #+"= "111%3335 6 )NN(>*%'67%
 "	 	H ! 	 !T))L 1(2H HIII
 !"s &(" *+& !$44 9 &BBB.J040C/DDk* } 	I! E1L151C2D!*- )//44 I Iiikk%<<F %&899 GGGG %o6 "''.."44%**511R77(--f55;;,DDj)
  3H==#-#@ # 	:"":.... :+0(( 9 ~.8 8 8 8'68 8 8 %%''+===$&D!!&H262F&H &H151E&H &HD! $ 	E!!S8+D%DD!! ! 	I'EL$$$"0K &3l66{CCD ( /22 I*a//*dl.CA.F.6.DQ.F.H H !/222I I//rR   c                    t          |          }|j        dv }| j        j        r|r|                    d          }	 |                    d          }| j        j                            |                                           nh# t          $ r[}d| 
                    dd          }| j        j                            |           d|
                    d	d
          z   cY d}~S d}~ww xY w|rd| d}d|                                 d	| S |r|j        |j        z  }d}nd}| j        j        r"|t#          j        | j        j        |          z  S ||                                z  S )z8Return code to reference or embed stylesheet file `path`).styr+   r  rY   rZ   zCannot embed stylesheet:
 \\/z% rq   
% Nz\makeatletter
z
\makeatotherz% embedded stylesheet: z\usepackage{%s}z
\input{%s})r   suffixra   r.   with_suffixre   record_dependenciesaddas_posixOSErrorr  r\   r  rP  r  stemr,   r
   relative_path_destination)rP   rL  
is_packagecontenterrmsgcmds          rQ   rK  zLaTeXTranslator.stylesheet_callr  s   Dzz[L0
=) 	" 0''//G..'.:: 155dmmooFFFF  8 8 89C99AA&#NN&,,S111ckk$7777777778  HFgFFF!dmmoo ! !! ! "  	 ;*D$CCC=( 	O,T]-GNNNNT]]__$$s   B 
C*AC%C*%C*c                     ddddddddd	d
ddddd}|                                 }|                    d          d         }||v r||         S |                    dd                              dd          S )zTranslate docutils encoding name into LaTeX's.

        Default method is remove "-" and "_" chars from docutils_encoding.
        latin1latin2latin3latin4iso88595latin5latin9maccyrcp1251koi8-rkoi8-ucp1250cp1252r8  )z
iso-8859-1z
iso-8859-2z
iso-8859-3z
iso-8859-4z
iso-8859-5z
iso-8859-9ziso-8859-15mac_cyrilliczwindows-1251r  r  zwindows-1250zwindows-1252zus-asciir9  r   rJ  r+   r6   )r   r]  r  )rP   docutils_encodingr   r[   s       rQ   rT  z!LaTeXTranslator.to_latex_encoding  s    
 %$$$&$%&&  &&! 8 %**,,>>#&&q)r>>h<R((00b999rR   c                 &    | j         j        |         S rK   )r_  labels)rP   docutil_labels     rQ   language_labelzLaTeXTranslator.language_label  s    #*=99rR   c                    | j         r|S t          j                                        }| j        s|                    t          j                   | j        r| j        s|t          d          = | j        dv rx| j	        sq| j
        r4d|t          d          <   | j        | j        d<   d|t          d          <   n6d|t          d          <   d	|t          d
          <   d|t          d          <   | j        r1d|t          d          <   d| j        j        z  |t          d          <   | j	        s5| j                            d          s]|                    t          j                   |                    t          j                   |                    t          j                   |                    t          j                   |D ]}t          |          }|t          j        v r| j        st.          j        | j        d<   ;|t          j        v rd| j        d<   T| j        dk    r=|t          j        v r/d|t          j        |         fz  | j        dt1          |          z   <   |                    |          }| j	        s5d}| j
        r|dz  }|dz  D ]!}|                    ||z   |dz   |z             }"| j        rk|                    d          }t;          |dd                   D ])\  }}	|	                                s||xx         dz  cc<   *d                    |          }| j
        r| j        s|                    dd          }|S ) aU  Return text with 'problematic' characters escaped.

        * Escape the special printing characters ``# $ % & ~ _ ^ \ { }``,
          square brackets ``[ ]``, double quotes and (in OT1) ``< | >``.
        * Translate non-supported Unicode characters.
        * Separate ``-`` (and more in literal text) to prevent input ligatures.
        rJ  )r=  r+   z\underline{~}graphicxz\reflectbox{/}r@  z
\textbar{}r  z\textless{}<z\textgreater{}>rI   	r:  r=  z\usepackage{pifont}rw  z"\DeclareUnicodeCharacter{%04X}{%s}r;  r6   z,`'"<>r  z{}rq   Nr  \\
z  z ~) r5  r?  rs  copyupdatert  inside_citation_reference_labelrr  r4  rz  literalri  r>   insert_non_breaking_blanksra   	tab_widthrV  
startswithru  rv  r=  rw  r}  r/  strro   r  insert_newliner]  	enumeratelstriprs   )
rP   textr<  chcpseparate_charscharrt   r  r6  s
             rQ   encodezLaTeXTranslator.encode  sd    = 	K##%%z 	+LL)***/ 	 
 	 c#hh,,T],| 4 #3c#hh 150E!*-#4c$ii   #0c#hh"0c#hh"3c#hh* 	=!E#c((O  #T]%<<E#d))} 	B&11&99 0X9:::X<===X.///LL))) B BWW***43K*4@4ID%j118?**2HD%h//)V33 <<<=x;B?@A %k#b''&9: ~~e$$ } 		E N | ,)+&* E E ||D4Kt1CDD  	.JJt$$E %U3B3Z00 $ $4{{}} $!HHHOHHH &&u--D< 	, ? 	,<<d++DrR   z[
	]c                 T    |                      |                    d|                    S )z1Cleanse, encode, and return attribute value text.r  )r  sub)rP   r  
whitespaces      rQ   attvalzLaTeXTranslator.attval  s$     {{:>>#t44555rR   c                 @    t          |j        t          j                  S )z@Check whether a node represents an inline or block-level element)
isinstancer  r   TextElementr  s     rQ   	is_inlinezLaTeXTranslator.is_inline!  s    $+u'8999rR   c                     | j                             d                    d |d         D                                  dS )z)Append hypertargets for all ids of `node`%
c              3       K   | ]	}d |z  V  
dS )z"\raisebox{1em}{\hypertarget{%s}{}}Nr   )r   r   s     rQ   r  z6LaTeXTranslator.append_hypertargets.<locals>.<genexpr>)  s?       #= #=*, $J#%$& #= #= #= #= #= #=rR   idsN)rx  r7   rs   r  s     rQ   append_hypertargetsz#LaTeXTranslator.append_hypertargets%  sV     	

 #= #=04U#= #= #= = = 	> 	> 	> 	> 	>rR   Tc                     |rdndfd|d         D             }|r|r|                     dd           |r|r|                    d           |S )a  Return list of label definitions for all ids of `node`

        If `set_anchor` is True, an anchor is set with \phantomsection.
        If `protect` is True, the \label cmd is made robust.
        If `newline` is True, a newline is added if there are labels.
        z\protectr+   c                      g | ]
}d |z  z   S )z
\label{%s}r   )r   r   prefixs     rQ   r,  z1LaTeXTranslator.ids_to_labels.<locals>.<listcomp>5  s#    DDD"&=2--DDDrR   r  r   z\phantomsectionrq   )r  r7   )rP   r  
set_anchorprotectnewliner  r  s         @rQ   ids_to_labelszLaTeXTranslator.ids_to_labels,  sz     !(/RDDDDUDDD 	1& 	1MM!/000 	 v 	 MM$rR   c                     d |d         D             }|r6|d                              dd          |d<   d |d         D             |d<   dS dS )	z8Convert ``align-*`` class arguments into alignment args.c                 <    g | ]}|                     d           |S align-r  r  s     rQ   r,  z:LaTeXTranslator.set_align_from_classes.<locals>.<listcomp>?  s)    LLL3>>(3K3KLLLLrR   r  r  r  r+   r  c                 <    g | ]}|                     d           |S r  r  r  s     rQ   r,  z:LaTeXTranslator.set_align_from_classes.<locals>.<listcomp>B  s?     @ @ @s&)nnX&>&>@s @ @ @rR   Nr  )rP   r  r  s      rQ   set_align_from_classesz&LaTeXTranslator.set_align_from_classes<  s|     MLYLLL 	@!"I--h;;DM@ @d9o @ @ @DOOO	@ 	@rR   Nc                     |                     d|          }|dk    r| j                            d           d S |dk    r| j                            d           d S |dk    r| j                            d           d S d S )Nr  r  z\raggedright
r  z\centering
r  z\raggedleft
)r  rx  r7   )rP   r  r   r  s       rQ   insert_align_declarationz(LaTeXTranslator.insert_align_declarationE  s    '**F??HOO-.....hHOOO,,,,,gHOO,----- rR   c                 $   t          |j        t          j                  s| j                            d           |d         D ]}|                    d          rQ| j                            |dd                   }|r,d| j        j	        |<   | j                            d|z             ht          |t          j
                  r|t          j        dgz   v r| j        st          j        | j        d	<   | j                            d
|z             dS )z6Open a group and insert declarations for class values.rq   r  	language-	   NTz\begin{selectlanguage}{%s}
r  DUclassz\begin{DUclass}{%s}
)r  r  r   compoundrx  r7   r  r`  r  r  r<  r   r|   r}  r/  duclassr@   rP   r  r  r  s       rQ   duclass_openzLaTeXTranslator.duclass_openN  s   $+u~66 	"HOOD!!!	? 	@ 	@C~~k** @:33CG<< P:>DJ-h7HOO$Ch$NOOOT5;// @V6:K9LLLL/ E0<0DDN9- 83 >????	@ 	@rR   c                    t          |d                   D ]}|                    d          r?| j                            |dd                   }|r| j                            d           Vt          |t          j                  r|t          j
        dgz   v r| j        st          j        | j        d<   | j                            d           dS )	z$Close a group of class declarations.r  r  r  Nz\end{selectlanguage}
r  r  \end{DUclass}
)reversedr  r`  r  rx  r7   r  r   r<  r   r|   r}  r/  r  r@   r  s       rQ   duclass_closezLaTeXTranslator.duclass_close`  s    DO,, 	4 	4C~~k** 
4:33CG<< ?HOO$=>>>T5;// 4V6:K9LLLL/ E0<0DDN9- 23333	4 	4rR   c                 R    | j                             | j                   || _        d S rK   )ry  r7   rx  )rP   new_outs     rQ   push_output_collectorz%LaTeXTranslator.push_output_collectoro  s%    dh'''rR   c                 B    | j                                         | _        d S rK   )ry  r  rx  rO   s    rQ   pop_output_collectorz$LaTeXTranslator.pop_output_collectors  s    >%%''rR   c                 x   |D ]5}t          |t          j        t          j        t          j        f          s n6dS t          |t          j        t          j        f          r|                     |          S t          |t          j                  rdS t          |t          j	        t          j
        f          sdS dS )aD  
        Return LaTeX code required between term or field name and content.

        In a LaTeX "description" environment (used for definition
        lists and non-docinfo field lists), a ``\leavevmode``
        between an item's label and content ensures the correct
        placement of certain block constructs.
        r+   z\leavevmode
\leavevmode)r  r   	Invisiblefootnotecitation	containerr  term_postfiximager~  
math_block)rP   r  childs      rQ   r  zLaTeXTranslator.term_postfixv  s      	 	Eeeou~&+n&6 7 7  2eeou~>?? 	,$$U+++eU[)) 	$##%%/53C!DEE 	"!>rrR   c                     | j                             |                     |                                                     d S rK   )rx  r7   r  astextr  s     rQ   
visit_TextzLaTeXTranslator.visit_Text  s0    DKKMM2233333rR   c                     d S rK   r   r  s     rQ   depart_TextzLaTeXTranslator.depart_Text      rR   c                 h    |d                              dd           |                     |           d S )Nr  r   abbreviationr  visit_inliner  s     rQ   visit_abbreviationz"LaTeXTranslator.visit_abbreviation  s6    Yq.111$rR   c                 0    |                      |           d S rK   depart_inliner  s     rQ   depart_abbreviationz#LaTeXTranslator.depart_abbreviation      4     rR   c                 h    |d                              dd           |                     |           d S )Nr  r   acronymr  r  s     rQ   visit_acronymzLaTeXTranslator.visit_acronym  s6    Yq),,,$rR   c                 0    |                      |           d S rK   r
  r  s     rQ   depart_acronymzLaTeXTranslator.depart_acronym  r  rR   c                 2    |                      |d           d S )Naddressvisit_docinfo_itemr  s     rQ   visit_addresszLaTeXTranslator.visit_address      i00000rR   c                 0    |                      |           d S rK   depart_docinfo_itemr  s     rQ   depart_addresszLaTeXTranslator.depart_address        &&&&&rR   c                    d |d         D             |d<   | j         j        rjt          j        | j        d<   d|d         v rt          j        | j        d<   | j                            dd                    |d                   z             d S | j	        st          j
        | j        d<   d|d         v r| j	        st          j        | j        d<   |                     |           | j                            d           d S )Nc                     g | ]
}|d k    |S )
admonitionr   r  s     rQ   r,  z4LaTeXTranslator.visit_admonition.<locals>.<listcomp>  s,     3 3 33!\11 111rR   r  r   rP  z
\DUadmonition[%s]{r
  z\begin{DUadmonition})ra   r9   r/  admonition_legacyr@   error_legacyrx  r7   rs   r}  r   rP  r  r  s     rQ   visit_admonitionz LaTeXTranslator.visit_admonition  s    3 3$y/ 3 3 3Y=/ 	+7+IDN<($y/))*6*Cw'HOO3CHHT)_4M4MMNNNF' 	C+7+BDN<(d9o%%d.F%&2&8DN7#$/00000rR   c                     | j         j        r| j                            d           d S | j                            d           |                     |           d S )N}
z\end{DUadmonition}
)ra   r9   rx  r7   r  r  s     rQ   depart_admonitionz!LaTeXTranslator.depart_admonition  sW    =/ 	HOOE"""F/0004     rR   c                     | j                             |                     |                                                     |                     |d           d S )Nauthor)rp  r7   r  r  r  r  s     rQ   visit_authorzLaTeXTranslator.visit_author  sH    dkk$++--88999h/////rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_authorzLaTeXTranslator.depart_author  r  rR   c                     d S rK   r   r  s     rQ   visit_authorszLaTeXTranslator.visit_authors      rR   c                     d S rK   r   r  s     rQ   depart_authorszLaTeXTranslator.depart_authors  r  rR   c                 d    |                      |           | j                            d           d S )Nz\begin{quote}r  rx  r7   r  s     rQ   visit_block_quotez!LaTeXTranslator.visit_block_quote  s1    $()))))rR   c                 d    | j                             d           |                     |           d S )Nz\end{quote}
rx  r7   r  r  s     rQ   depart_block_quotez"LaTeXTranslator.depart_block_quote  s1    ()))4     rR   c                 d    |                      |           | j                            d           d S )Nz\begin{itemize}r2  r  s     rQ   visit_bullet_listz!LaTeXTranslator.visit_bullet_list  s1    $*+++++rR   c                 d    | j                             d           |                     |           d S )Nz\end{itemize}
r5  r  s     rQ   depart_bullet_listz"LaTeXTranslator.depart_bullet_list  s1    *+++4     rR   c                 d    | j                             d           |                     |           d S )N\textsuperscript{rx  r7   r  r  s     rQ   visit_superscriptz!LaTeXTranslator.visit_superscript  s1    ,---$rR   c                 d    |                      |           | j                            d           d S NrB  r  rx  r7   r  s     rQ   depart_superscriptz"LaTeXTranslator.depart_superscript  0    4   rR   c                 d    | j                             d           |                     |           d S )Nz\textsubscript{r=  r  s     rQ   visit_subscriptzLaTeXTranslator.visit_subscript  s1    *+++$rR   c                 d    |                      |           | j                            d           d S r@  rA  r  s     rQ   depart_subscriptz LaTeXTranslator.depart_subscript  rC  rR   c                 :    | j                             d           d S )Nz

\caption{rx  r7   r  s     rQ   visit_captionzLaTeXTranslator.visit_caption  s    '''''rR   c                 :    | j                             d           d S Nr%  rI  r  s     rQ   depart_captionzLaTeXTranslator.depart_caption      rR   c                     | j         st          j        | j        d<   | j                            d           |                     |           d S )Ntitlereferencez\DUroletitlereference{)r}  r/  rP  r@   rx  r7   r  r  s     rQ   visit_title_referencez%LaTeXTranslator.visit_title_reference  sM    ' 	K/;/JDN+,1222$rR   c                 d    |                      |           | j                            d           d S r@  rA  r  s     rQ   depart_title_referencez&LaTeXTranslator.depart_title_reference  rC  rR   c                     | j         r|                     g            d S | j                            d           |                     |           d S )Nz\begin{figure}[b])r#   r  rx  r7   r  r  s     rQ   visit_citationzLaTeXTranslator.visit_citation   sX    # 	+&&r***** HOO0111$$T*****rR   c                 
   | j         ra| j        d         }d                    | j        dd                    }| j                            ||g           |                                  d S | j                            d           d S )Nr   r+   r  \end{figure}
)r#   rx  rs   ru  r7   r  )rP   r  labelr  s       rQ   depart_citationzLaTeXTranslator.depart_citation  s    # 	/HQKE7748ABB<((DN!!5$-000%%'''''HOO-.....rR   c                    | j         r-| j                            |                                g           | j        rM| j        s#| j                            d           d| _        d S | j        d         dv s
J d            | j        d= d S d}d|v r	|d         }nd|v r| j        j        |d                  }| j                            d	|z             d S )
Nz\cite{Tr  r  rq   z2unexpected non-whitespace while in reference labelr+   refidrefname\hyperlink{%s}{[)	r^  ru  r7   r  r#   r  rx  r\   nameids)rP   r  hrefs      rQ   visit_citation_referencez(LaTeXTranslator.visit_citation_reference  s    ; 	3N!!4;;==/222# 	87 !	***7;444x|{222L 322HRLLLD$G}d""},T)_=HOO/$677777rR   c                    | j         rd}|                    dd          }t          |t          j                  rI|                                dv r3|                    dd          }t          |t          j                  rd}|r| j                            d           d S | j                            d           d| _	        d S | j                            d           d S )NFTdescendsiblingsr[  r
  rB  ]})
r#   	next_noder  r   Textr  citation_referencerx  r7   r  )rP   r  followup_citationsiblingsibling2s        rQ   depart_citation_referencez)LaTeXTranslator.depart_citation_reference%  s    # 	" %nnUTnBBG7EJ// -NN$$33",,UT,JJh(@AA -(,%  =$$$$$$$$7<444HOOD!!!!!rR   c                 :    | j                             d           d S )Nz	(\textbf{rI  r  s     rQ   visit_classifierz LaTeXTranslator.visit_classifier8  s    %%%%%rR   c                     | j                             d           |                    t          j        dd          r| j                             d           d S d S )Nz})FTrc  rq   )rx  r7   rg  r   termr  s     rQ   depart_classifierz!LaTeXTranslator.depart_classifier;  sV    >>%*ed>CC 	"HOOD!!!!!	" 	"rR   c                 :    | j                             |           d S rK   )rw  r  r  s     rQ   r  zLaTeXTranslator.visit_colspec@  s    ''-----rR   c                     d S rK   r   r  s     rQ   depart_colspeczLaTeXTranslator.depart_colspecC  r  rR   c                    t          |j        t          j                  s| j                            d           | j                            d|                                                    dd          z             t          j        )Nrq   z%% %s
r  )	r  r  r   r  rx  r7   r  r  SkipNoder  s     rQ   visit_commentzLaTeXTranslator.visit_commentF  se    $+u~66 	"HOOD!!!	DKKMM$9$9$$G$GGHHHnrR   c                     d S rK   r   r  s     rQ   depart_commentzLaTeXTranslator.depart_commentM  r  rR   c                     t          |j        t          j                  r| j                            d           |d                             dd           |                     |           d S )Nrq   r  r   r  )r  r  r   r  rx  r7   r  r  r  s     rQ   visit_compoundzLaTeXTranslator.visit_compoundP  s`    dk5>22 	"HOOD!!!Yq*---$rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_compoundzLaTeXTranslator.depart_compoundV  r  rR   c                 2    |                      |d           d S )Ncontactr  r  s     rQ   visit_contactzLaTeXTranslator.visit_contactY  r  rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_contactzLaTeXTranslator.depart_contact\  r  rR   c                 0    |                      |           d S rK   )r  r  s     rQ   visit_containerzLaTeXTranslator.visit_container_  s    $rR   c                 0    |                      |           d S rK   r~  r  s     rQ   depart_containerz LaTeXTranslator.depart_containerb  r  rR   c                 2    |                      |d           d S )N	copyrightr  r  s     rQ   visit_copyrightzLaTeXTranslator.visit_copyrighte  s    k22222rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_copyrightz LaTeXTranslator.depart_copyrighth  r  rR   c                 2    |                      |d           d S )Nro  r  r  s     rQ   
visit_datezLaTeXTranslator.visit_datek  s    f-----rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_datezLaTeXTranslator.depart_daten  r  rR   c                     d S rK   r   r  s     rQ   visit_decorationz LaTeXTranslator.visit_decorationq  r.  rR   c                     d S rK   r   r  s     rQ   depart_decorationz!LaTeXTranslator.depart_decorationu  r  rR   c                     d S rK   r   r  s     rQ   visit_definitionz LaTeXTranslator.visit_definitionx  r  rR   c                     d S rK   r   r  s     rQ   depart_definitionz!LaTeXTranslator.depart_definition{  r  rR   c                 d    |                      |           | j                            d           d S )Nz\begin{description}
r2  r  s     rQ   visit_definition_listz%LaTeXTranslator.visit_definition_list~  s1    $011111rR   c                 d    | j                             d           |                     |           d S )Nz\end{description}
r5  r  s     rQ   depart_definition_listz&LaTeXTranslator.depart_definition_list  1    .///4     rR   c                     d S rK   r   r  s     rQ   visit_definition_list_itemz*LaTeXTranslator.visit_definition_list_item  r  rR   c                 l    |                     dd          | j                            d           d S d S )NFTrc  rq   )rg  rx  r7   r  s     rQ   depart_definition_list_itemz+LaTeXTranslator.depart_definition_list_item  s;    >>%$>77CHOOD!!!!! DCrR   c                 :    | j                             d           d S )Nr  rI  r  s     rQ   visit_descriptionz!LaTeXTranslator.visit_description  s    rR   c                     d S rK   r   r  s     rQ   depart_descriptionz"LaTeXTranslator.depart_description  r  rR   c                 :    |                      | j                   d S rK   )r  rF   r  s     rQ   visit_docinfozLaTeXTranslator.visit_docinfo  s    ""4<00000rR   c                    |                                   | j        rpd| j        d<   | j        s(t          j        | j        d<   t          j        | j        d<   | j                            dd           | j                            d           d S d S )Nz\usepackage{tabularx}tabularx_providelengthrF   r   z@
% Docinfo
\begin{center}
\begin{tabularx}{\DUdocinfowidth}{lX}
z\end{tabularx}
\end{center}
)	r  rF   r>   r}  r/  providelengthr@   r  r7   r  s     rQ   depart_docinfozLaTeXTranslator.depart_docinfo  s    !!###< 	3,DDj)+ A3?3M/0,8,@y)L $L M M M L !2 3 3 3 3 3	3 	3rR   c                 F   | j         r|dv r|dk    s| j        s| j                            g            |dk    r6d| _        |                     |                                          }d| _        n'|                     |                                          }| j        d                             |           t          j        |dk    rK| j	                            |                     |                                                     t          j        | j
                            d|                     |          z             |dk    r=d| _        | j
                            d	           | j                            d
           d S | j                            d           d S )N)r(  organizationr  r  r(  r  TFr  ro  z\textbf{%s}: &
	z{\raggedright
z } \\
r  )r1   rn  r7   r  r  r  r  r   rw  ro  rx  r  rk  )rP   r  rd   r  s       rQ   r  z"LaTeXTranslator.visit_docinfo_item  s|   ! 	%GGG 8##4+<#%,,R0009$$*.D';;t{{}}55D*/D'';;t{{}}55D!"%,,T222n$	  T[[]]!;!;<<<n$-0C0CD0I0IIJJJ9"&DHOO.///L,,,,,L	*****rR   c                 v    | j                             | j                                                   d| _        d S r  )rx  r7   rk  r  r  r  s     rQ   r  z#LaTeXTranslator.depart_docinfo_item  s2    ((**+++#rR   c                 0    |                      |           d S rK   )visit_literal_blockr  s     rQ   visit_doctest_blockz#LaTeXTranslator.visit_doctest_block  r  rR   c                 0    |                      |           d S rK   )depart_literal_blockr  s     rQ   depart_doctest_blockz$LaTeXTranslator.depart_doctest_block  s    !!$'''''rR   c                     | j         s/t          |          rXt          |d         t          j                  r:| j        j        dk    }| xj        |                     |d|          z  c_        d S d S d S )Nr   r  Fr  r  )	r1   r  r  r   rC   ra   re  rl  r  rP   r  r  s      rQ   visit_documentzLaTeXTranslator.visit_document  s    " 	Ec$ii 	E47EK00	E}2h>G!3!3DU<C "4 "E "E E	E 	E 	E 	ErR   c                    | j         j        s| j         j        dvr|                                  | j        d<   | j                                        | _        | j                                        | _        | j                            t          j	        | j
        z             | j        r<| j                            | j                  }| j                            d|z             | j        r| xj        dg| j        z   dgz   z  c_        | j        s| j        r"| j        s| j        r|                                  | j        r|                                  d| j        v r#| j        s| j                            d           d S d S d S )N)r+   r   r`  z  pdfauthor={%s}z\hypersetup{rB  minitocz'
\faketableofcontents % for local ToCs
)r`  r  r  r>   r-  r@   rA   r7   r/  linkingr  rp  rb  rs   rq  rC   r1   rn  ro  
make_titleru  append_bibliogaphyhas_latex_tocrx  )rP   r  authorss      rQ   depart_documentzLaTeXTranslator.depart_document  s    J% 	6z"/99)-Dg& -::<<4466\1D4IIJJJ> 	>+00@@GL 2W <===< 	FMMo.=EEMM: 	$0 	#0	48I	OO> 	&##%%%)))$2D)HOOHIIIII *)))rR   c                 @   d                     | j                  g}| j        r
|| j        z  }| j        r*|ddd                     | j                  z  g| j        z   z  }| j                            dd                     |          z             d | j        D             }| j                            dd                     |          z             | j                            d	d
                     | j                  z             | j	                            d           d S )Nr+   r  z\DUdocumentsubtitle{%s}z
\title{%s}%
  c                 8    g | ]}d                      |          S )r  )rs   )r   author_entrys     rQ   r,  z.LaTeXTranslator.make_title.<locals>.<listcomp>  s4     = = =& mmL11 = = =rR   z\author{%s}z \and
z	\date{%s}, z\maketitle
)
rs   rC   rl  rD   rm  rB   r7   rn  ro  rE   )rP   	title_arg
author_args      rQ   r  zLaTeXTranslator.make_title  s1    WWTZ(()	: 	+**I= 	3%4rwwt}7M7MM"23 3I 	mgll9.E.EEFFF= =*.*;= = =
n(ooj99: 	; 	; 	; 	lTYYty-A-AABBB 	$$_55555rR   c           
         | j         rg| j                            d| j         d         z             | j                            dd                    | j         dd                    z             d S | j        rd}| j        D ]0}t          |          t          |d                   k     r|d         }1| j                            d|z             | j        D ]N}|d                             dd	          }| j                            d
|d         d|d|d         d           O| j                            d           d S d S )Nz
\bibliographystyle{%s}
r   z\bibliography{%s}
r
  r  r+   z
\begin{thebibliography}{%s}
rK  rJ  z	\bibitem[r6  }{r%  z\end{thebibliography}
)r^  rx  r7   rs   r#   ru  r  r  )rP   widest_labelbibitemcite_keys       rQ   r  z"LaTeXTranslator.append_bibliogaphy  sd    ; 	8HOO9DKNJKKKHOO2SXXdk!""o5N5NNOOOOO% 	8L> . .|$$s71:66#*1:LHOO>() * * *> D D"1:--eS99!(XXXwqzzz!C D D D DHOO677777	8 	8rR   c                 d    | j                             d           |                     |           d S )Nz\emph{r=  r  s     rQ   visit_emphasiszLaTeXTranslator.visit_emphasis#  s0    	"""$rR   c                 d    |                      |           | j                            d           d S r@  rA  r  s     rQ   depart_emphasiszLaTeXTranslator.depart_emphasis'  rC  rR   c                 4   | j                             | j                                                   rf| j                            d           | j                                          | j                             | j                                                   dd S d S )N & )rw  r(  r*  rx  r7   r.  rO   s    rQ   (insert_additional_table_colum_delimitersz8LaTeXTranslator.insert_additional_table_colum_delimiters-  s    ++ $ 1 B B D DF F 	,HOOE"""))+++ ++ $ 1 B B D DF F 	, 	, 	, 	, 	,rR   c           	         | j                                         dk    r|                                  n| j                            d           d|v rd|v rt          d          d|v rd| j        d<   |d         dz   }| j                             | j                                         |           | j                            d	|| j                                         fz             | j	                            d
           nd|v r| j                                         dk    r| j         
                                }nd}|d         dz   }| j                            d||| j                             | j                                         |          | j         
                                fz             | j	                            d
           n| j	                            d           t          |          rrt          |j        j        t          j                  s| j                                         r5| j                            d           | j	                            d
           n| j	                            d           | j         j        sN| j        d                             d          r.|                                r| j                            d           | j                                          d S )Nr   r  morerowsmorecolszWCells that span multiple rows *and* columns currently not supported by the LaTeX writerz\usepackage{multirow}multirowr  z\multirow{%d}{%s}{rB  r+   z\multicolumn{%d}{%s%s%s}{\textbf{r  rA  rF  )rw  r*  r  rx  r7   NotImplementedErrorr>   r&  r  rk  r  r  r  r  r  r   theadr0  r  endswithr  r.  )rP   r  mrowsbar1mcolss        rQ   r.  zLaTeXTranslator.visit_entry3  s   --//14499;;;;HOOE""" *"4"4% '< = = = ,DDj)$q(E)) ->>@@%I I IHOO1"D$5$F$F$H$HIJ K K KL$$$$4  1133q88(99;;$q(EHOO8"!!.DD!%!2!C!C!E!EuN N!.??AA	CC D D D L$$$$L### t99 	$*T[%7EE 	$!.==??	$HOOK(((L$$$$L### !0 	!%%c**	!	! HOOC   %%'''''rR   c                     | j                             | j                                                   | j                             | j                                                   |                                  d S rK   )rx  r7   rk  r  r  r  s     rQ   depart_entryzLaTeXTranslator.depart_entrym  s^    ((**+++((**+++5577777rR   c                 8    | j                                          d S rK   )rw  r  r  s     rQ   r  zLaTeXTranslator.visit_rows  s    ##%%%%%rR   c                 h    | j                             | j                                                   d S rK   )rx  r  rw  r"  r  s     rQ   r"  zLaTeXTranslator.depart_rowv  s+    )446677777rR   c                 P   ddddddd}g d}d}| j         re| j        rG| j        r@| j        s9d	                    d
 | j        d | j                 D                       | j        z   }| j        r|| j        d         z  }||                    dd          z  }||                    dd                   }|                    dd	          }t          | j                  dz   }dt          j
        |                                          z   }|d|d|d|}	| j                            |	           |                     |           |dk    rN| j                            d           |||f||dz
           k    r!| j                            d|d|	d           nad|z  | j        |<   | j                            d           | j                            d|	z             | j                            d|z             d|v r*| j                            d||d         dz
  fz             d S d S )Nr+   r   alphAlphromanRoman)r+   r   
loweralpha
upperalpha
lowerroman
upperroman))r+   r   r/   )(r  ))r+   r  r/   )r+   r  r/   r/   c              3   4   K   | ]}t          |          V  d S rK   )r  )r   ns     rQ   r  z8LaTeXTranslator.visit_enumerated_list.<locals>.<genexpr>  s8       "$ "$Q#a&& "$ "$ "$ "$ "$ "$rR   r  r  enumtyper  r  enumr@  rA  rB     z\begin{enumerate}z
\renewcommand{\labelr  z\newcounter{%s}z\begin{list}z{%s}z{\usecounter{%s}}r  z
\setcounter{%s}{%d})r4   r5   section_levelrs  rs   rr  rY  r  r  r  toRomanr   r7   r  rx  r@   )
rP   r  typesdefault_labelsr  r  r  
enum_levelcounter_namerX  s
             rQ   visit_enumerated_listz%LaTeXTranslator.visit_enumerated_listy  s   #%%&&( (0 0 0 $ 	93 H8J H2H "$ "$"&"67J8J7J"K"$ "$ "$ $ $&*&GH ) 9$4R88$((8R(((*h778(C((344Q6
j 9 9 ? ? A AA"(&&(((LLL&&I"))%000$??HOO0111&)^JqL-III!-uuu!6 7 7 7 ,>+LDN<(HOOO,,,HOOFUN+++HOO0<?@@@d??HOO4)4=?;< = = = = = ?rR   c                     t          | j                  dk    r| j                            d           n| j                            d           |                     |           | j                                         d S )Nr  z\end{enumerate}
z\end{list}
)r  rs  rx  r7   r  r  r  s     rQ   depart_enumerated_listz&LaTeXTranslator.depart_enumerated_list  ss    t)**a//HOO01111HOOO,,,4   "&&(((((rR   c                     d S rK   r   r  s     rQ   visit_fieldzLaTeXTranslator.visit_field  r.  rR   c                     d S rK   r   r  s     rQ   depart_fieldzLaTeXTranslator.depart_field  r  rR   c                     t          |j        j        t          j                  s/| j                            |                     |                     d S d S rK   )r  r  r   rF   rx  r7   r  r  s     rQ   visit_field_bodyz LaTeXTranslator.visit_field_body  sM    $+,em<< 	5HOOD--d3344444	5 	5rR   c                 Z    | j         | j        u r| j                             d           d S d S )Nr  rx  rF   r7   r  s     rQ   depart_field_bodyz!LaTeXTranslator.depart_field_body  s3    8t|##HOOJ''''' $#rR   c                     |                      |           | j        | j        ur7| j        st          j        | j        d<   | j                            d           d S d S )N	fieldlistz\begin{DUfieldlist})r  rx  rF   r}  r/  r  r@   r7   r  s     rQ   visit_field_listz LaTeXTranslator.visit_field_list  sc    $84<''+ E.:.D{+HOO233333 ('rR   c                     | j         | j        ur| j                             d           |                     |           d S )Nz\end{DUfieldlist}
)rx  rF   r7   r  r  s     rQ   depart_field_listz!LaTeXTranslator.depart_field_list  s@    84<''HOO23334     rR   c                     | j         | j        u r| j                             d           d S | j                             d           d S )Nr  z
\item[{r  r  s     rQ   visit_field_namez LaTeXTranslator.visit_field_name  sG    8t|##HOOK((((( HOOL)))))rR   c                     | j         | j        u r| j                             d           d S | j                             d           d S )Nz}: &z:}]r  r  s     rQ   depart_field_namez!LaTeXTranslator.depart_field_name  sE    8t|##HOOF#####HOOE"""""rR   c                 T   t           j        | j        d<   |                     |           |j                            dd          }|dk    r| j                            d|z             n| j                            d           | xj        |                     |d          z  c_        d S )Nr;  r  r  z\begin{figure} %% align = "%s"
z\begin{figure}
Tr  )	r/  r;  r>   r  r  r  rx  r7   r  )rP   r  	alignments      rQ   visit_figurezLaTeXTranslator.visit_figure  s    %1%7'"$ O''::	   HOO?)KLLLLHOO/000D&&tT&:::rR   c                 d    | j                             d           |                     |           d S )NrW  r5  r  s     rQ   depart_figurezLaTeXTranslator.depart_figure  s1    )***4     rR   c                 d    |                      g            | j                            d           d S )Nz\newcommand{\DUfooter}{r  rx  r7   r  s     rQ   visit_footerzLaTeXTranslator.visit_footer  1    ""2&&&233333rR   c                     | j                             d           d                    | j                   | j        d<   |                                  d S )NrB  r+   z~footerrx  r7   rs   r>   r  r  s     rQ   depart_footerzLaTeXTranslator.depart_footer  I    ')wwtx'8'8)$!!#####rR   c           
         	 |d         d         }n# t           $ r |d         d         }Y nw xY w| j        r| j        st          j        | j        d<   |d                                         }| j        j        dk    rd|z  }| j	        
                    d|d         d         d|d|                     |          d           |d         |d	         k    r#| xj	        |                     |          z  c_	        t          |          d
k    r>t          |d
         t          j                  r | j	        
                    d           d S d S d S d S )Nbackrefsr   r  	footnotesr   [%s]z%
\DUfootnotetext{r  namesr  rF  )r  rj  r}  r/  r   r@   r  ra   footnote_referencesrx  r7   r  r  r  r  r   r~  )rP   r  backrefnums       rQ   visit_footnotezLaTeXTranslator.visit_footnote  se   	%:&q)GG 	% 	% 	%5k!nGGG	%" 	%+ E.:.D{+q'..""C}0J>>slHOOO!%[^^^WWWdkk#6F6F6F6FH I I IE{d7m++D..t4444yy1}}DGU_!E!E}$$$$$	% 	% }}}s    ,,c                 :    | j                             d           d S rL  rI  r  s     rQ   depart_footnotezLaTeXTranslator.depart_footnote	  rN  rR   c                    d}d|v r	|d         }nd|v r| j         j        |d                  }| j        j        }|dk    rN|                     |           | j                            d|z             | j                            d           d S | j        st          j
        | j        d<   | j                            d|d	         d
         d|d           | j                            d           d S )Nr+   r\  r]  r   r^  rf  r   z\DUfootnotemark{r  r   r  rB  )r\   r_  ra   r#  r  rx  r7   rk  r}  r/  r   r@   )rP   r  r`  formats       rQ   visit_footnote_referencez(LaTeXTranslator.visit_footnote_reference	  s   d??=DD$=(i9D 2Z$$T***HOO/$6777L%%%%%+ E.:.D{+HOOO!%[^^^TTT3 4 4 4L$$$$$rR   c                 h    | j                             | j                                                   d S rK   rx  r7   rk  r  r  s     rQ   depart_footnote_referencez)LaTeXTranslator.depart_footnote_reference)	  s*    ((**+++++rR   c                     t          |j        t          j                  rt          j        t          |j        t          j                  sJ | j        s| j                            |           d S d S rK   )	r  r  r   r  rw  r  r#   rx  r7   )rP   r  bracketr   s       rQ   label_delimzLaTeXTranslator.label_delim-	  si    dk5>22 	). dk5>:::::+ )((((() )rR   c                 4    |                      |dd           dS )z9footnote or citation label: in brackets or as superscriptrN  r<  Nr1  r  s     rQ   visit_labelzLaTeXTranslator.visit_label5	  s!    s$899999rR   c                 4    |                      |dd           d S )NrO  rB  r3  r  s     rQ   depart_labelzLaTeXTranslator.depart_label9	  s     sC(((((rR   c                     d S rK   r   r  s     rQ   visit_generatedzLaTeXTranslator.visit_generated=	  r  rR   c                     d S rK   r   r  s     rQ   depart_generatedz LaTeXTranslator.depart_generated@	  r  rR   c                 d    |                      g            | j                            d           d S )Nz\newcommand{\DUheader}{r  r  s     rQ   visit_headerzLaTeXTranslator.visit_headerC	  r  rR   c                     | j                             d           d                    | j                   | j        d<   |                                  d S )NrB  r+   z~headerr  r  s     rQ   depart_headerzLaTeXTranslator.depart_headerG	  r  rR   c                 l   |t          j        dt          d           t          j        d|          }|s|S |                                dd         \  }}|dv rd|z  }nS|dk    rd	t          |          d
z  z  }n7| j        r0|dk    r*| j        st          j
        | j        d<   d| j        d<   d|z  }|S )z=Convert `length_str` with rst length to LaTeX length
        Nz|The optional argument `pxunit` of LaTeXTranslator.to_latex_length() is ignored and will be removed in Docutils 0.21 or laterr  r   z(\d*\.?\d*)\s*(\S*))r+   r   z%sbprF  z%.3f\linewidth      Y@pxr  z$
\DUprovidelength{\pdfpxdimen}{1bp}
z%s\pdfpxdimen)r  r  r  r\  matchgroupsr;  rz  r}  r/  r  r@   )rP   
length_strpxunitrB  r  units         rQ   to_latex_lengthzLaTeXTranslator.to_latex_lengthL	  s     M@ #q	2 2 2 2
 /<< 	llnnRaR(t:%JJS[[*eEll5.@AJJ] 	2tt|| + N3?3M/0#MDN4 )E1JrR   c                 4   | j         | j        d<   |j        }t          |d                                       dd          }d|vr9t          |j        t          j                  rd|d<   | 	                    |           g }g }g }ddd	d
ddd}d|v rV	 ||d                  }|
                    |d                    |
                    |d                    n# t          $ r Y nw xY wd|v r1|
                    d|                     |d                   z             d|v r!|
                    d|d         dz  z             d|v r1|
                    d|                     |d                   z             |                     |          s@t          |j        t          j        t          j        f          s|
                    d           |                     |          s4t          |j        t          j                  s|
                    d           |                                 | j                            |           d}	|rdd                    |          z  }	| j        
                    d|	d|d           | j                            |           d S )Nr  urir@  r  r  r  r+   r+   )z\raisebox{-0.5\height}{rB  )z\raisebox{-\height}{rB  )z!\noindent\makebox[\linewidth][c]{rB  )z
\noindent{z\hfill})z\noindent{\hfillrB  )bottommiddletopr  r  r  r   r  heightz	height=%sscalezscale=%fr@  r  zwidth=%srq   r+   r!  r
  z\includegraphicsrA  rB  )ri  r>   r  r   r  r  r  r   figurer  r7   r  rG  r  r  r  rx  r  rs   )
rP   r  attrs	imagepathprepostinclude_graphics_optionsalign_codes
align_codeoptionss
             rQ   visit_imagezLaTeXTranslator.visit_imagei	  s   (,(=*% u..66tSAA	%$+u|44 *!)g''---#%  74A10	 	 e(w8


:a=)))JqM****   u$++d225?CCCE E Ee$++eGnu457 7 7e$++T11%.AAAC C Ct$$ 	dkEL%.+IJJ	JJtt$$ 	dk5<88	KK# 	D)A B BCGWWWiiiHIIIs   AC 
C#"C#c                 P    | xj         |                     |d          z  c_         d S )NTr  )rx  r  r  s     rQ   depart_imagezLaTeXTranslator.depart_image	  s)    D&&tT&:::rR   c                 X   |d         D ]}|                     d          rQ| j                            |dd                    }|r,d| j        j        |<   | j                            d|z             h| j        st          j        | j	        d<   | j                            d|z             d S )Nr  r  r  Tz\foreignlanguage{%s}{inlinez\DUrole{%s}{)
r  r`  r  r  rx  r7   r}  r/  r]  r@   r  s       rQ   r  zLaTeXTranslator.visit_inline	  s    	? 		7 		7C~~k** 7:33CG<< I:>DJ-h7HOO$<x$GHHH/ C/;/BDN8,# 56666		7 		7rR   c                 f    | j                             dt          |d                   z             d S )NrB  r  )rx  r7   r  r  s     rQ   r  zLaTeXTranslator.depart_inline	  s-    c$y/22233333rR   c                 p    | j         st          j        | j        d<   | j                            d           d S )Nlegendz\begin{DUlegend})r}  r/  r`  r@   rx  r7   r  s     rQ   visit_legendzLaTeXTranslator.visit_legend	  s7    ' 	;'3':DN8$+,,,,,rR   c                 :    | j                             d           d S )Nz\end{DUlegend}
rI  r  s     rQ   depart_legendzLaTeXTranslator.depart_legend	  s    +,,,,,rR   c                 :    | j                             d           d S )Nz\item[] rI  r  s     rQ   
visit_linezLaTeXTranslator.visit_line	      $$$$$rR   c                 :    | j                             d           d S Nrq   rI  r  s     rQ   depart_linezLaTeXTranslator.depart_line	      rR   c                    | j         s(t          j        | j        d<   t          j        | j        d<   |                     |           t          |j        t          j	                  r| j
                            d           d S |                     |           | j
                            d           |                     |           d S )Nr  	lineblockz0\item[]
\begin{DUlineblock}{\DUlineblockindent}
z\begin{DUlineblock}{0em}
)r}  r/  r  r@   rl  r  r  r  r   
line_blockrx  r7   r  r  r  s     rQ   visit_line_blockz LaTeXTranslator.visit_line_block	  s    ' 	A/;/IDN+,*6*@DN;'##D)))dk5#344 	0HOO J K K K K K d###HOO9:::))$/////rR   c                 d    | j                             d           |                     |           d S )Nz\end{DUlineblock}
r5  r  s     rQ   depart_line_blockz!LaTeXTranslator.depart_line_block	  r  rR   c                 :    | j                             d           d S )Nz
\item rI  r  s     rQ   visit_list_itemzLaTeXTranslator.visit_list_item	  rf  rR   c                     d S rK   r   r  s     rQ   depart_list_itemz LaTeXTranslator.depart_list_item	  r  rR   c                    d| _         d|d         v r?| j        j        dk    r/t          j        | j        d<   | j        st          j        | j        d<   | j	        
                    d           |                     |           d S )NTcoder  r*   r:  z\texttt{)r  ra   syntax_highlightr/  r:  r>   r}  highlight_rulesr@   rx  r7   r  r  s     rQ   visit_literalzLaTeXTranslator.visit_literal	  s    d9o%%.&88)5);Dg&+ F)5)Ev&$$$$rR   c                 r    d| _         |                     |           | j                            d           d S )NFrB  )r  r  rx  r7   r  s     rQ   depart_literalzLaTeXTranslator.depart_literal	  s7    4   rR   c                 h    t          |          dk    ot          |d         t          j                  S )z,Check whether a node can be typeset verbatimr  r   )r  r  r   rh  r  s     rQ   is_plaintextzLaTeXTranslator.is_plaintext	  s'    D		QCJtAw
$C$CCrR   c           	      t   ddddd}| j         }|                     |          }| j                                        }|o| j        j        }t
          j        t
          j        f}| j        j	        r|t
          j
        t
          j        fz  }|ot          |j        |           }|dk    o|}	|                     |           | xj        |                     |d          z  c_        |sId|d	         v r?| j        j        d
k    r/t$          j        | j        d<   | j        st$          j        | j        d<   |r|r|st$          j        | j        d<   | j                            dt5          d |                                                    d          D                       z             | j                            d           nS|s7|	s5| j                            d           | j                            d           n| j                            d           |r|r|r|	r	 ||         | j        d<   n# t<          $ r Y nw xY wd| _        |r|	r| j                            d           | j                            d|d| j         d           | j                            d|z             dS |rI|sGd| _!        d| j        d<   | j                            d           | j                            d           dS d| _"        d| _#        d| _$        | j                            d           | j                            d           dS )zjRender a literal block.

        Corresponding rST elements: literal block, parsed-literal, code.
        z6\usepackage{listings}
\lstset{xleftmargin=\leftmargin}z\usepackage{moreverb}z\usepackage{fancyvrb})
lstlistinglistingVerbatimverbatimtabr  Tr  rv  r  r*   r:  ttemz\begin{minipage}{%d\ttemwidth}
c              3   4   K   | ]}t          |          V  d S rK   )r  )r   r6  s     rQ   r  z6LaTeXTranslator.visit_literal_block.<locals>.<genexpr>%
  s(      EE4SYYEEEEEErR   rq   z
\end{minipage}
z\begin{quote}
z
\end{quote}
literal_blockz\lstset{xleftmargin=0pt}
r  rB  z	
\end{%s}z\usepackage{alltt}rs  z\begin{alltt}
z
\end{alltt}z\ttfamily\raggedright
r+   N)%rZ  r}  rw  r  r  r   r  sidebarra   r9   r   system_messager  r  r  rx  r  rw  r/  r:  r>   r}  rx  r@   r  r7   maxr  r]  rk  r  r5  r[  rs  r  r  r  )
rP   r  packagesliteral_env
_plaintext	_in_table_autowidth_table_no_env_nodes_use_env_use_listingss
             rQ   r  z#LaTeXTranslator.visit_literal_block	  s   
$G7 8#;	= = , &&t,,
%--//	 %I):)I7=/ 	Fe.0DEEMLjm&L&L"L$4B( 	$D&&tT&::: 	F$y/)).&88)5);Dg&+ F)5)Ev& 	& 	&*: 	& &2%6DN6"HOO4EE4;;==+>+>t+D+DEEEEEGH H H L 56666 	&= 	&HOO.///L 23333L%%%  	$8 	$-= 	$,9	$5=k5J!/22    DM ?] ? =>>>HOOO([[$*D*D*DF G G GL ;<<<<< 	$. 	$DJ)>Dg&HOO.///L 011111DL"&D.2D+ HOO7888L#####s   H* *
H76H7c                 :   d| _         d| _        d| _        d| _        d| _        | j                            | j                                                   | j                            | j                                                   | 	                    |           d S r  )
r  r  r  r5  rs  rx  r7   rk  r  r  r  s     rQ   r  z$LaTeXTranslator.depart_literal_blockK
  s    */'#
((**+++((**+++4     rR   c                 T   |j                             d          }|j                             d          }|r|sd S |dv r#| j                            d|d|d           d S |dk    r| j                            d|z             d S | j                            d	|d|d
           d S )Nrd   r  )r(  creatorkeywordssubjectrC   z  pdfz={z},producerz  addtopdfproducer={%s},z  pdfinfo={z}},)r  r  rq  r7   )rP   r  rd   r  s       rQ   
visit_metazLaTeXTranslator.visit_metaU
  s    ""6**/%%i00 	7 	FHHHLwww ?@@@@@ZL :7 BCCCCC Lggg FGGGGGrR   c                     d S rK   r   r  s     rQ   depart_metazLaTeXTranslator.depart_metad
  r  rR   rE  c                    |                      |           d| j        d<   |                                                    t          j                  }|dk    r| j        rddg}n<ddg}n7|                     |dd          }d	|z  d
d                    |          d|z  g}|	                    d|           | j
                            |           |                     |           t          j        )z	math rolez\usepackage{amsmath}amsmathrE  z\(z\)FTr  r  z%%
\begin{%s}
rq   r+   r  r  )r  r>   r  ro   r   uni2tex_tablers  r  rs   r  rx  r  r  r   rw  )rP   r  math_env	math_codewrapperr  s         rQ   
visit_mathzLaTeXTranslator.visit_mathg
  s    $'>)$KKMM++K,EFF	s??z % %.*'''MMF*X5wwv"X-/G 	q)$$$   4   nrR   c                     d S rK   r   r  s     rQ   depart_mathzLaTeXTranslator.depart_math}
  r  rR   c                 v    t          |                                          }|                     ||           d S )N)r  )r   r  r  )rP   r  r  s      rQ   visit_math_blockz LaTeXTranslator.visit_math_block
  s3    (77x00000rR   c                     d S rK   r   r  s     rQ   depart_math_blockz!LaTeXTranslator.depart_math_block
  r  rR   c                 X    | j         d         r| j                            d           d S d S )Nr  r  )rk  rx  r7   r  s     rQ   visit_optionzLaTeXTranslator.visit_option
  s5    < 	"HOOD!!!!!	" 	"rR   c                 0    | j         dxx         dz  cc<   d S )Nr  r  )rk  r  s     rQ   depart_optionzLaTeXTranslator.depart_option
  s&    RArR   c                 b    | j                             |                    dd                     dS )z@Append the delimiter between an option and its argument to body.	delimiterr  N)rx  r7   r  r  s     rQ   visit_option_argumentz%LaTeXTranslator.visit_option_argument
  s*    c2233333rR   c                     d S rK   r   r  s     rQ   depart_option_argumentz&LaTeXTranslator.depart_option_argument
  r  rR   c                 n    | j                             d           | j                            d           d S )Nz\item[r   )rx  r7   rk  r  s     rQ   visit_option_groupz"LaTeXTranslator.visit_option_group
  s2    	"""ArR   c                 l    | j                                          | j                            d           d S )Nz] )rk  r  rx  r7   r  s     rQ   depart_option_groupz#LaTeXTranslator.depart_option_group
  s0    rR   c                     | j         s(t          j        | j        d<   t          j        | j        d<   |                     |           | j                            d           d S )Nr  
optionlistz\begin{DUoptionlist}
)r}  r/  r  r@   r  r  rx  r7   r  s     rQ   visit_option_listz!LaTeXTranslator.visit_option_list
  s\    ' 	C/;/IDN+,+7+BDN<($122222rR   c                 d    | j                             d           |                     |           d S )Nz\end{DUoptionlist}
r5  r  s     rQ   depart_option_listz"LaTeXTranslator.depart_option_list
  s1    /0004     rR   c                     d S rK   r   r  s     rQ   visit_option_list_itemz&LaTeXTranslator.visit_option_list_item
  r  rR   c                     d S rK   r   r  s     rQ   depart_option_list_itemz'LaTeXTranslator.depart_option_list_item
  r  rR   c                     d S rK   r   r  s     rQ   visit_option_stringz#LaTeXTranslator.visit_option_string
  r.  rR   c                     d S rK   r   r  s     rQ   depart_option_stringz$LaTeXTranslator.depart_option_string
  r.  rR   c                 2    |                      |d           d S )Nr  r  r  s     rQ   visit_organizationz"LaTeXTranslator.visit_organization
  s    n55555rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_organizationz#LaTeXTranslator.depart_organization
  r  rR   c                    |j                             |          }|dk    rBt          |j         t          j        t          j        t          j        t          j        f          rn|dk    rTt          |j         t          j                  r5t          |j         |dz
           t          j        t          j        f          snd| j	        j
        r>|dk    r|                     d|           |dk    r| j                            d           n| j                            d           | xj        |                     |d          z  c_        |                     |           d S )Nr   r  z:LaTeX merges paragraphs in tables with auto-sized columns!	base_noderq   Tr  )r  indexr  r   	list_itemdescriptionr  r  r~  rw  r  r  rx  r7   r  r  )rP   r  r  s      rQ   visit_paragraphzLaTeXTranslator.visit_paragraph
  sQ   
 !!$''A::*T[&+ou7H&+neo&GH H: aiiT[%.99  UQY!7"'/5>!BD D  - 	"zz		 5@D  F F Fqyy%%%HOOD!!!D&&tT&:::$rR   c                     |                      |           | j        j        s| j                            d           d S d S rh  )r  rw  r  rx  r7   r  s     rQ   depart_paragraphz LaTeXTranslator.depart_paragraph
  sH    4    / 	"HOOD!!!!!	" 	"rR   c                     t           j        | j        d<   | j                            d           |                     |           | j                            d|d         z             d S )Nr:  r  z"\hyperlink{%s}{\textbf{\color{red}r\  )r/  r:  r>   rx  r7   r  r  s     rQ   visit_problematicz!LaTeXTranslator.visit_problematic
  s^    %1%7'"  &&&=WMNNNNNrR   c                 :    | j                             d           d S )N}}rI  r  s     rQ   depart_problematicz"LaTeXTranslator.depart_problematic
  rj  rR   c                 F   d|                     dd                                          vrt          j        |                     |          s9t          |j        t          j                  s| j        	                    d           | 
                    |           d| _        d S )Nr   r*  r+   rq   T)r  r]  r   rw  r  r  r  r  rx  r7   r  r5  r  s     rQ   	visit_rawzLaTeXTranslator.visit_raw
  s    $((8R00668888. t$$ 	"dk5>::	"HOOD!!!$rR   c                     d| _         |                     |           |                     |          s| j                            d           d S d S )NFrq   )r5  r  r  rx  r7   r  s     rQ   
depart_rawzLaTeXTranslator.depart_raw
  sU    4   ~~d## 	"HOOD!!!!!	" 	"rR   c                 Z    d}|D ]!}|dk    r|dz  }|dk    r|dz  }|dk     r dS "|dk    S )z7Test whether there are unmatched '{' or '}' characters.r   rA  r  rB  Tr   )rP   rg   r  r  s       rQ   has_unbalanced_bracesz%LaTeXTranslator.has_unbalanced_braces
  sY     	 	BSyy
Syy
qyytt zrR   c           	         t          d          dt          d          dt          d          di}d|v rt          |d                                       |          }|                    d          d	k    s|                     |          r|                     d
| d           |d         |                                k    r)| j                            d|z             t          j
        | j                            d|z             d S d|v r	|d         }n,d|v r| j        j        |d                  }nt          d          |                     |          s| j                            d           | j                            d|z             | j        rF| j                            d| j        d|                    dd          d           t          j
        d S )NrC  rD  rF  rG  r@  r  refuriz^^r  zExternal link "zH" not supported by LaTeX.
 (Must not contain "^^" or unbalanced braces.)z\url{%s}z
\href{%s}{r\  r]  zUnknown reference.rq   z\hyperref[%s]{rA  r+   r  )rr  r  ro   r{  r  rP  r  rx  r7   r   rw  r\   r_  AssertionErrorr  rW  r  )rP   r  special_charsr`  s       rQ   visit_referencezLaTeXTranslator.visit_reference  s   S5S5TF
 ttH~&&00??Dyy"$$(B(B4(H(H$

Ed E E EF F F H~..d 2333n$HOOMD0111Fd??=DD$=(i9DD !5666~~d## 	"HOOD!!!)D0111 	!HOOO!1114<<R3H3H3H3HJ K K K. 		! 	!rR   c                     | j                             d           |                     |          s| j                             d           d S d S )NrB  rq   )rx  r7   r  r  s     rQ   depart_referencez LaTeXTranslator.depart_reference&  sN    ~~d## 	"HOOD!!!!!	" 	"rR   c                 2    |                      |d           d S )Nrevisionr  r  s     rQ   visit_revisionzLaTeXTranslator.visit_revision+  s    j11111rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_revisionzLaTeXTranslator.depart_revision.  r  rR   c                 p    | j         st          j        | j        d<   | j                            d           d S )Nrubricz
\DUrubric{)r}  r/  r  r@   rx  r7   r  s     rQ   visit_rubriczLaTeXTranslator.visit_rubric1  s8    ' 	;'3':DN8$ 	(((((rR   c                 :    | j                             d           d S rL  rI  r  s     rQ   depart_rubriczLaTeXTranslator.depart_rubric8  rN  rR   c                     | xj         dz  c_         | j                            d           | j        | j         dz
  xx         dz  cc<   d S )Nr  r   )r  rr  r7   r  s     rQ   visit_sectionzLaTeXTranslator.visit_section;  sZ    a##A&&&T/!3444944444rR   c                 X    | j                                          | xj        dz  c_        d S r-  )rr  r  r  r  s     rQ   depart_sectionzLaTeXTranslator.depart_sectionB  s1      """arR   c                     |                      |           t          j        | j        d<   | j        st          j        | j        d<   | j                            d           d S )Nr:  r  z\DUsidebar{)	r  r/  r:  r>   r}  r  r@   rx  r7   r  s     rQ   visit_sidebarzLaTeXTranslator.visit_sidebarG  sZ    $%1%7'"' 	=(4(<DN9%'''''rR   c                 d    | j                             d           |                     |           d S rL  r5  r  s     rQ   depart_sidebarzLaTeXTranslator.depart_sidebarN  s0    4     rR   )u   —r+   )r  r  rJ  r&   c                     | j         | j        j                 \  }}| j                            d           | j                            |           | j                            |           d S )Nz\nopagebreak

\raggedleft )attribution_formatsra   attributionrx  r7   rk  )rP   r  r  r  s       rQ   visit_attributionz!LaTeXTranslator.visit_attributionW  s]    1$-2KL8999F#####rR   c                 n    | j                             | j                                        dz              d S rh  r-  r  s     rQ   depart_attributionz"LaTeXTranslator.depart_attribution]  s/    ((**T122222rR   c                 2    |                      |d           d S )Nstatusr  r  s     rQ   visit_statuszLaTeXTranslator.visit_status`  s    h/////rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_statuszLaTeXTranslator.depart_statusc  r  rR   c                 d    | j                             d           |                     |           d S )Nr  r=  r  s     rQ   visit_strongzLaTeXTranslator.visit_strongf  s0    $$$$rR   c                 d    |                      |           | j                            d           d S r@  rA  r  s     rQ   depart_strongzLaTeXTranslator.depart_strongj  rC  rR   c                     t           j        rK   )r   rw  r  s     rQ   visit_substitution_definitionz-LaTeXTranslator.visit_substitution_definitionn  s
    nrR   c                 0    |                      |           d S rK   )unimplemented_visitr  s     rQ   visit_substitution_referencez,LaTeXTranslator.visit_substitution_referenceq  r  rR   c                 D   t          |j        t          j                  rm|                     | j                   | j        st          j        | j	        d<   | j
        j        dk    }| xj        |                     |d|          z  c_        d S t          |j        t          j                  r?| j                            d| j                            | j        dz             z             d S | j        st          j        | j	        d<   | j                            d           d S )	Ndocumentsubtitler  Fr  z\%s*{r  rD   z
\DUsubtitle{)r  r  r   r\   r  rD   r}  r/  r  r@   ra   re  rm  r  r{  rx  r7   rg  r  r  s      rQ   visit_subtitlezLaTeXTranslator.visit_subtitlet  s.   dk5>22 	/&&t}555+ S5A5R12}2h>G  D$6$6t?F %7 %H %H H     U]33 	/HOOH L001Ca1GHHI J J J J J + C-9-Bz*HOO-.....rR   c                     t          |j        t          j                  r|                                  d S | j                            d           d S rL  )r  r  r   r\   r  rx  r7   r  s     rQ   depart_subtitlezLaTeXTranslator.depart_subtitle  sJ    dk5>22 	#%%'''''HOOE"""""rR   c                    t           j        | j        d<   | j        st           j        | j        d<   | j        j        rt           j        | j        d<   dg|d<   | 	                    |           | j        j        r| j
                            d           n| j
                            d           |                     |           	 d|d         z  }n# t          $ r d	}Y nw xY w| j
                            d
|d         d|d         d|                     |d                   d|d	           t          |d                   dk    rE| j
                            d|d         d         z             | j                            d           d S d t#          |d                   D             }| j                            dd                    |          z              d S )Nr:  rC   zsystem-messager  z)
\DUtitle[system-message]{system-message
z
\DUtitle{system-message
z	, line~%sr6  r+   z}

{\color{red}typer  r  z} in \texttt{sourcerB  rq   r  r  z
\hyperlink{%s}{r   c                 (    g | ]\  }}d ||dz   fz  S )z\hyperlink{%s}{%d}r  r   )r   r  r`  s      rQ   r,  z8LaTeXTranslator.visit_system_message.<locals>.<listcomp>  s?     F F F%Q .qs; F F FrR   z
backrefs: r  )r/  r:  r>   r}  rC   r@   ra   r9   title_legacyr#  rx  r7   r  r  r  r  rk  r  rs   )rP   r  r6  r  s       rQ   visit_system_messagez$LaTeXTranslator.visit_system_message  s   %1%7'"' 	9&2&8DN7#=/ 	@&2&?DN7#+,Yd###=/ 	<HOOJKKKKHOO:;;;  &&&	f-DD 	 	 	DDD	ftG}}}T(^4444ddd< 	= 	= 	= tJ  A%%HOO04
3CA3FFGGGL$$$$$F F)24
3C)D)DF F FHLsxx/A/A ABBBBBs   C CCc                     | j                             | j                                                   |                     |           d S rK   )rx  r7   rk  r  r&  r  s     rQ   depart_system_messagez%LaTeXTranslator.depart_system_message  s>    ((**+++t$$$$$rR   c                 <   |                      |           t          j        | j        d<   | j        j        st          j        | j        d<   | j                                        r4| j	        
                    | j                   t          | d          | _        | j        j        dk    rt          |j        t          j                  rn|j                            |          dk    rP| j                            | j                                      d          dk    r| j        
                    d           | j                                         | j                            || j                   | j        j        d	k    r
d
| j        d	<   |                     g            d S )Nr<  table1tabularr  r  r~  r  r  r   z\usepackage{booktabs})r  r/  r<  r>   ra   r:   table_columnwidthrw  r  rv  r7   r  r  r  r  r   r{  r  rg  r  r{  rx  r  r  r  r  r  s     rQ   visit_tablezLaTeXTranslator.visit_table  s{   $%1%7'"}1 	I*6*HDh'$$&& 	7##D$5666 %dI 6 6D )[884;66 9!!$''1,,$$%' ''+tK'8'8B? ?HOON+++   ))$>>>$
22,DDj)""2&&&&&rR   c                    | j         }|                                  	 |                     |d                   }n# t          $ r d}Y nw xY w| j        j        sF| j                             |                     |t          | j	                  dk    d                     | j         
                    | j                            |                     | xj         |z  c_         | j         
                    | j                                        dz              | j                                         t          | j	                  dk    r| j	                                        | _        |                     |           d S )Nr  r  r  Tr  rq   r   )rx  r  rG  r  rw  r  r  r  r  rv  r7   r  r  r  r  r  )rP   r  r  r  s       rQ   depart_tablezLaTeXTranslator.depart_table  so   (!!###	"((g77EE 	" 	" 	"!EEE	"
  ( 	HOOD..T%5!6!6!!; /      	)55e<<===G)5577$>???!!!t  1$$ $ 0 4 4 6 6D4     s   9 AAc                     d|v sd|v sd|v rd S | j                             d           t          |j        t          j        t          j        f           }| xj         |                     ||          z  c_         d S )Nr  r\  r]  r  )rx  r7   r  r  r   r  rC   r  )rP   r  r  s      rQ   visit_targetzLaTeXTranslator.visit_target  s{    $D  F#DK%-1MNNN
D&&tZ888rR   c                     d S rK   r   r  s     rQ   depart_targetzLaTeXTranslator.depart_target  r  rR   c                     | j                             d          s,|                     |           |                     d            d S d S )Npreamble written)rw  r  r  r  r  s     rQ   visit_tbodyzLaTeXTranslator.visit_tbody  sV      $$%788 	$T"""d#####	$ 	$rR   c                     d S rK   r   r  s     rQ   depart_tbodyzLaTeXTranslator.depart_tbody  r  rR   c                 :    | j                             d           dS )zdefinition list termz\item[{NrI  r  s     rQ   
visit_termzLaTeXTranslator.visit_term  s     	
#####rR   c                 f   | j                             d           |                    dd          }t          |t          j                  r| j                             d           d S t          |t          j                  s/| j                             |                     |                     d S d S )Nz}] FTrc  rq   )rx  r7   rg  r  r   rq  
classifierr  )rP   r  rg  s      rQ   depart_termzLaTeXTranslator.depart_term  s     NN54N@@	i,, 	:HOOD!!!!!Iu'788 	:HOOD--i8899999	: 	:rR   c                     d S rK   r   r  s     rQ   visit_tgroupzLaTeXTranslator.visit_tgroup  r  rR   c                     d S rK   r   r  s     rQ   depart_tgroupzLaTeXTranslator.depart_tgroup  r  rR   c                     | j         S rK   )_thead_depthrO   s    rQ   r  zLaTeXTranslator.thead_depth  r+  rR   c                 >   | xj         dz  c_         d|                                 k    rP| j                            d| j                            |          z             | j                            dd           | j        j        rg| j         dk    r(dg}|                     |j	        j	        d          dgz   }ndg}dg}| j        
                    || j        j        z   |z   d	gz              | j        
                    | j                                                   d S )
Nr  z{%s}
r   z	\caption{Fz}\\z\caption[]{z (... continued)}\\rq   )r.  r  rx  r7   rw  r  r  r  r  r  r  r  )rP   r  rS  rT  s       rQ   r  zLaTeXTranslator.visit_thead  s   Q  """"HOOHt'8'E'Ed'K'KKLLL!!"4a888$ 	M A%%#n))$+*<eDDxO%&./HOOC$"3";;dBdVKLLL)557788888rR   c                     |_| j                             | j                                                   | j                                        r|                    |            | xj        dz  c_        d S r-  )rx  r  rw  r  r  r]   r.  r  s     rQ   r  zLaTeXTranslator.depart_thead"  sn    HOOD-::<<=== --// %t$$$QrR   c                    t          |j        t          j                  rx|                     | j                   | j                            d           | j                            d| 	                    |
                                          z             dS t          |j        t          j                  s>t          |j        t          j                  st          |j        t          j                  r|j        d         p|j        j        g}| j        j        rEt"          j        | j        d<   | j                            dd                    |          z             n5| j        st"          j        | j        d<   | j                            d           | j                            d           dS t          |j        t          j                  r;|                     | j        j                   | j                            d           dS t5          t"          d	          rt"          j        | j        d	<   | j        }| j                            |          }| j                            d
           |tA          | j        j!                  k    r| j        j        r/t"          j        | j        d<   |dtE          j#        |          z  z  }n^| j        s(t"          j        | j        d<   t"          j$        | j        d<   | j                            dtE          j#        |          z             d|j        d         v r]t"          j%        | j        d<   | 	                    |
                                          }| j                            d|d|d           n| j                            d|z             dg}|| &                    |j        d          z  }| j                            d                    |          dz              |tA          | j        j!                  k    r#| j        j        s| j        dxx         dz  cc<   dS dS dS )z Append section and other titles.r+   z  pdftitle={%s},r  rC   z
\DUtitle[%s]{r
  z

\DUtitle{r%  r  z

z[section%s]r  z\begin{DUclass}{section%s}
zsystem-messagesr:  r@  rN  z]{\color{red}z\%s{F)r  r  z%
}
r  r  N)'r  r  r   r\   r  rC   rk  r7   rq  r  r  topicr   r  tagnamera   r9   r/  r  r@   rx  rs   r}  r<  rw  r  r  r  r>   r  rg  r{  r  r  r  r  r  r:  r  )rP   r  r  r  section_namesection_titlebookmarks          rQ   visit_titlezLaTeXTranslator.visit_title)  s    dk5>22 =	7&&tz222L###L 2 $DKKMM : :!; < < < < < ek22 7	7DK)9::7	7DK777	7 k),E1D0EG}3 0*6*Cw' 2SXXg5F5F FGGGG/ A.:.@DN7+///L&&&&&U[11 *	7&&t'8'@AAAL##### |]33 L3?3K!-0&E<//66LHOOF###s4<01111=7 <.:.GDN7+ MEM%4H4H$HHLL3 I2>2Dw/4@4Hy1HOO$C&+mE&:&:%; < < < !DK	$:::-9-?!'* $DKKMM : : ,mmm!= > > > > , 6777 tH **4;5*IIIHLX 6 6 ABBBDL12222< 3R   $66      3222rR   c                     | j                             | j                                                   t	          |j        t          j        t          j        f          r| 	                                 d S d S rK   )
rx  r7   rk  r  r  r  r   r<  r\   r  r  s     rQ   depart_titlezLaTeXTranslator.depart_titlem  sc    ((**+++dkEK#@AA 	(%%'''''	( 	(rR   c           	          | j         r~d|d         v rt| j                            | j                  }dddd}d| j        j        v r|d= 	 ||         }n4# t
          $ r' |                     d	|z  |
           t          j        w xY w| j	        
                    d           |d         r%| xj	        |                     |d          z  c_	        t          |                                t          j                  rd|d         vrw| j        j        dk    rg| j	        
                    d| j        dz   |                                                                |                    ddg          d         fz             | j         s+t&          j        | j        d<   |                     |           dS |                    dd          }t/          | j        j                  }t          |                                t          j                  r.|                     |d                                                   }nd}d|d         v rt&          j        | j        d<   d|z  | j        d|z   <   d||fz  | j        d|z  <   dddd}d| j        j        v rd|d<   |r(| j	        
                    d ||||         z   fz             | j	        
                    d!|d"|d#           | j	        
                    d$|z             n{|r5| j	        
                    d%| j                            |          z             |d&k    r| j	        
                    d'|z             | j	        
                    d(           d| _        t          j        ))z_Write the table of contents.

        Called from visit_topic() for "contents" topics.
        localr  rm   minisect)rm   r  r{  r  r{  zUSkipping local ToC at "%s" level.
  Feature not supported with option "use-latex-toc"r  rq   r"  Tr  r  z\pdfbookmark[%d]{%s}{%s}
r  r  contentsr   ztoc-listNr  r+   r  z\do%stoczminitoc-z\mtcsetdepth{%stoc}{%d}zminitoc-%s-depth)r=  r<  rm   r  z\setcounter{%stocdepth}{%d}z\mtcsettitle{ztoc}{r%  z\%stoc
z\setcounter{tocdepth}{%d}
Contentsz!\renewcommand{\contentsname}{%s}
z\tableofcontents
)r0   rg  r{  r  r  r  r  r   rw  rx  r7   r  r  rg  rC   ra   re  r  r  r/  toc_listr@   r  r  r  r  r>   r  r  )	rP   r  r4  minitoc_namesmtc_namer  maxdepthrC   offsets	            rQ   visit_contentszLaTeXTranslator.visit_contentsr  s     	%'T)_"<"<<//0BCCL%+(.(.0 0M DL111!),%(6 % % %		 P()48  : : : n$	% 	= 	?HH**4*>>>HHt~~''55 	@tI..+x77HOO9!/1!^^--4466!XXej\::1=?? @ @ @ ! 	)5)>DN:&d###F !$$t|,--dnn&&44 	KKQ 0 011EEEd9o%%+7+?Di(5@5IDj12*h-AA 08;<  A66FDL111!#v F >!)56(3C+C D!E F F F HOOOHHHeeeLMMMHOOK(23333 K >"&,"B"B5"I"I!J K K K
"" F NOOOHOO1222!%Dns   	A 1Bc                    d|d         v r|                      |           d S d|d         v r| j        j        ry|                     | j                   | j                            d           t          |                                t          j
                  r|                    d           d S d S d|d         v rV| j        st          j        | j        d<   | j        j        rt          j        | j        d<   |                     | j                   n\d|d         v r6| j        st          j        | j        d<   |                     | j                   n|d                             dd           |                     |           d S )Nr>  r  rH   z\begin{abstract}r   rG   r2  )rE  ra   r2   r  rH   rx  r7   r  rg  r   rC   r  r}  r/  r@   r9   abstract_legacyrG   r  r3  r  s     rQ   visit_topiczLaTeXTranslator.visit_topic  s    i((%%%%%DO++-2 ,&&t}555HOO/000$..**EK88   T)_,,/ G1=1FDN:.=7 N1=1MDN:.**4=9999i00/ K3?3JDN<0**4?;;;;Y&&q'222""4(((((rR   c                 &   d|d         v r'| j         j        r| j                            d           n5d|d         v r|                     |           n|                     |           d|d         v s
d|d         v r|                                  d S d S )NrH   r  z\end{abstract}
r>  rG   )ra   r2   rx  r7   r  r6  r  r  s     rQ   depart_topiczLaTeXTranslator.depart_topic  s    $y/))0 *HOO/00004	?**t$$$$##D)))$y/))tI..%%''''' /.rR   c                     | j         st          j        | j        d<   | j                            d           | j                            d           d S )N
transitionzN
%___________________________________________________________________________
z\DUtransition
)r}  r/  rL  r@   rx  r7   r  s     rQ   visit_transitionz LaTeXTranslator.visit_transition  sM    ' 	C+7+BDN<(/000*+++++rR   c                     d S rK   r   r  s     rQ   depart_transitionz!LaTeXTranslator.depart_transition  r  rR   c                 2    |                      |d           d S )Nversionr  r  s     rQ   visit_versionzLaTeXTranslator.visit_version  r  rR   c                 0    |                      |           d S rK   r  r  s     rQ   depart_versionzLaTeXTranslator.depart_version  r  rR   c                 :    t          d|j        j        z            )Nz$visiting unimplemented node type: %s)r  rW   ru   r  s     rQ   r  z#LaTeXTranslator.unimplemented_visit  s$    !"H"&."9#: ; ; 	;rR   )TFFrK   )rE  )ru   rv   rw   r#  rz  r4   r5   rY  r  r  r  r5  r  r  r  rs  r   rL   rK  rT  r  r  r\  compiler  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r#  r&  r)  r+  r-  r0  r3  r6  r8  r:  r>  rB  rE  rG  rJ  rM  rQ  rS  rU  rY  ra  rm  ro  rr  r  ru  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  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.  r1  r4  r6  r8  r:  r<  r>  rG  rY  r[  r  r  ra  rc  re  ri  rn  rp  rr  rt  ry  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r  r!  r#  r%  r(  r*  r,  r.  r  r  r  r7  r9  rE  rH  rJ  rM  rO  rR  rT  r  r   r   s   @rQ   rM   rM   Y  s         H ! &+" $' 
 MM ',#H!&NGE-2 aI aI aI aI aI aIR% % %B&: &: &:P: : :U U Up %"*^446 6 6 6: : :> > > <A#    @ @ @. . . .@ @ @$4 4 4  ( ( (  44 4 4       ! ! !     ! ! !1 1 1' ' '1 1 1"! ! !0 0 0' ' '    * * *! ! !, , ,! ! !              ( ( (         + + +/ / /8 8 8&" " "&& & &" " "
. . .           ! ! !1 1 1' ' '     ! ! !3 3 3' ' '. . .' ' '        2 2 2! ! !  " " "    1 1 13 3 3 + + +6$ $ $
' ' '( ( (E E EJ J J86 6 6:8 8 8,       , , ,8( 8( 8(t8 8 8& & &8 8 8/= /= /=b) ) )    5 5 5( ( (4 4 4! ! !
* * *# # #; ; ;! ! !4 4 4$ $ $
% % %(  % % %6, , ,) ) ): : :) ) )    4 4 4$ $ $
   :6 6 6p; ; ;
7 
7 
74 4 4- - -
- - -% % %  0 0 0! ! !% % %         (D D DN$ N$ N$`! ! !H H H     ,  1 1 1  " " "
  4 4 4    
  3 3 3! ! !        6 6 6' ' '     4" " "
O O O    " " "
 
 
!! !! !!F" " "
2 2 2' ' ') ) )  : : :     
( ( (! ! ! $/*4%/#+- -
$ $ $3 3 30 0 0' ' '         ' ' '/ / /"# # #C C C8% % %' ' '.! ! !89 9 9  $ $ $  $ $ $: : :     L! ! !9 9 9  @7 @7 @7H( ( (
J J JX) ) )6
( 
( 
(, , ,  1 1 1' ' '; ; ; ; ; ; ;rR   rM   );r#  __docformat__pathlibr   r\  rg   urllib.requestr   r  r  ImportErrordocutils.utils.romanr
   rI  r   r   r   r	   docutils.transformsr   docutils.utils.mathr   r   __file__r  rz   r   r   dictr&  r/  r:  r;  r  r  r<  r  r=  rG  r!  r"  r  r@  r  r7  r  r4  r6  r2  r  r3  
block_namedefinitionsr_   r?  ry  r  NodeVisitorrM   r   rR   rQ   <module>rc     s+   $ #"       				  ' ' ' ' ' ' )LLLL ) ) )((((((((((() @ ? ? ? ? ? ? ? ? ? ? ? ? ? * * * * * * B B B B B B B B4>>( F2 F2 F2 F2 F2W^ F2 F2 F2Rk k k k k k k kb8 8 8 8 84 8 8 802 2 2 2 2 2 2 2 / >   6 
3   J  C 
" ? 	  ( # # # 
T
>
)G<<< 7 7 7zz&!!}}T"" 	[[%%
 	!k"oo@@@%++--K 	j+666677 7 7 7 7 7 7 7 7 7 7 7 7 7 7(h h h h h h h h^& & & & & & & &RV V V V V V V Vr]"; ]"; ]"; ]"; ]";e' ]"; ]"; ]"; ]"; ]";s   # 44A9FFF