
    
3jcA                   p   S r SSKJr  SrSSKrSSKrSSKrSSKJr  SSK	J
r
JrJrJrJr  SSKJrJr  SSKJr  SS	KJrJr  \" \5      R0                  r " S
 S\R4                  5      r " S S5      r " S S\5      r " S S5      rS\l        S\l         S\l!        S\l"        S\l#        S\l$        S\l%        S\l&        S\l'        S\l(        S\l)        S\l*        S\l+        S\l,        S  r-\." \S!-  S"S#9 r/\/ Hn  r0\0Rc                  S$5      r0\0Re                  S%5      (       d  M,  \0Rg                  S&5      r4\4(       d  MF  \-" \/5      r5\4S';   a  \5Rc                  5       r5\6" \\4\55        Mp     SSS5         " S( S)5      r7 " S* S+5      r8 " S, S-5      r9 " S. S/\Rt                  5      r;g! , (       d  f       NB= f)0zLaTeX2e document tree Writer.    )annotationsreStructuredTextN)Path)frontendnodes	languageswritersutils)
references
writer_aux)RomanNumeral)pick_math_environmentunichar2texc                    ^  \ rS rSrSr Sr\rSr/ SQr	SS/ SS	/S
SS.4PSS/SSS.4PSS/SS/SSSS.4PSS/SS\
R                  S.4PSS/SS\
R                  S .4PS!S"// S#QS$SS%.4PS&S'/S(S)S*\
R                  S+.4PS,S-/S)S.\
R                  S/.4PS0S1/S2SS3.4PS4S5/S6S\
R                  S.4PS7S8/S9\
R                  S:/S;.4PS<S=/S>\S.4PS?\-  S@/\SASB.4PSCSD/SES\
R                  S.4PSFSG/SHS\
R                  S .4PSISJ/S6S\
R                  S.4PSKSL/SMS\
R                  S .4PSNSO/S6S\
R                  S.4PSPSQ/SRS\
R                  S .4PSSST/S6S\
R                  S.4PSUSV/SWSXS.4PSYSZ/SS(S.4PS[S\/S6S\
R                  S.4PS]S^/SS_S`.4PSaSb/SS\
R                  S.4PScSd/SSeS`.4PSfSg/ShSiSB.4PSjSk/SlS(S.4P\
R                  Sm/S\
R                  Sn.4PSoSp/Sq/SSr\
R                  \	Ss.4PStSu/SvS(S.4PSwSx/SySzS.4PS{S|/S}S(S.4PS~S/S(S\
R                  S.4PSS/S6S\
R                  S.4PSS/SS\
R                  S .4PSS/SS\
R                  S.4PSS/SS\
R                  S .4PSS/SS\
R                  S .4PSS/SS6\
R                  S.4P74rSr0 rSrSrSr\S-   rSr SS jrU 4S jrSS jrSU 4S jjrSrU =r$ )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--documentclassz<documentclass>article)metavardefaultzcSpecify document options.  Multiple options can be given, separated by commas.  Default: "a4paper".z--documentoptionsz	<options>a4paperz\Format for footnote references: one of "superscript" or "brackets".  Default: "superscript".z--footnote-referencessuperscriptbracketsz<format>trim_footnote_reference_space)choicesr   r   	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
<preamble>z)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-colorz<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-envz<environment>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. Default: "".z--graphicx-optionz<option>zLaTeX font encoding. Possible values are "", "T1" (default), "OT1", "LGR,T1" or any other combination of options to the `fontenc` package. z--font-encodingz
<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-labelz<command name>zdSpecify 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_widthsz5Footnotes with numbers/symbols by Docutils. (default)z--docutils-footnoteslatex_footnotesz Footnotes with numbers by LaTeX.z--latex-footnotes)r$   r   r%   )templatezlatex2e writer)r	   zlatex writers)head_prefixrequirementslatex_preambler0   	fallbackspdfsetup	titledata)titlesubtitlebody_pre_docinfodocinfo
dedicationabstractbodyc                X    [         R                  R                  U 5        [        U l        g N)r	   r   __init__LaTeXTranslatortranslator_classselfs    [/home/wildlama/miniconda3/lib/python3.13/site-packages/docutils/writers/latex2e/__init__.pyrO   Writer.__init__   s    % /    c                b   > [         TU ]  5       [        R                  [        R
                  /-   $ rN   )superget_transformsr   Admonitionsr   CitationReferences)rS   	__class__s    rT   rY   Writer.get_transforms  s/    w%'))00+  	rV   c           	     b   U R                  U R                  5      nU R                  R                  U5        U R                   H  n[	        X[        X5      5        M     U R                  5         [        R                  " U R                  S   5      R                  U R                  5      U l        g )Nr?   )rQ   document	walkaboutvisitor_attributessetattrgetattrassemble_partsstringTemplateparts
substituteoutput)rS   visitorparts      rT   	translateWriter.translate  s    ''6(++DD 67 , 	oodjj&< ((2
4::(> 	rV   c                0  > [         TU ]  5         U R                   H  nXR                  ;   a  M  [	        X5      nXR
                  ;   a8  U(       a  UR                  S5        SR                  U5      U R                  U'   Mf  SR                  U5      U R                  U'   M     [        U R                  R                  R                  5      nUR                  5       (       d  U R                  UR                  -  nUR                  SS9U R                  S'   g)z9Assemble the `self.parts` dictionary of output fragments.r.   
utf-8encodingr?   N)rX   rd   ra   rg   rc   
head_partsr:   joinr   r_   settingsr?   existsdefault_template_pathname	read_text)rS   rk   linestemplatepathr\   s       rT   rd   Writer.assemble_parts  s     ++Dzz!D'E&LL$#'99U#3

4  $&775>

4  , DMM22;;<""$$558I8IIL!-!7!7!7!I

:rV   )ri   rQ   returnNone)__name__
__module____qualname____firstlineno__	supporteddefault_templateLATEX_WRITER_DIRrw   default_preambletable_style_valuesr   validate_booleanvalidate_comma_separated_listSUPPRESS_HELPsettings_specrelative_path_settingssettings_defaultsconfig_sectionconfig_section_dependenciesrs   ra   ri   rO   rY   rl   rd   __static_attributes____classcell__r\   s   @rT   r   r      s   $I'$,01
 	!	
=
'I
>
@ 	6
!i
8
:	1"
#$j1m 79
:	 ?"
#l 113
4	"G
 (M 113
4#	,J
?5
6-	6M 
%8) >>@
A7	FF 
) >>@
AG	T D
%
?
AU	Z?
 | 113
4[	d 
' >>e	
e	rL
"/?
@
Bs	z 68H
H.&8
<
>{	@ 2
l 113
4A	H B
 "m 113
4I	P 7
 | 113
4Q	X I#
$&- 113
4Y	` : 
!| 113
4a	h 1
'= 113
4i	p H!
"| 113
4q	x6
F
3
5y	@ :
 !b
1
3A	F#
$| 113
4G	P&
'",B
C
EQ	XM-
.l 113
4Y	b I0
1",L
M
Oc	h:+
,h
/
1i	p0 
!%"
5
7q	x 
 
 )
*! 113
4y	@  
!l  >>(	*	
+A	T 8
 R
0
2U	ZH 
"t
4	
6[	d' 
&2
6	
8e	n;
5 >>@
Ao	z*%
&! 113
4{	FB"
#+" 113
4G	R"#
$! 113
4S	^ 
!)" 113
4_	j B!
"$" 113
4k	t -
! 113
4u	C
MJ +%N">FJ# 'I I F.0	?J JrV   r   c                  b   \ rS rSrSr0 SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_0 S%S&_S'S(_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6_S7S8_S9S:_S;S<_S=S>_S?S@_SASB_SCSD_SESF_E0 SGSH_SISJ_SKSL_SMSN_SOSP_SQSR_SSST_SUSV_SWSX_SYSZ_S[S\_S]S^_S_S`_SaSb_ScSd_SeS`_SfSg_E0 ShSi_SjSk_SlSm_SnSo_SpSq_SrSs_StSu_SvSw_SxSy_SzS{_S|Ss_S}Su_S~S_SS_SS_SS_Er\R                  5        V VVs0 s H  u  pUR                  5       U_M     snnn rSrSSS.r	SSS jjr
S rS rS rSrgs  snnn f )Babeli,  z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vietnamz,Language "%s" not supported by LaTeX (babel)z.<>)r   r   Nc                J    X l         U R                  U5      U l        0 U l        g rN   )reporterlanguage_namelanguageotherlanguages)rS   language_coder  s      rT   rO   Babel.__init__  s!     **=9 rV   c                  ^  [        T R                  R                  5       5      nU(       a)  UR                  " ST R                  =(       d    S 35        O%UR                  " T R                  =(       d    S5        SSR                  U5      -  /T l        / nSR                  U 4S jU 5       5       H  nX2;  d  M
  UR                  U5        M     U(       a-  T R                  R                  SSR                  U5      -  5        SU;   a  T R                  R                  S	5        S
U;   a  T R                  R                  / SQ5        SU;   a  T R                  R                  / SQ5        US   S:X  aC  ST R                  R                  5       ;   a%  T =R                  SSST R                  -  /-  sl        SR                  T R                  5      $ )z7Return the babel call with correct options and settingszmain=r   z\usepackage[%s]{babel},r.   c              3  \   >#    U  H!  nTR                   R                  US 5      v   M#     g7f)r.   N)active_charsget).0lngrS   s     rT   	<genexpr>!Babel.__call__.<locals>.<genexpr>  s'     M9C**..sB779s   ),z#\AtBeginDocument{\shorthandoff{%s}}r   z)\deactivatetilden % restore ~ in Galicianr   )\makeatletterz+  \addto\extrasestonian{\bbl@deactivate{~}}\makeatotherr   )r  z)  \addto\extrasbasque{\bbl@deactivate{~}}r  zmain=englishr   zE% Prevent side-effects if French hyphenation patterns are not loaded:z\frenchbsetup{StandardLayout}z4\AtBeginDocument{\selectlanguage{%s}\noextrasfrench}ro   )sortedr  keysr:   r  rt   setupextend)rS   r   
shorthandscs   `   rT   __call__Babel.__call__  s   4..3356	uT]]%?i$@ABT]]7i8/#((92EEF

M9MMA"!!!$ N JJD "
 34 5 "JJJK"JJ 0 1 y JJ 0 1 bM^+D//4466JJ 6;/15?@ @J
 yy$$rV   c                    [         R                  " U5       H  n U R                  U   s  $    U R                  b(  U R                  R                  U R                  U-  5        g! [         a     MZ  f = f)z,Return TeX language name for `language_code`r.   )r
   normalize_language_taglanguage_codesKeyErrorr  warningwarn_msg)rS   r  tags      rT   r  Babel.language_name  sk    //>C**3// ?
 ==$MM!!$---"?@	  s   A$$
A21A2c                    U R                   $ rN   )r  rR   s    rT   get_languageBabel.get_language  s    }}rV   )r  r  r  r  rN   r}   )r   r   r   r   __doc__r'  itemslowerr*  r  rO   r#  r  r.  r   )r  kvs   000rT   r   r   ,  s!   '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
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
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
NZ 0>/C/C/EF/Etqaggil/EFN=H* (-',
L!
"%H	c Gs   .D*r   c                  8   ^  \ rS rSrSrU 4S jrS rS rSrU =r	$ )SortableDicti  u[   Dictionary with additional sorting methods

Deprecated. Will be removed in Docutils 0.24.
c                Z   > [         R                  " S[        SS9  [        TU ]  " U0 UD6  g )NzP`writers.latex2e.SortableDict` is obsolete and will be removed in Docutils 0.24.   
stacklevel)warningswarnDeprecationWarningrX   rO   )rS   argskwargsr\   s      rT   rO   SortableDict.__init__  s-     ?(Q	8 	$)&)rV   c                4    [        U R                  5       5      $ )zReturn sorted list of keys)r  r  rR   s    rT   
sortedkeysSortableDict.sortedkeys  s    diik""rV   c                R    U R                  5        Vs/ s H  oU   PM	     sn$ s  snf )z$Return list of values sorted by keys)rB  )rS   keys     rT   sortedvaluesSortableDict.sortedvalues  s%    %)__%67%6cS	%6777s   $ )
r   r   r   r   r0  rO   rB  rF  r   r   r   s   @rT   r6  r6    s    
*#8 8rV   r6  c                      \ rS rSrSrSrg)PreambleCmdsi  z'Building blocks for the latex preamble.rH  N)r   r   r   r   r0  r   rH  rV   rT   rJ  rJ    s    1rV   rJ  a4  
\ifdefined\DUchdimen  % lengh unit "ch": width of a zero char
\else
  \newlength{\DUchdimen}
  \AtBeginDocument{\settowidth\DUchdimen{0}}  % set after font setup,
  % update with font changes (requires LaTeX > 2021-06-01, see lthooks-doc.pdf)
  \AddToHook{cmd/selectfont/after}{\settowidth\DUchdimen{0}}
\fiz\usepackage{color}zl\usepackage{float} % extended float configuration
\floatplacement{figure}{H} % place figures here definitelyz%% hyperlinks:
\ifdefined\hypersetup
\else
  \usepackage[%s]{hyperref}
  \usepackage{bookmark}
  \urlstyle{same} %% normal text font (alternatives: tt, rm, sf)
\fiz/%% 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                    [        U 5      /nU  H+  nUR                  5       (       d    OUR                  U5        M-     SR                  U5      R	                  5       $ Nr.   )nextstripr:   rt   rstrip)fpblocklines      rT   _read_blockrS  b  sJ    "XJEzz||T  775>  ""rV   zdocutils.styrp   rq   z% 
z:::)colorfloattabletextcompc                     \ rS rSrSr\" S5      S\" S5      S\" S5      S0r\" S	5      S
\" S5      S\" S5      S\" S5      S\" S5      S\" S5      S\" S5      S\" S5      S\" S5      S\" S5      SSS0r0 SS _S!S"_S#S _S$S"_S%S&_S'S(_S)S&_S*S+_S,S-_S.S/_S0S1_S2S3_S4S5_S6S7_S8S9_S:S;_S<S=_S>S?S@SASB.Er0 SCS_SDSE_SFSG_SHSI_SJSK_SLSM_SNSO_SPSQ_SRSS_STSU_SVSW_SXSY_SZS[_S\S]_S^S__S`Sa_SbSc_SdSeSfSgSh.Er	0 SiSj_SkSl_SmSn_SoSp_SqSr_SsSt_SuSv_SwSx_SySz_S{S|_S}S~_SS_SS_SS_SS_SS_SS_0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SSg_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_ESSSSSS.Er
SSSSS.rSrg)CharMapsi  z8LaTeX 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{}rs  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'  rH  N)r   r   r   r   r0  ordallttspecialunsupported_unicodeutf8_supported_unicoderX  pifontr   rH  rV   rT   rZ  rZ    s   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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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 	"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N &!"  WLH^ 	FrV   rZ  c                  6    \ rS rSrSrSS	S jjrS rS
S jrSrg)DocumentClassi.  z"Details of a LaTeX document class.c                b   Xl         X l        / SQU l        U R                   R                  S5      (       d0  U R                   R                  S5      (       d  U R                   S;   a  U R                  R	                  SS5        U R                  (       a  U R                  R	                  SS5        g g )N)section
subsectionsubsubsection	paragraphsubparagraphbookreport)ctexrepmemoirmwbkmwrepscrreprtr   chapterrk   )document_class
_with_partsectionsendswithinsert)rS   r  	with_parts      rT   rO   DocumentClass.__init__1  s    ,#6((00""++H55"" '< <MM  I.??MM  F+ rV   c                Z    U[        U R                  5      ::  a  U R                  US-
     $ g)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  )rS   levels     rT   r  DocumentClass.section>  s+     C&&==q))rV   c                    [        U[        U R                  5      5      nSU R                  ;   a  US-  nU R                  S   S:X  a  US-  nU$ )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.

LaTeX section depth values:
  :-1|0: part (optional, 0 with "article"-like document classes)
  :0:    chapter (missing in "article"-like document classes)
  :1:    section
  :2:    subsection
  :3:    subsubsection
  :4:    paragraph
  :5:    subparagraph
r  r  r   rk   )minr  r  )rS   depths     rT   latex_section_depth!DocumentClass.latex_section_depthI  sM    " E3t}}-.%QJE==v%QJErV   )r  r  r  N)Fr}   )r  intr~   r  )	r   r   r   r   r0  rO   r  r  r   rH  rV   rT   r  r  .  s    ,,	rV   r  c                      \ rS rSrSrSS jrSS jrSS jrS rSS jr	S r
SS	 jrS
 rSS jrS S jrS rSS jrS rSS jrSS jrS rS rS rSS jrS rSS jrS rS rSS jrS rSrg)!Tableib  a,  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                t    Xl         X l        SU l        U R                  5         / U l        / U l        SU l        g )NFr   )_translator_latex_typer=   close
_colwidths_rowspan	_in_thead)rS   
translator
latex_types      rT   rO   Table.__init__n  s4    %%$)!

rV   c                J    SU l         / U l        / U l        0 U l        SU l        g )NTF)_open
_col_specscaption_attrs_in_headrR   s    rT   open
Table.openx  s%    
rV   c                X    SU l         S U l        / U l        0 U l        / U l        SU l        g NF)r  r  r  r  stubscolwidths_autorR   s    rT   r  Table.close  s-    

#rV   c                    U R                   $ rN   )r  rR   s    rT   is_openTable.is_open  s    zzrV   c                r   UR                   U l         SU;   a  U R                  SUS   5        S/UR                  -   US   -    Vs/ s H  nUS;   d  M  UR                  SS5      PM     nnUS   U l        SUS   ;   =(       d    SUR                  ;   =(       a    S	US   ;  =(       a    S
U;  U l        g s  snf )Nalignr   classes)r   r   r   r   r   r   r  r   colwidths-givenwidth)r=   settable_stylereplacebordersr  )rS   noderu   clsr  s        rT   set_table_styleTable.set_table_style  s    $,$A$A!d?HHWd7m, !+|!)!5!5 6!%i 1P 1s NN	 83;;y,7 1 	 P
 r{ 0DO C !L#3x7K7K#K 7#4DO#K 7 $+$#6 	Ps   
B4B4c                ^    U R                   S:X  a  U R                  (       d  gU R                   $ )N	longtablez
longtable*)r  r  rR   s    rT   get_latex_typeTable.get_latex_type  s%    {*4<<rV   c                     X R                   U'   g rN   r  )rS   attrvalues      rT   r  	Table.set  s    !DrV   c                @    XR                   ;   a  U R                   U   $ g rN   r  )rS   r  s     rT   r  	Table.get  s    ;;;;t$$rV   c                &    U R                   S:X  a  gg)Nr   |r.   )r  rR   s    rT   get_vertical_barTable.get_vertical_bar  s    <<:%rV   c                   / n[        U R                  5      nSSSSS.nUR                  U R                  S5      5      nU R                  5       nU(       a,  UR	                  S5      (       d  UR                  SU-  5        SnU R                  (       dN  U R                  S	:X  a*  U R                  (       d  UR                  S
XS-   4-  5        OUR                  SU-  5        UR                  SU< SU< 35        SR                  U5      $ )Nz[l]z[c]z[r]r.   )leftcenterrightNr  r  z"\noindent\makebox[\linewidth]%s{%%r   z?\setlength{\DUtablewidth}{\dimexpr%s-%i\arrayrulewidth\relax}%%r  z\setlength{\DUtablewidth}{%s}%%\begin{r]  ro   )
r  r  r  r  
startswithr:   r  r  r=   rt   )rS   r  opening
nr_of_cols	align_mapr  r  s          rT   get_openingTable.get_opening  s    )
"$#	 dhhw/0((*
..{;;NN@5HIE""||z)$2K2K  I"'A!6 7 8 AEIJ*e<=yy!!rV   c                D   / nU R                   S:X  a  UR                  S5        UR                  SU R                  5       -  5        U R                  S5      (       a5  U R                  5       R	                  S5      (       d  UR                  S5        SR                  U5      $ )Nr   z\bottomrulez\end{%s}r  r  r]  ro   )r  r:   r  r  r  rt   )rS   closings     rT   get_closingTable.get_closing  s    <<:%NN>* 	{T%8%8%::;HHW'')44[AANN3yy!!rV   c                    U R                   R                  U5        U R                  R                  UR                  R	                  S5      5        g )Nstub)r  r:   r  
attributesr  rS   r  s     rT   visit_colspecTable.visit_colspec  s5    t$

$//--f56rV   c                
   U R                  5       nS/[        U R                  5      -  U l        U R                  (       a"  / U l        S/[        U R                  5      -  nGOtU R                  (       a  SnSn[        S U R                   5       5      nXd:  a  XTU-  -  nU R                   Vs/ s H  nXQR                  5       S-   -  U-  S-   PM      snU l        U R
                   Vs/ s H  nSU-  PM
     nnOS	nS
UR                  R                  S   ;  a  Sn	OSn	U R                   Vs/ s H  nUR                  5       U	-   U-  PM     snU l        [        U R
                  5      nUS:  d$  SWR                  R                  R                  ;   a$  U R
                   Vs/ s H  nXv-  PM	     snU l        U R
                   Vs/ s H  nSU-  PM
     nnX"R                  U5      -   U-   $ s  snf s  snf s  snf s  snf s  snf )z3Return column specification for longtable.
        r   lP   g(\?c              3  F   #    U  H  oR                  5       S -   v   M     g7f)r  N	propwidthr  r  s     rT   r  %Table.get_colspecs.<locals>.<genexpr>       M_Tnn.q0_   !r  g{Gzt?zp{%.3f\DUtablewidth}(   r  r  r  p{\DUcolumnwidth{%.3f}})r  r  r  r  r  r  r=   sumr  parentr  rt   )
rS   r  barlatex_colspecsr  factortotal_widthcolwidthnorm_length	allowances
             rT   get_colspecsTable.get_colspecs  s    ##%c$//22 DO!US%99N&&EFMT__MMK"+--+/??<+:4 !'..*:1*< =e CuL+:<DO /3oo?.=( 6@.=  ?N K !(:(:9(EE		+/??<+:4 !% 0 :KG+:<DOdoo.KQ'T[[-?-?-J-J"J37??#D3Bx $,#73B#D /3oo?.=( 98C.=  ?XXn--337<? <
#D?s   -%G,(G1, G6!G;H c                     U R                   (       a  SU R                  U R                     -  $ SU R                  U R                     -  $ ! [         a     gf = f)z4Return columnwidth for current cell (not multicell).z%.2f\DUtablewidthz\DUcolumnwidth{%.2f}*)r=   r  _cell_in_row
IndexErrorrR   s    rT   get_column_widthTable.get_column_width  sV    	((+DOOD<M<M,NNN*4??4;L;L+MMM 		s   ,A A 
AAc                   ^ ^  [        U U4S j[        U5       5       5      nT R                  (       a  SU-  $ SU-  $ ! [         a     gf = f)z)Return sum of columnwidths for multicell.c              3  H   >#    U  H  nTR                   TU-      v   M     g 7frN   )r  )r  corS   starts     rT   r  .Table.get_multicolumn_width.<locals>.<genexpr>  s%      !8+6R "&!<+6s   "zp{%.2f\DUtablewidth}r  r  )r  ranger=   r  )rS   r#  len_multicol_widths   ``  rT   get_multicolumn_widthTable.get_multicolumn_width  sT    	  !8+0;!8 8N((.??->> 		s   4> > 
A
Ac                ^    U R                   S:X  a  SU R                  R                  5       :H  $ g)Nr  r  r   )r  r  thead_depthrR   s    rT   need_recurseTable.need_recurse  s-    {*((44666rV   c                |    U =R                   S-  sl         U R                  S:X  a  S/$ U R                  S:X  a  S/$ / $ )Nr  r   \hline
r   z	\toprule
)r  r  rR   s    rT   visit_theadTable.visit_thead  s=    !<<:%= \\Z'!?"	rV   c                ,   / nU R                   S:X  a  UR                  S5        U R                  S:X  a  SU R                  R	                  5       :X  a  UR                  S5        O[        U R                  5      nUR                  S5        [        S U R                   5       5      nUS:  d  US	:  a<  U R                  (       d+  UR                  S
X R                  SU5      4-  S-   S-   5        UR                  S5        U =R                  S-  sl
        U$ )Nr   z	\midrule
r  r  z\endfirsthead
z	\endhead
c              3  F   #    U  H  oR                  5       S -   v   M     g7f)r8  Nr  r	  s     rT   r  %Table.depart_thead.<locals>.<genexpr>0  r  r  r      z\multicolumn{%d}{%s}r   z,{\raggedleft\ldots continued on next page}\\ro   z\endfoot
\endlastfoot
)r  r:   r  r  r+  r  r  r  r  r(  r  )rS   an_ct_widths       rT   depart_theadTable.depart_thead#  s     <<:%HH]#{*D$$0022+,$//*'MT__MMR<GbL9L9LHH4 #%?%?3%GHINO  $$ % 56!rV   c                    SU l         g Nr   r  rR   s    rT   	visit_rowTable.visit_row;  s
    rV   c                ~   S/nS U l         [        [        U R                  5      5       H/  nU R                  U   S:  d  M  U R                  U==   S-  ss'   M1     U R                  S:X  a  [        [        U R                  5      5       Vs/ s H  nU R                  U   S::  d  M  US-   PM     nn[        U5      [        U R                  5      :X  a  UR                  S5        U$ SnUR                  5           UR                  5       nUSXU4-  -  nM  U$ s  snf ! [         a     Of = fUR                  U5        N))N \\
r   r  r   r/  r.   z\cline{%d-%d}
)	r  r%  r  r  r  r:   reversepopr  )rS   resirowspansclinec_starts         rT   
depart_rowTable.depart_row>  s4   k s4==)*A}}Q!#a A%  + <<:%%*3t}}+=%> 2%>==+q0 !%>H 28}DMM 22

;' 
   ""*,,. /72DDDE  
2 &  

5!s   D'	D;D 
D*)D*c                B     X R                   U'   g ! [         a     g f = frN   r  r  )rS   cellr  s      rT   set_rowspanTable.set_rowspanW  s%    	"'MM$ 		    
c                B     U R                   U   $ ! [         a     gf = fr<  rL  )rS   rM  s     rT   get_rowspanTable.get_rowspan]  s(    	==&& 		rP  c                    U R                   $ rN   r=  rR   s    rT   get_entry_numberTable.get_entry_numberc         rV   c                .    U =R                   S-  sl         g Nr  r=  rR   s    rT   visit_entryTable.visit_entryf  s    QrV   c                |    [        U R                  5      U R                  :  a  U R                  U R                     $ gr  )r  r  r  rR   s    rT   is_stub_columnTable.is_stub_columni  s0    tzz?d///::d//00rV   )r  r  r  r  r  r  r  r  r  r  r  r  r  r=   r  Nr}   r~   str)
\linewidth)r   r   r   r   r0  rO   r  r  r  r  r  r  r  r  r  r  r  r  r  r(  r,  r0  r9  r>  rI  rN  rR  rU  rZ  r]  r   rH  rV   rT   r  r  b  s    
$8" "

",
"7
+4Z	
02!rV   r  c                    ^  \ rS rSrSrSrSrSrSrSr	Sr
SrSrSrSrSrSr\R$                  \R&                  \R(                  \R*                  \R,                  \R.                  4r\4SU 4S jjjrS rS rS	 rS
 r\R@                  " S5      4S jr!S r"SS jr#  S SS jjr$SS jr%SSS jjr&SSS jjr'SS jr(SS jr)SS jr*SS jr+S r,SS jr-SS jr.SS jr/SS jr0SS jr1SS jr2SS jr3SS jr4SS  jr5SS! jr6SS" jr7SS# jr8SS$ jr9SS% jr:SS& jr;SS' jr<SS( jr=SS) jr>SS* jr?SS+ jr@SS, jrASS- jrBSS. jrCSS/ jrDSS0 jrESS1 jrFSS2 jrGSS3 jrHSS4 jrISS5 jrJSS6 jrKSS7 jrLSS8 jrMSS9 jrNS: rOSS; jrPSS< jrQSS= jrRSS> jrSSS? jrTSS@ jrUSSA jrVSSB jrWSSC jrXSSD jrYSSE jrZSSF jr[SSG jr\SSH jr]SSI jr^SSJ jr_SSK jr`SSL jraSSM jrbSSN jrcSSO jrdSSP jreSSQ jrfSSSR jjrgSSS jrhSST jriSSU jrjSSV jrkSSW jrlSSX jrmSSY jrnSSZ jroSS[ jrpSS\ jrqS] rrSS^ jrsSS_ jrtSS` jruSSa jrvSSb jrwSSc jrxSSd jrySSe jrzSSf jr{SSg jr|SSh jr}SSi jr~SSj jrSSk jrSSl jrSSm jrSSn jrSSo jrSSp jrSSq jrSSr jrSs rSSt jrSSu jrSSv jrSSw jrSSx jrSSy jrSSSz jjrSS{ jrSS| jrSS} jrSS~ jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrS rSS jrSS jrSS jrSS jrSSS jjrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrS rSS jrS rS rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSSSSS.rSS jrSS jrSS jrSS jrSS jrSS jrS rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrS rSS jrSS jrSS jrSS jrS rSS jrSS jrSS jrSS jrSS jrSS jrS rSrU =r$ )rP   io  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.
Fr9   r   c                r  > [         T
U ]  U5        U R                  R                  R                  U l        U R                  R                  R                  U l        [        5       U l        UR                  [        R                  5       H)  nSU;   d  M  U R                  R                  US   5        M+     U R                  nUR                  c2  UR                  (       d!  SUl        [         R
                  " S["        SS9  UR$                  c!  SUl        [         R
                  " S["        SS9  UR&                  b  [         R
                  " S["        SS9  U R)                  UR*                  5      U l        UR.                  U l        UR0                  U l        UR                  U l        UR2                  U l        UR4                  U l        UR6                  U l        [9        US	S
5      U l        UR<                  U l        UR>                  RA                  SS5      U l        S
U l!        S
U l"        URB                  (       a1  [F        RH                  " SURB                  5      u  nU l!        U l"        nOUR&                  (       a  SU l!        UR                  (       a  SU l        UR                  U l%        [L        RN                  " URP                  UR                  5      U l)        U" URP                  UR                  5      U l*        U RR                  RV                  S   U l,        URZ                  /nU RT                  R\                  S;  a%  UR_                  U RT                  R\                  5        SRa                  [c        S U5      5      U l-        [e        URf                  URh                  5      U l5        URl                  S
:X  a  SU l7        OSURl                  -  U l7        URp                  U l8        SU RZ                   SURf                   S3/U l9        0 U l:        URv                  /U l;        0 U l<        / U l=        / U l>        / U l?        / U l@        / U lA        / U lB        / U lC        / U lD        / U lE        / U lF         / U lG        / U lH        S
//U lI        / U lJ        / U lK        / U lL        URP                  S:w  a(  U R                  R_                  SURP                  -  5        S/U lM        / U lN        SU lO        / U lP        / U lQ        [        U S5      U lS        U R                  U lT        / U lU        / U lV        [        5       U lW        U R,                  S;  a  SU R,                  -  U Rt                  S'   U R                  (       d  U R:                  (       a  SU R:                  -  U Rt                  S'   U R:                  RI                  S5       HA  nUR                  5       nUS:X  a  S U Rt                  S!'   M*  US";  d  M2  S#U Rt                  S$'   MC     URf                  R                  S%5      (       d/  S&U RZ                  ;   d  S'U RZ                  ;   a  S(U Rt                  S)'   [        R                  " U5      nS*U;   U l]        U R                  (       a9  UR                  S*5        UR                  (       a  SU l]        OS+U Rx                  S,'   U V	s/ s H  n	U R                  U	5      PM     sn	U la        / U lb        U Rp                  (       d  S-/U lb        U R4                  R                  5       S.;  a5  U R                  R_                  S/U R4                   S0U R4                   35        UR                  (       a%  U R                  R_                  UR                  5        S1Ra                  U R                  5      U lb        g s  sn	f )2NrefidFzXThe default for the setting "use_latex_citations" will change to "True" in Docutils 1.0.   r9  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.   re  rf  z	(\w+)(.*)verbatimr   )r   r.   r  z\usepackage{graphicx}z\usepackage[%s]{graphicx}z\documentclass[]{r]  r   z  pdflang={%s},r  )asciiunicodeutf8z\usepackage[%s]{inputenc}	_inputencz\usepackage[%s]{fontenc}_fontencOT1z+\DeclareTextSymbol{\textquotedbl}{OT1}{`\"}_textquotedblOT1)r;   T2AT2BT2CT4T5z,\DeclareTextSymbolDefault{\textquotedbl}{T1}_textquotedblscrDIVBCORz\usepackage{typearea}typeareadocutilsz!\usepackage{docutils}[2026-05-06]z_docutils.styzhyperfootnotes=false)0offr   falser.   zcolorlinks=true,linkcolor=z
,urlcolor=z,
              )drX   rO   r_   r  r)  r<  errorr  refidsfindallr   	referenceaddru   r&   
use_bibtexr;  FutureWarningr=   use_verbatim_when_possibleto_latex_encodingoutput_encodinglatex_encodingr3   r4   reference_labelhyperlink_colorr7   rc   rf  r8   section_enumerator_separatorr  literal_block_envliteral_block_optionsresplitbibtexr   r.  r  language_modulebabelauthor_separatorsauthor_separatordocumentoptionsr  r:   rt   filterr  documentclassuse_part_sectiond_classgraphicx_optiongraphicx_packager>   r@   rA   rB   rC   rD   rF   rG   rE   rH   rI   rJ   rK   rL   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footnote_queueprocessed_footnotesis_xetexrN  r  r
   get_stylesheet_listfallback_stylesheetremover<   stylesheet_callr0   hyperref_optionsr2  )rS   r_   babel_classr  ru   _none	d_optionsencstylesheet_listpathr\   s             rT   rO   LaTeXTranslator.__init__  s   " MM**22	]]++11
 e$$U__5D$W. 6 ==''/8K8K+0H(MM C'A7 ((0,0H)MM E'A7 ..:MM5 !	- #44X5M5MN%33!)!;!;#+#?#? '77'77$,$A$A!$XC33 	+ 1199#uE 	) "$%'"%% hh|X-G-GHU#'00%/D"'+D$))  )55h6L6L6>6G6G I !7!79J9JK
 $ 4 4 F Fq I--.	::o5TZZ001"xxtY(?@$X%;%;%-%>%>@ ##r)$<D!%A%-%=%=&>D!'77
 /t/C/C.D E!!)!7!7 8< ='667
 "	 	H ! TF	 !!T)LL 1(2H2H HI
 !"s &(" *+& !$4 99 !#&5  &BB.J040C0C/DDk* }}!!1L151C1C2D!!*- ))//4iik%<F %%&89 GGG %%o6 5 &&11%88$...d222,DDj)
  33H=#-#@ ##"":...+0( 9 / (78'6t  //5'68 !###%;$<D!%%'/NN!!(( *66:6J6J5K L5595I5I4J*L M $$!!(()B)BC 3 8 89N9N O!8s   ^4c                4   [        U5      nUR                  S;   nU R                  R                  (       a~  U(       a  UR	                  S5      n UR                  SS9nU R                  R                  R                  UR                  5       5        U(       a  SU S3nSUR                  5        S	U 3$ U(       a  UR                  UR                  -  nSnOSnU R                  R                   (       a.  U["        R$                  " U R                  R&                  U5      -  $ XaR                  5       -  $ ! [         aY  nSU 3R                  SS5      nU R                  R                  R                  U5        SUR                  S	S
5      -   s SnA$ SnAff = f)z9Return code to reference or embed stylesheet file `path`.).styr.   r  rp   rq   zCannot embed stylesheet:
 \\/z% ro   
% Nz\makeatletter
z
\makeatotherz% embedded stylesheet: z\usepackage{%s}z
\input{%s})r   suffixru   r1   with_suffixry   record_dependenciesr  as_posixOSErrorr  r_   r  r~  r  stemr/   r
   relative_pathoutput_path)rS   r  
is_packagecontenterrmsgcmds          rT   r  LaTeXTranslator.stylesheet_callu  sY    Dz[[L0
==))''/G..'.: 1155dmmoF-gYoF-dmmo->bi! " ;;*D$CC==((,,T]]-F-FMMM]]_$$)  83C59AA&#N&&,,S1ckk$7778s   D4 4
F>AFFFc                    SSSSSSSSS	S
SSSSS.nUR                  5       nUR                  S5      S   nX2;   a  X#   $ UR                  SS5      R                  SS5      $ )zsTranslate 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cp1252ri  )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-asciirT  r   re  r.   r9   )r2  r  r  )rS   docutils_encodingr  rr   s       rT   r  !LaTeXTranslator.to_latex_encoding  s    
 %$$$&$%&&  &&!8 %**,>>#&q)><R(00b99rV   c                4    U R                   R                  U   $ rN   )r  labels)rS   docutil_labels     rT   language_labelLaTeXTranslator.language_label  s    ##**=99rV   c                   U R                   (       a  U$ [        R                  R                  5       nU R                  (       d  UR	                  [        R
                  5        U R                  (       a  U R                  (       d  U[        S5      	 U R                  S;   a  U R                  (       dq  U R                  (       a6  SU[        S5      '   U R                  U R                  S'   SU[        S5      '   O*SU[        S5      '   S	U[        S
5      '   SU[        S5      '   U R                  (       a3  SU[        S5      '   SU R                  R                  -  U[        S5      '   U R                  (       Gdr  U R                   R#                  S5      (       d]  UR	                  [        R$                  5        UR	                  [        R&                  5        UR	                  [        R(                  5        UR	                  [        R*                  5        U H  n[        U5      nU[        R(                  ;   a0  U R,                  (       d  [.        R(                  U R                  S'   MR  U[        R*                  ;   a  SU R                  S'   Mw  U R                   S:X  d  M  U[        R$                  ;   d  M  SU[        R$                  U   4-  U R                  S[1        U5      -   '   M     UR3                  U5      nU R                  (       d>  SnU R                  (       a  US-  nUS-   H  nUR5                  Xf-   US-   U-   5      nM     U R6                  (       a\  UR9                  S5      n[;        USS 5       H(  u  pU	R=                  5       (       a  M  Xx==   S-  ss'   M*     SR?                  U5      nU R                  (       a#  U R                  (       d  UR5                  SS5      nU$ ) a-  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.
re  )rn  r.   z\underline{~}graphicxz\reflectbox{/}r[  z
\textbar{}r  z\textless{}<z\textgreater{}>rd   	rk  rX  z\usepackage{pifont}r  z"\DeclareUnicodeCharacter{%04X}{%s}rl  r9   z,`'"<>r8  z{}ro   Nr  \\
z  z ~) rg  rZ  r  copyupdater  inside_citation_reference_labelr  rf  r  literalr  rA   insert_non_breaking_blanksru   	tab_widthr  r  r  r  rX  r  r  rJ  r`  rl   r  insert_newliner  	enumeratelstriprt   )
rS   textrW  chcpseparate_charscharrz   rE  rR  s
             rT   encodeLaTeXTranslator.encode  s    ==K##%zzLL))*//

c#h,T]]|| #3c#h 150E0E!!*-#4c$i  #0c#h"0c#h"3c#h**!E#c(O  #T]]%<%<<E#d)}}}&&11&99X99:X<<=X../LL)W***43K3K4@4I4ID%%j18??*2HD%%h/))V3 < <<=x;;B?@A %%k#b'&9:  ~~e$ }} N ||)+&* ||DKt1CD + JJt$E %U3BZ0{{}}HOH 1 !&&u-D<< ? ?<<d+DrV   z[
	]c                D    U R                  UR                  SU5      5      $ )z1Cleanse, encode, and return attribute value text.r  )r  sub)rS   r  
whitespaces      rT   attvalLaTeXTranslator.attval  s     {{:>>#t455rV   c                J    [        UR                  [        R                  5      $ )z@Check whether a node represents an inline or block-level element)
isinstancer  r   TextElementr   s     rT   	is_inlineLaTeXTranslator.is_inline  s    $++u'8'899rV   c                l    U R                   R                  SR                  S US    5       5      5        g)z)Append hypertargets for all ids of `node`%
c              3  ,   #    U  H
  nS U-  v   M     g7f)z"\raisebox{1em}{\hypertarget{%s}{}}NrH  )r  r   s     rT   r  6LaTeXTranslator.append_hypertargets.<locals>.<genexpr>&  s       #=0;" $J#%$&0;s   idsN)r  r:   rt   r   s     rT   append_hypertargets#LaTeXTranslator.append_hypertargets"  s0     	

 #=04U#= = 	>rV   c                p  ^  [        U 4S jUS    5       5      nU(       a  SOSnUS    Vs/ s H+  nXR                  T R                  5      ;   d  M#  U SU S3PM-     n	nU	(       aJ  U(       a  U	R                  SS	5        U(       a  U	R	                  S
5        U(       a  U	R                  SS
5        U	$ s  snf )a  Return label definitions for IDs of `node`.

Make labels for all IDs that are either explicit or referenced in
the document (i.e. not for section headings that are not referenced).

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.
If `pre_nl` is True, a newline is prepended if there are labels.

Provisional.
c              3     >#    U  H>  nTR                   R                  U   (       d  M#  TR                   R                  U   v   M@     g 7frN   )r_   	nametypesnameids)r  rx   rS   s     rT   r  0LaTeXTranslator.ids_to_labels.<locals>.<genexpr>7  s;      ='4t"mm55d; 74==006'4s
   "A	 A	names\protectr.   r  \label{r]  r   z\phantomsectionro   )r  unionr  r  r:   )
rS   r  
set_anchorprotectnewlinepre_nlexplicit_IDsprefixIDr  s
   `         rT   ids_to_labelsLaTeXTranslator.ids_to_labels)  s      ='+G}= = !(R7;E{ <{--dkk:: -VHIbT,{ <a!34d#a&<s   "B3B3c                   US    Vs/ s H  o"R                  S5      (       d  M  UPM     nnU(       aI  US   R                  S5      US'   US    Vs/ s H  nUR                  S5      (       a  M  UPM     snUS'   ggs  snf s  snf )z8Convert ``align-*`` class arguments into alignment args.r  zalign-r  r  N)r  removeprefix)rS   r  r  r  s       rT   set_align_from_classes&LaTeXTranslator.set_align_from_classesF  s     !%YL>>(3KL!"I228<DM.29o @os&)nnX&>  #o @DO  M@s   A>A>B0Bc                    UR                  SU5      nUS:X  a  U R                  R                  S5        g US:X  a  U R                  R                  S5        g US:X  a  U R                  R                  S5        g g )Nr  r  z\raggedright
r  z\centering
r  z\raggedleft
)r  r  r:   )rS   r  r   r  s       rT   insert_align_declaration(LaTeXTranslator.insert_align_declarationO  s`    '*F?HHOO-.hHHOOO,gHHOO,- rV   c                l    Uc  UnU R                   (       a  g [        [        U5      U R                  U'   g rN   )r  rc   rJ  rC   )rS   featurerE  s      rT   provide_fallback LaTeXTranslator.provide_fallbackX  s-    ;C##%lG<srV   c                b   [        UR                  [        R                  5      (       d  U R                  R                  S5        US    H  nUR                  S5      (       a`  U R                  R                  USS 5      nU(       a9  SU R                  R                  U'   U R                  R                  SU-  5        Mw  My  [        U[        R                  5      (       a  U[        R                  S/-   ;   a  M  U R                  S	S
5        U R                  R                  SU-  5        M     g)z6Open a group and insert declarations for class values.ro   r  	language-	   NTz\begin{selectlanguage}{%s}
r  duclassDUclassz\begin{DUclass}{%s}
)r   r  r   compoundr  r:   r  r  r  r  rW  r   r   r&  rS   r  r  r  s       rT   duclass_openLaTeXTranslator.duclass_open_  s    $++u~~66HHOOD!	?C~~k**::33CG<:>DJJ--h7HHOO$Ch$NO  T5;;//V66:K9LLL%%i; 83 >? #rV   c                   [        US   5       H  nUR                  S5      (       aD  U R                  R                  USS 5      nU(       a  U R                  R                  S5        M[  M]  [        U[        R                  5      (       a  U[        R                  S/-   ;   a  M  U R                  SS5        U R                  R                  S	5        M     g)
z$Close a group of class declarations.r  r)  r*  Nz\end{selectlanguage}
r  r+  r,  \end{DUclass}
)reversedr  r  r  r  r:   r   r   rW  r   r   r&  r.  s       rT   duclass_closeLaTeXTranslator.duclass_closep  s    DO,C~~k**::33CG<HHOO$=> T5;;//V66:K9LLL%%i; 23 -rV   c                Z    U R                   R                  U R                  5        Xl        g rN   )r  r:   r  )rS   new_outs     rT   push_output_collector%LaTeXTranslator.push_output_collector~  s    dhh'rV   c                \    U R                   nU R                  R                  5       U l         U$ rN   )r  r  rC  )rS   old_outs     rT   pop_output_collector$LaTeXTranslator.pop_output_collector  s$    ((>>%%'rV   c                   U HC  n[        U[        R                  [        R                  [        R                  45      (       a  MC    O   g[        U[        R
                  [        R                  45      (       a  U R                  U5      $ [        U[        R                  5      (       a  g[        U[        R                  [        R                  45      (       d  gg)a  
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)rS   r  childs      rT   rD  LaTeXTranslator.term_postfix  s     Eeeoou~~&+nn&6 7 7 
 eeoou~~>??$$U++eU[[))#%%//53C3C!DEE!rV   c                t    U R                   R                  U R                  UR                  5       5      5        g rN   )r  r:   r  astextr   s     rT   
visit_TextLaTeXTranslator.visit_Text  s!    DKKM23rV   c                    g rN   rH  r   s     rT   depart_TextLaTeXTranslator.depart_Text      rV   c                P    US   R                  SS5        U R                  U5        g )Nr  r   abbreviationr  visit_inliner   s     rT   visit_abbreviation"LaTeXTranslator.visit_abbreviation  s$    Yq.1$rV   c                &    U R                  U5        g rN   depart_inliner   s     rT   depart_abbreviation#LaTeXTranslator.depart_abbreviation      4 rV   c                P    US   R                  SS5        U R                  U5        g )Nr  r   acronymrS  r   s     rT   visit_acronymLaTeXTranslator.visit_acronym  s$    Yq),$rV   c                &    U R                  U5        g rN   rX  r   s     rT   depart_acronymLaTeXTranslator.depart_acronym  r\  rV   c                4    SU l         U R                  U5        g )NT)r  visit_docinfo_itemr   s     rT   visit_addressLaTeXTranslator.visit_address  s    "%rV   c                4    U R                  U5        SU l        g r  )depart_docinfo_itemr  r   s     rT   depart_addressLaTeXTranslator.depart_address  s      &#rV   c                   US    Vs/ s H  nUS:w  d  M  UPM     snUS'   U R                   R                  (       at  [        R                  U R                  S'   SUS   ;   a  [        R
                  U R                  S'   U R                  R                  SSR                  US   5      -  5        g U R                  S5        SUS   ;   a  U R                  S5        [        U[        R                  5      (       d#  U =R                  U R                  USS9-  sl        U R                  U5        U R                  R                  S5        g s  snf )	Nr  
admonitionr~  z
\DUadmonition[%s]{r  Tr  z\begin{DUadmonition})ru   r<   rJ  admonition_legacyrC   error_legacyr  r:   rt   r&  r   r   system_messager  r/  )rS   r  r  s      rT   visit_admonition LaTeXTranslator.visit_admonition  s   *.y/ 3/3!\1 / 3Y==//+7+I+IDNN<($y/)*6*C*Cw'HHOO3CHHT)_4MMNl+d9o%!!'*$ 4 455HH**4*==H$/03s
   
EEc                    U R                   R                  (       a  U R                  R                  S5        g U R                  R                  S5        U R	                  U5        g )N}
z\end{DUadmonition}
)ru   r<   r  r:   r4  r   s     rT   depart_admonition!LaTeXTranslator.depart_admonition  sA    ==//HHOOE"/04 rV   c                   U R                   R                  U R                  UR                  5       5      5        [	        UR
                  [        R                  5      (       a  U R                  / 5        g U R                  U5        g rN   )
r  r:   r  rJ  r   r  r   authorsr8  re  r   s     rT   visit_authorLaTeXTranslator.visit_author  sT    dkk$++-89dkk5==11&&r*##D)rV   c                    [        UR                  [        R                  5      (       a;  U R	                  5       nU R
                  R                  SR                  U5      5        g U R                  U5        g rL  )	r   r  r   ry  r<  r  r:   rt   ri  )rS   r  author_names      rT   depart_authorLaTeXTranslator.depart_author  sL    dkk5==11335KHHOOBGGK01$$T*rV   c                &    U R                  U5        g rN   re  r   s     rT   visit_authorsLaTeXTranslator.visit_authors      %rV   c                &    U R                  U5        g rN   ri  r   s     rT   depart_authorsLaTeXTranslator.depart_authors        &rV   c                    U =R                   U R                  USS9-  sl         U R                  U5        U R                   R                  S5        g )NTrn  z\begin{quote}r  r  r/  r:   r   s     rT   visit_block_quote!LaTeXTranslator.visit_block_quote  s?    D&&tD&99$()rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\end{quote}
r  r:   r4  r   s     rT   depart_block_quote"LaTeXTranslator.depart_block_quote  s!    ()4 rV   c                    U =R                   U R                  USS9-  sl         U R                  U5        U R                   R                  S5        g )NTrn  z\begin{itemize}r  r   s     rT   visit_bullet_list!LaTeXTranslator.visit_bullet_list  s?    D&&tD&99$*+rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\end{itemize}
r  r   s     rT   depart_bullet_list"LaTeXTranslator.depart_bullet_list  s!    *+4 rV   c                \    U R                   R                  S5        U R                  U5        g )N\textsuperscript{r  r:   rT  r   s     rT   visit_superscript!LaTeXTranslator.visit_superscript  s!    ,-$rV   c                \    U R                  U5        U R                  R                  S5        g Nr]  rY  r  r:   r   s     rT   depart_superscript"LaTeXTranslator.depart_superscript       4 rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\textsubscript{r  r   s     rT   visit_subscriptLaTeXTranslator.visit_subscript  s!    *+$rV   c                \    U R                  U5        U R                  R                  S5        g r  r  r   s     rT   depart_subscript LaTeXTranslator.depart_subscript	  r  rV   c                \    U R                   R                  S5        U R                  U5        g )N	\caption{r  r   s     rT   visit_captionLaTeXTranslator.visit_caption  s     %$rV   c                \    U R                  U5        U R                  R                  S5        g Nru  r  r   s     rT   depart_captionLaTeXTranslator.depart_caption  s     4 rV   c                ~    U R                  S5        U R                  R                  S5        U R                  U5        g )Ntitlereferencez\DUroletitlereference{)r&  r  r:   rT  r   s     rT   visit_title_reference%LaTeXTranslator.visit_title_reference  s0    ./12$rV   c                \    U R                  U5        U R                  R                  S5        g r  r  r   s     rT   depart_title_reference&LaTeXTranslator.depart_title_reference  r  rV   c                    U R                   (       a  U R                  / 5        g U R                  R                  S5        U R	                  U5        g )Nz\begin{figure}[b])r&   r8  r  r:   r	  r   s     rT   visit_citationLaTeXTranslator.visit_citation  s8    ##&&r*HHOO01$$T*rV   c                   U R                   (       aZ  U R                  S   nSR                  U R                  SS  5      nU R                  R	                  X#/5        U R                  5         g U R                  R	                  S5        g )Nr   r.   r  \end{figure}
)r&   r  rt   r  r:   r<  )rS   r  labelr  s       rT   depart_citationLaTeXTranslator.depart_citation%  sa    ##HHQKE77488AB<(DNN!!5-0%%'HHOO-.rV   c                   U R                   (       a*  U R                  R                  UR                  5       /5        U R                  (       a\  U R
                  (       d#  U R                  R                  S5        SU l        g U R                  S   S;   d   S5       eU R                  S	 g SnSU;   a  US   nO"SU;   a  U R                  R                  US      nU R                  R                  S	U-  5        g )
Nz\cite{Tr  r  ro   z2unexpected non-whitespace while in reference labelr.   rd  refnamez\hyperlink{%s}{[)	r  r  r:   rJ  r&   r  r  r_   r  )rS   r  hrefs      rT   visit_citation_reference(LaTeXTranslator.visit_citation_reference/  s    ;;NN!!4;;=/2##77	*7;4xx|{2 MLM2HHRLD$G}d"}},,T)_=HHOO/$67rV   c                   U R                   (       a  SnUR                  SSS9n[        U[        R                  5      (       aE  UR                  5       S;   a1  UR                  SSS9n[        U[        R                  5      (       a  SnU(       a  U R                  R                  S5        g U R                  R                  S5        SU l	        g U R                  R                  S5        g )NFTdescendsiblingsr  r  r]  z]})
r&   	next_noder   r   TextrJ  citation_referencer  r:   r  )rS   r  followup_citationsiblingsibling2s        rT   depart_citation_reference)LaTeXTranslator.depart_citation_referenceB  s    ## %nnUTnBG7EJJ//NN$3",,UT,Jh(@(@AA(,% $$7<4HHOOD!rV   c                :    U R                   R                  S5        g )Nz	(\textbf{r  r:   r   s     rT   visit_classifier LaTeXTranslator.visit_classifierU  s    %rV   c                    U R                   R                  S5        UR                  [        R                  SSS9(       a  U R                   R                  S5        g g )Nz})FTr  ro   )r  r:   r  r   termr   s     rT   depart_classifier!LaTeXTranslator.depart_classifierX  s>    >>%**ed>CHHOOD! DrV   c                :    U R                   R                  U5        g rN   )r  r  r   s     rT   r  LaTeXTranslator.visit_colspec]  s    ''-rV   c                    g rN   rH  r   s     rT   depart_colspecLaTeXTranslator.depart_colspec`  rP  rV   c                "   [        UR                  [        R                  5      (       d  U R                  R                  S5        U R                  R                  SUR                  5       R                  SS5      -  5        [        R                  e)Nro   z%% %s
r  )	r   r  r   r-  r  r:   rJ  r  SkipNoder   s     rT   visit_commentLaTeXTranslator.visit_commentc  sY    $++u~~66HHOOD!	DKKM$9$9$$GGHnnrV   c                    g rN   rH  r   s     rT   depart_commentLaTeXTranslator.depart_commentj  rP  rV   c                   [        UR                  [        R                  5      (       a  U R                  R                  S5        U =R                  U R                  USS9-  sl        US   R                  SS5        U R                  U5        g )Nro   Trn  r  r   r-  )	r   r  r   r-  r  r:   r  r  r/  r   s     rT   visit_compoundLaTeXTranslator.visit_compoundm  sg    dkk5>>22HHOOD!D&&tD&99Yq*-$rV   c                &    U R                  U5        g rN   r4  r   s     rT   depart_compoundLaTeXTranslator.depart_compoundt  r\  rV   c                &    U R                  U5        g rN   r  r   s     rT   visit_contactLaTeXTranslator.visit_contactw  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_contactLaTeXTranslator.depart_contactz  r  rV   c                l    U =R                   U R                  USS9-  sl         U R                  U5        g NTrn  )r  r  r/  r   s     rT   visit_containerLaTeXTranslator.visit_container}  s.    D&&tD&99$rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_container LaTeXTranslator.depart_container  r\  rV   c                &    U R                  U5        g rN   r  r   s     rT   visit_copyrightLaTeXTranslator.visit_copyright  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_copyright LaTeXTranslator.depart_copyright  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   
visit_dateLaTeXTranslator.visit_date  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_dateLaTeXTranslator.depart_date  r  rV   c                    g rN   rH  r   s     rT   visit_decoration LaTeXTranslator.visit_decoration      rV   c                    g rN   rH  r   s     rT   depart_decoration!LaTeXTranslator.depart_decoration  rP  rV   c                    g rN   rH  r   s     rT   visit_definition LaTeXTranslator.visit_definition  rP  rV   c                    g rN   rH  r   s     rT   depart_definition!LaTeXTranslator.depart_definition  rP  rV   c                    U =R                   U R                  USS9-  sl         U R                  U5        U R                   R                  S5        g )NTrn  z\begin{description}
r  r   s     rT   visit_definition_list%LaTeXTranslator.visit_definition_list  s?    D&&tD&99$01rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\end{description}
r  r   s     rT   depart_definition_list&LaTeXTranslator.depart_definition_list  !    ./4 rV   c                J    U =R                   U R                  USS9-  sl         g NTr  r  r  r   s     rT   visit_definition_list_item*LaTeXTranslator.visit_definition_list_item       D&&tT&::rV   c                ^    UR                  SSS9b  U R                  R                  S5        g g )NFTr  ro   )r  r  r:   r   s     rT   depart_definition_list_item+LaTeXTranslator.depart_definition_list_item  s+    >>%$>7CHHOOD! DrV   c                :    U R                   R                  S5        g )Nr  r  r   s     rT   visit_description!LaTeXTranslator.visit_description  s    rV   c                    g rN   rH  r   s     rT   depart_description"LaTeXTranslator.depart_description  rP  rV   c                :    U R                  U R                  5        g rN   )r8  rI   r   s     rT   visit_docinfoLaTeXTranslator.visit_docinfo  s    ""4<<0rV   c                   U R                  5         U R                  (       aj  SU R                  S'   U R                  SS5        U R                  S5        U R                  R	                  SS5        U R                  R                  S5        g g )	Nz\usepackage{tabularx}tabularxprovidelength_providelengthrI   r   z@
% Docinfo
\begin{center}
\begin{tabularx}{\DUdocinfowidth}{lX}
z\end{tabularx}
\end{center}
)r<  rI   rA   r&  r  r:   r   s     rT   depart_docinfoLaTeXTranslator.depart_docinfo  s}    !!#<<,DDj)!!/3CD!!),LL $L M LL !2 3 rV   c                   Ub  [         R                  " S[        SS9  U R                  (       a,  [	        XR
                  5      (       a  U R                  / 5        g U R                  UR                  5      nU R                  R                  SU-  5        [	        U[        R                  5      (       a  U R                  R                  S5        O`[        U5      [        UR                  5       5      -   S:  a  U R                  R                  S5        OU R                  R                  S5        [	        U[        R                  5      (       a  U R                  / 5        g g )	NzVvisit_docinfo_item(): argument "name" is obsolete and will be removed in Docutils 0.24r8  r9  z\textbf{%s}: &z {\raggedright
@   
  r  )r;  r<  r=  r4   r   TITLEDATA_NODESr8  r  tagnamer  r:   r   addressr  rJ  ry  )rS   r  rx   r  s       rT   re  "LaTeXTranslator.visit_docinfo_item  s    MM B,< !!j7K7K&L&L&&r*''5EHHOO-56$.. 34Uc$++-0025'$$..**2. /rV   c                  ^ U R                   (       Ga  [        XR                  5      (       Ga  [        U[        R                  5      (       a  SnUR                  SSSS9 Hv  n[        U[        R                  [        R                  45      (       a    OI[        U[        R                  [        R                  [        R                  45      (       d  Mt  SnMx     OSnUR                  U R                  5       5      n[        U[        R                  5      (       a  U R                  R                  U5        g [        U[        R                  [        R                  45      (       aF  U R                  S   S   (       a  U R                  R                  U/5        g X@R                  S   S'   g U R                  S   R                  U5        g [        U[        R                  5      (       a  U R                  R                  S	5        O[        U[        R                  5      (       a  U R                  5       n[!        U R"                  R$                  5       H  m['        U4S
 jU 5       5      (       a  M    O   U R                  R                  TS-   R                  U5      5        U R                  R                  S5        g )Nz \and FT)include_selfr  r  z \quad r.   r  r   r]  c              3  .   >#    U  H
  nTU;   v   M     g 7frN   rH  )r  rx   seps     rT   r  6LaTeXTranslator.depart_docinfo_item.<locals>.<genexpr>  s     D|tsd{|s   r  rA  )r4   r   r6  r   ry  r  authorr8  contactorganizationrt   r<  r  r:   r  r  r3  r  r  any)rS   r  sr   r  author_namesr=  s         @rT   ri  #LaTeXTranslator.depart_docinfo_item  s   !!!j7K7K&L&L$.. ,,E504 ' 6B!"u||U]]&CDD!"u}}emm','9'9'; < <&6 66$3356D$

++		  &D5<<"?@@ $$R(+%%,,dV4/3%%b)!, !!"%,,T2$..$D%--00#88:#D$8$8$J$JKCD|DDD L S| <=HHOOI&rV   c                &    U R                  U5        g rN   )visit_literal_blockr   s     rT   visit_doctest_block#LaTeXTranslator.visit_doctest_block  r  rV   c                &    U R                  U5        g rN   )depart_literal_blockr   s     rT   depart_doctest_block$LaTeXTranslator.depart_doctest_block  s    !!$'rV   c                    U R                   (       d-  [        UR                  5       [        R                  5      (       a>  U R
                  R                  S:H  nU =R                  U R                  USUS9-  sl        g g )Nr  Fr  r  )	r4   r   r  r   rF   ru   r  r  r  rS   r  r  s      rT   visit_documentLaTeXTranslator.visit_document
  sh    !!Z0@%++%N%N}}22h>G!3!3DU<C "4 "E E &OrV   c           
     r   U R                   R                  (       d  U R                   R                  S;  a  U R                  5       U R                  S'   U R                  R                  [        R                  U R                  -  5        U R                  R                  SS5      (       aH  U R                  R                  SSU R                  U R                  R                  SS5      5      -  5        U R                  (       aF  U R                  S-   R!                  U R                  5      nU R                  R                  SU-  5        U R                  (       a'  U =R                  S	/U R                  -   S
/-   -  sl        U R"                  (       d#  U R$                  (       d  U R&                  S//:w  a  U R)                  5         U R*                  (       a  U R-                  5         SU R                  ;   a,  U R.                  (       d  U R0                  R                  S5        [3        U R                  R5                  5       5       Vs/ s H  nU R                  U   PM     snU l        [3        U R6                  R5                  5       5       Vs/ s H  nU R6                  U   PM     snU l        g s  snf s  snf )N)r.   r   r  rF   r.   r   z  pdftitle={%s},r  z  pdfauthor={%s}z\hypersetup{r]  minitocz'
\faketableofcontents % for local ToCs
)r  r  r  rA   rD   r:   rJ  linkingr  r_   r  r  r  r  r  r  rt   rF   r  r  
make_titler  append_bibliogaphyhas_latex_tocr  r  r  rC   )rS   r  ry  rE  s       rT   depart_documentLaTeXTranslator.depart_document  s    JJ%%zz""/9)-Dg&\11D4I4IIJ==Wb))LL#5 $DMM,=,=gr,J K$L M>>,,s288HGLL 2W <=<<MMo.=EEM::d&7&7RD6&AOO>>##%)))$2D2DHHOOHI )/t/@/@/E/E/G(HJ(H "..s3(HJ &,DNN,?,?,A%BD%Bc ..-%BDJDs   J/J4c           	        SR                  U R                  5      /nU R                  (       a  XR                  -  nU R                  (       a0  USSSR                  U R                  5      -  /U R                  -   -  nU R
                  R                  SSR                  U5      -  5        U R                   Vs/ s H  nSR                  [        S U5      5      PM      nnU R
                  R                  SSR                  U5      -  5        U R
                  R                  S	S
R                  U R                  5      -  5        U R                  R                  S5        g s  snf )Nr.   r  z\DUdocumentsubtitle{%s}z
\title{%s}%
  r  z\author{%s}z \and
z	\date{%s}, z\maketitle
)rt   rF   r  rG   r  rE   r:   r  r  r  rH   )rS   	title_argauthor_entryry  s       rT   rV  LaTeXTranslator.make_title1  s"    WWTZZ()	::***I==%4rwwt}}7MM"223 3I 	mgll9.EEF
 (,'8'8:'8| ==l!;<'8 	 :nzw/GGHlTYYtyy-AAB 	$$_5:s   8%Ec           
        U R                   (       af  U R                  R                  SU R                   S   -  5        U R                  R                  SSR                  U R                   SS  5      -  5        g U R                  (       a  SnU R
                   H%  n[        U5      [        US   5      :  d  M   US   nM'     U R                  R                  SU-  5        U R
                   HF  nUS   R                  SS	5      nU R                  R                  S
US   < SU< SUS   < S35        MH     U R                  R                  S5        g g )Nz
\bibliographystyle{%s}
r   z\bibliography{%s}
r  r  r.   z
\begin{thebibliography}{%s}
rf  re  z	\bibitem[rh  }{ru  z\end{thebibliography}
)r  r  r:   rt   r&   r  r  r  )rS   widest_labelbibitemcite_keys       rT   rW  "LaTeXTranslator.append_bibliogaphyP  s    ;;HHOO9DKKNJKHHOO2SXXdkk!"o5NNO%%L>>|$s71:6#*1:L * HHOO>() *>>"1:--eS9!(Xwqz!C D *
 HHOO67 &rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\emph{r  r   s     rT   visit_emphasisLaTeXTranslator.visit_emphasisf  s     	"$rV   c                \    U R                  U5        U R                  R                  S5        g r  r  r   s     rT   depart_emphasisLaTeXTranslator.depart_emphasisj  r  rV   c                T   U R                   R                  U R                   R                  5       5      (       ap  U R                  R	                  S5        U R                   R                  5         U R                   R                  U R                   R                  5       5      (       a  Mo  g g )N & )r  rR  rU  r  r:   rZ  rR   s    rT   (insert_additional_table_colum_delimiters8LaTeXTranslator.insert_additional_table_colum_delimitersp  s    ++ $ 1 1 B B DF FHHOOE"))+ ++ $ 1 1 B B DF FrV   c           	     ^   U R                   R                  5       S:X  a  U R                  5         OU R                  R	                  S5        SU;   a  SU;   a  [        S5      eSU;   a  SU R                  S'   US   S-   nU R                   R                  U R                   R                  5       U5        U R                  R	                  S	X R                   R                  5       4-  5        U R                  R	                  S
5        OSU;   a  U R                   R                  5       S:X  a  U R                   R                  5       nOSnUS   S-   nU R                  R	                  SUUU R                   R                  U R                   R                  5       U5      U R                   R                  5       4-  5        U R                  R	                  S
5        OU R                  R	                  S5        [        U5      (       a  [        UR                  R                  [        R                   5      (       d  U R                   R#                  5       (       a7  U R                  R	                  S5        U R                  R	                  S
5        OU R                  R	                  S5        U R                   R$                  (       dS  U R                  S   R'                  S5      (       a0  UR)                  5       (       a  U R                  R	                  S5        U R                   R+                  5         g )Nr   rn  morerowsmorecolszWCells that span multiple rows *and* columns currently not supported by the LaTeX writerz\usepackage{multirow}multirowr  z\multirow{%d}{%s}{r]  r.   z\multicolumn{%d}{%s%s%s}{\textbf{r  r\  ra  )r  rU  ro  r  r:   NotImplementedErrorrA   rN  r  r  r  r(  r  r   r  r   theadr]  r  r  rJ  rZ  )rS   r  mrowsbar1mcolss        rT   rZ  LaTeXTranslator.visit_entryv  s   --/1499;HHOOE" *"4% '< = = ,DDj)$q(E)) -->>@%IHHOO1"$5$5$F$F$HIJ KLL$4   113q8((99;$q(EHHOO8"!!..DD!%!2!2!C!C!EuN!..??A	CC D LL$LL# t99*T[[%7%7EE!..==??HHOOK(LL$LL# !!00%%c**HHOOC %%'rV   c                    U R                   R                  U R                  R                  5       5        U R                   R                  U R                  R                  5       5        U R	                  5         g rN   )r  r:   r  rC  ro  r   s     rT   depart_entryLaTeXTranslator.depart_entry  sH    ((*+((*+557rV   c                8    U R                   R                  5         g rN   )r  r>  r   s     rT   r>  LaTeXTranslator.visit_row  s    ##%rV   c                j    U R                   R                  U R                  R                  5       5        g rN   )r  r   r  rI  r   s     rT   rI  LaTeXTranslator.depart_row  s!    ))4467rV   c                   SSSSSSS.n/ SQnSnU R                   (       a  U R                  (       a^  U R                  (       aM  U R                  (       d<  S	R	                  S
 U R
                  S U R                    5       5      U R                  -   nU R                  (       a  X@R                  S   -  nXAR                  SS5      -  nX!R                  SS5         nUR                  SS	5      n[        U R                  5      S-   nS[        U5      R                  5       -   nU< SU< SU< SU< 3n	U R                  R                  U	5        U =R                  U R                  USS9-  sl        U R                  U5        US::  aM  U R                  R                  S5        XEU4X7S-
     :w  a$  U R                  R                  SU< SU	< S35        OiSU-  U R                  U'   U R                  R                  S5        U R                  R                  SU	-  5        U R                  R                  SU-  5        SU;   a&  U R                  R                  SXS   S-
  4-  5        g g ) Nr.   r   alphAlphromanRoman)r.   r   
loweralpha
upperalpha
lowerroman
upperroman))r.   r   r2   )(r  ))r.   r  r2   )r.   r  r2   r2   c              3  8   #    U  H  n[        U5      v   M     g 7frN   )r`  )r  ns     rT   r  8LaTeXTranslator.visit_enumerated_list.<locals>.<genexpr>  s      "$"K ./#a&&"K   r  r  enumtyper  r  enumr[  r\  r]  Trn     z\begin{enumerate}z
\renewcommand{\labelrb  z\newcounter{%s}z\begin{list}z{%s}z{\usecounter{%s}}r#  z
\setcounter{%s}{%d})r7   r8   section_levelr  rt   r  r  r  r  r   to_lowercaser:   r  r  r/  rC   )
rS   r  typesdefault_labelsr  r  r  
enum_levelcounter_namer  s
             rT   visit_enumerated_list%LaTeXTranslator.visit_enumerated_list  s!   #%%&&(0 $$338J8J22 "$"&"6"67J8J8J"K"$ $&*&G&GH ))44R88((8R((*h78(C(334Q6
Z 8 E E GG"((L&I""))%0D&&tD&99$?HHOO01&)^qL-II!-u!6 7 ,>+LDNN<(HHOOO,HHOOFUN+HHOO0<?@d?HHOO4)=?;< = rV   c                    [        U R                  5      S::  a  U R                  R                  S5        OU R                  R                  S5        U R	                  U5        U R                  R                  5         g )Nr  z\end{enumerate}
z\end{list}
)r  r  r  r:   r4  rC  r   s     rT   depart_enumerated_list&LaTeXTranslator.depart_enumerated_list  sV    t))*a/HHOO01HHOOO,4 ""&&(rV   c                J    U =R                   U R                  USS9-  sl         g r  r  r   s     rT   visit_fieldLaTeXTranslator.visit_field  s     D&&tD&99rV   c                    g rN   rH  r   s     rT   depart_fieldLaTeXTranslator.depart_field  rP  rV   c                    [        UR                  R                  [        R                  5      (       d+  U R                  R                  U R                  U5      5        g g rN   )r   r  r   rI   r  r:   rD  r   s     rT   visit_field_body LaTeXTranslator.visit_field_body  s=    $++,,emm<<HHOOD--d34 =rV   c                n    U R                   U R                  L a  U R                   R                  S5        g g )Nr  r  rI   r:   r   s     rT   depart_field_body!LaTeXTranslator.depart_field_body	  s'    88t||#HHOOJ' $rV   c                    U =R                   U R                  USS9-  sl         U R                  U5        U R                   U R                  La-  U R	                  S5        U R                   R                  S5        g g )NTrn  	fieldlistz\begin{DUfieldlist})r  r  r/  rI   r&  r:   r   s     rT   visit_field_list LaTeXTranslator.visit_field_list	  sb    D&&tD&99$884<<'!!+.HHOO23 (rV   c                    U R                   U R                  La  U R                   R                  S5        U R                  U5        g )Nz\end{DUfieldlist}
)r  rI   r:   r4  r   s     rT   depart_field_list!LaTeXTranslator.depart_field_list	  s1    884<<'HHOO234 rV   c                    U R                   U R                  L a  U R                   R                  S5        g U R                   R                  S5        g )Nru  z
\item[{r  r   s     rT   visit_field_name LaTeXTranslator.visit_field_name	  s4    88t||#HHOOK( HHOOL)rV   c                    U R                   U R                  L a  U R                   R                  S5        g U R                   R                  S5        g )Nz}: &z:}]r  r   s     rT   depart_field_name!LaTeXTranslator.depart_field_name	  s2    88t||#HHOOF#HHOOE"rV   c                ^   [         R                  U R                  S'   U =R                  U R	                  USS9-  sl        U R                  U5        UR                  R                  SS5      nUS:w  a  U R                  R                  SU-  5        g U R                  R                  S5        g )NrV  Trn  r  r  z\begin{figure} %% align = "%s"z\begin{figure})	rJ  rV  rA   r  r  r/  r  r  r:   )rS   r  	alignments      rT   visit_figureLaTeXTranslator.visit_figure	  s    %1%7%7'"D&&tD&99$ OO'':	  HHOO=	IJHHOO-.rV   c                \    U R                   R                  S5        U R                  U5        g )Nr  r  r   s     rT   depart_figureLaTeXTranslator.depart_figure.	  s!    )*4 rV   c                \    U R                  / 5        U R                  R                  S5        g )Nz\newcommand{\DUfooter}{r8  r  r:   r   s     rT   visit_footerLaTeXTranslator.visit_footer2	  !    ""2&23rV   c                    U R                   R                  S5        SR                  U R                   5      U R                  S'   U R	                  5         g )Nr]  r.   z~footerr  r:   rt   rA   r<  r   s     rT   depart_footerLaTeXTranslator.depart_footer6	  ;    ')wwtxx'8)$!!#rV   c           	        U R                   (       d   US   S   nU R                  S5        U R                  US   R	                  5       5      nU R
                  R                  S:X  a  SU-  nU R                  R                  SUS   S   < S	U< S	U< S
35        g U R                  (       d  [        R                  eg ! [         a    Sn Nf = f)Nbackrefsr   r.   	footnotesr   z[%s]z%
\DUfootnotetext{r  rb  z}{%)r>   r  r&  r  rJ  ru   footnote_referencesr  r:   r  r   r  )rS   r  backrefr  s       rT   visit_footnoteLaTeXTranslator.visit_footnote;	  s    ##z*1- !!+.KKQ 01E}}00J>HHOO!%[^We= >$$ ..  %  s   B> >CCc                    [        US   [        R                  5      (       a  U R                  R	                  S5        U R
                  (       d  U R                  R	                  S5        g g )Nr  z
\smallskipru  )r   r   
Admonitionr  r:   r>   r   s     rT   depart_footnoteLaTeXTranslator.depart_footnoteL	  sG    d2h 0 011HHOOM*##HHOOE" $rV   c                   US   nU R                   (       Gd  [        UR                  [        R                  5      (       ai  [        UR                  R                  [        R
                  5      (       a  U R                  R                  S5        U R                  R                  S5        U R                  R                  S:X  a  U R                  S5        SnOU R                  S5        SnU R                  R                  U< S	US
   S   < SU< S35        g U R                  R                  U   n[        U[        R                  5      (       d-  U R                  R                  S5        U R                  U5        g X R                  ;   a.  U R                  R                  SU-  5        [        R                   eU R"                  (       aI  U R                  R                  SU-  5        U R"                  R                  U5        [        R                   eU R"                  R                  U5        Sn[        UR                  [        R                  5      (       aP  [        UR                  R                  [        R
                  5      (       a  U R                  R                  S5        SnUS   =(       a,    U R                  R$                  R'                  US   S   / 5      nU R"                  (       Ga]  U R"                  S   nU R                  R                  U   nU R                  R)                  U5        U =R                  US	/-  sl        U(       a  U =R                  SUS/-  sl        U R                  R                  S5        U R+                  / 5        UR-                  U 5        SR/                  U R1                  5       5      n	SR/                  U	R3                  5       5      n	U R                  R                  U	5        U R                  R                  S5        U R"                  R5                  S5        SnSnU R"                  (       a  GM]  [        R6                  e)Nrd  z\texorpdfstring{r  r   bracket_footnoterefsz\DUbracketfootnotemarkr  z\DUfootnotemarkr\  r  r   rb  r  z\footref{%s}z%
\footnotez%
\texorpdfstring{z%
 \protect\footnoter  r  r]  ra  r.   r5  z
}z(%
\refstepcounter{footnote}\footnotetextT)r>   r   r  r   rF   r  r  r:   ru   r  r&  r_   r  rA  visit_referencer  r  r  refnamesr  r  r8  r`   rt   r<  
splitlinesrC  SkipChildren)
rS   r  r  r  targetfootnote_cmd	add_labelr  rA  notes
             rT   visit_footnote_reference(LaTeXTranslator.visit_footnote_referenceS	  s#   G}###$++u{{33dkk00%--@@HHOO$78,}}00J>%%&<=/%%k2(HHOOc4;q>4HI]]&&t,Ffenn55 45$$T*///$ 67nn$""$ 67##**40nn$&&t,*L$++u{{33dkk00%--@@HHOO$:;8w HDMM,B,B,F,F06w0BB-HI%%%((+==,,R0((,,R0\3//HHR 55H$**2.""4(wwt88:;{{4??#45%&##''*L 	' %%%( $$$rV   c                   U R                   (       d  U R                  R                  S5        Of[        U R                  R
                  US      [        R                  5      (       d-  U R                  U5        U R                  R                  S5        g [        UR                  R                  [        R                  5      (       aF  [        UR                  [        R                  5      (       a  U R                  R                  S5        g g g )Nr]  rd  z}{})r>   r  r:   r   r_   r  r   rA  depart_referencer  r  rF   r   s     rT   depart_footnote_reference)LaTeXTranslator.depart_footnote_reference	  s    ##HHOOC DMM--d7m<ennMM!!$'HHOOC dkk((%--  &t{{EKK@@HHOOE" ArV   c                &   [        UR                  [        R                  5      (       a  [        R                  e[        UR                  [        R
                  5      (       d   eU R                  (       d  U R                  R                  U5        g g rN   )	r   r  r   rA  r  rB  r&   r  r:   )rS   r  bracketr   s       rT   label_delimLaTeXTranslator.label_delim	  sZ    dkk5>>22.. dkk5>>::::++( ,rV   c                *    U R                  USS5        g)z9footnote or citation label: in brackets or as superscriptri  r  Nr  r   s     rT   visit_labelLaTeXTranslator.visit_label	  s    s$89rV   c                *    U R                  USS5        g )Nrj  r]  r  r   s     rT   depart_labelLaTeXTranslator.depart_label	  s    sC(rV   c                    g rN   rH  r   s     rT   visit_generatedLaTeXTranslator.visit_generated	  rP  rV   c                    g rN   rH  r   s     rT   depart_generated LaTeXTranslator.depart_generated	  rP  rV   c                \    U R                  / 5        U R                  R                  S5        g )Nz\newcommand{\DUheader}{r  r   s     rT   visit_headerLaTeXTranslator.visit_header	  r  rV   c                    U R                   R                  S5        SR                  U R                   5      U R                  S'   U R	                  5         g )Nr]  r.   z~headerr  r   s     rT   depart_headerLaTeXTranslator.depart_header	  r  rV   c                   [         R                  " U5      u  p4US;   a  U$ US;   a  U S3$ US:X  a  US-   S3$ US:X  a	  US-  S	 S
3$ US:X  a	  US-  S	 S3$ US:X  a	  US-  S	 S3$ [        [        U5      (       d  U R	                  SU SU S3US9  OGUS:X  a  [        R
                  U R                  S'   O#U R                  SS5        U R                  U5        U SU S3$ )u   Convert "measure" `length_str` to LaTeX length specification.

Note: the default length unit will change from "bp"
(Postscript point) to "px" in Docutils 1.0.
)emexcmmminpcpxbpccddspmu)r.   r   r  Qr  r  ra  d   gra  vwz\paperwidthvhz\paperheightzUnit "z." not supported by LaTeX.
  Define lenght "\DUz4dimen" in preamble, raw LaTeX, or custom stylesheet.	base_noder  r/  r0  z\DUdimen)r   parse_measurehasattrrJ  r<  r  rC   r&  )rS   
length_strr  r  units        rT   to_latex_lengthLaTeXTranslator.to_latex_length	  s,    ))*5 2 2:WB<3;AgYb>!3;Ci]+..4<Ci],//4<Ci]-00|T**IItf %..2V 4:: !%  & T\#/??DNN4 !!/3CD!!$'TF%((rV   c           	        U R                   U R                  S'   UR                  nU R                  US   SS9nSU;  a  [	        UR
                  [        R                  5      (       d\  [	        UR
                  [        R                  5      (       a8  [	        UR
                  R
                  [        R                  5      (       a  SUS'   U R                  U5        / n/ n/ n[	        UR
                  [        R                  5      (       a)  UR                  U R                  R                  5       5        SSS	S
SSS.nSU;   a0   XrS      nUR                  US   5        UR                  US   5        SU;   a'  UR                  SU R                  US   U5       35        SU;   a  UR                  SUS   S-  S 35        SU;   a'  UR                  SU R                  US   U5       35        UR                  SR                  U R!                  USS95      5        U R#                  U5      (       d:  [	        UR
                  [        R$                  5      (       d  UR                  S5        U R#                  U5      (       d  UR                  S5        UR'                  5         U R                  R)                  U5        UR*                  S:X  a  SU R,                  R.                  ;   a  Sn	OSn	Sn
U(       a  SS R                  U5       S!3n
U R                  R                  S"U	 U
 S#UR1                  5        S$35        U R                  R)                  U5        g ! [         a     GNf = f)%Nr  urir.   )r  r  r  r.   r.   )z\raisebox{-0.5\height}{r]  )z\raisebox{-\height}{r]  )z!\noindent\makebox[\linewidth][c]{r]  )z
\noindent{z\hfill})z\noindent{\hfillr]  )bottommiddletopr  r  r  r   r  heightzheight=scalezscale=r  r  r  zwidth=Tr  ro   z.svgsvg
includesvgincludegraphicsri  r  rj  r[  r\  r]  )r  rA   r  uri2pathr   r  r   figurer  r  r:   r  rC  r(  r  rt   r  r  r-  rB  r   r  ru   r0   r  )rS   r  attrs	imagepathprepostinclude_graphics_optionsalign_codes
align_coder  optionss              rT   visit_imageLaTeXTranslator.visit_image	  s    )-(=(=*%MM%,BM?	%4;;55dkk5??;;"4;;#5#5u||DD!)g''-#% dkk5??33JJtxx||~& 74A10	 e(w8


:a=)JqM* u$++$..uXEFGIe$++fU7^C5G4J,KLe$++--eGndCDEG

2774--dD-ABCt$$dkk5>>::JJt~~d##KKv%%4==3K3K*KC#C##((#;<=Q?G"SE'"Y-?-?-A,B"EF7  s   /M 
M%$M%c                    g rN   rH  r   s     rT   depart_imageLaTeXTranslator.depart_image
  rP  rV   c                d   [         R                  [         R                  [         R                  4n[	        UR
                  U5      =(       d    [	        X5      (       + n[	        U[         R                  5      nU =R                  U R                  XUS9-  sl        US    GH  nUR                  S5      (       a`  U R                  R                  USS  5      nU(       a9  SU R                  R                  U'   U R                  R                  SU-  5        Mx  Mz  U R                  S5        [        [         SU 35      (       a  U R                  SU 35        US	;   a  S
U R"                  S'   US:X  a  [         R$                  U R"                  S'   U R                  R                  SU-  5        GM     g )Nr  r  r)  r*  Tz\foreignlanguage{%s}{inlinezinline role )delinsmarkrC  uz\usepackage{soul}soulr6  rU  z\DUrole{%s}{)r   r  rG   rF   r   r  r  r  r  r  r  r  r  r:   r&  r  rJ  rA   rU  )rS   r  anchor_nodesr  add_newliner  r  s          rT   rT  LaTeXTranslator.visit_inline!
  sY    u~~u{{C$T[[,? <';=
 u7D&&t&MM	?C~~k**::33CG<:>DJJ--h7HHOO$<x$GH  %%h/<<u)=>>))L*>?::0DD%%f-&=1=1C1CD%%g.# 56 #rV   c                X    U R                   R                  S[        US   5      -  5        g )Nr]  r  )r  r:   r  r   s     rT   rY  LaTeXTranslator.depart_inline=
  s     c$y/223rV   c                \    U R                  S5        U R                  R                  S5        g )Nlegendz\begin{DUlegend}r&  r  r:   r   s     rT   visit_legendLaTeXTranslator.visit_legend@
  s!    h'+,rV   c                :    U R                   R                  S5        g )Nz\end{DUlegend}
r  r   s     rT   depart_legendLaTeXTranslator.depart_legendD
  s    +,rV   c                :    U R                   R                  S5        g )Nz\item[] r  r   s     rT   
visit_lineLaTeXTranslator.visit_lineG
  s    $rV   c                :    U R                   R                  S5        g Nro   r  r   s     rT   depart_lineLaTeXTranslator.depart_lineJ
      rV   c                   U R                  SS5        U R                  S5        U R                  U5        [        UR                  [        R
                  5      (       a  U R                  R                  S5        g U =R                  U R                  USS9-  sl        U R                  U5        U R                  R                  S5        U R                  U5        g )Nr/  r0  	lineblockz0\item[]
\begin{DUlineblock}{\DUlineblockindent}
Trn  z\begin{DUlineblock}{0em}
)r&  r  r   r  r   
line_blockr  r:   r  r/  r"  r   s     rT   visit_line_block LaTeXTranslator.visit_line_blockM
  s    o/?@k*##D)dkk5#3#344HHOO J K HH**4*==Hd#HHOO9:))$/rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\end{DUlineblock}
r  r   s     rT   depart_line_block!LaTeXTranslator.depart_line_block[
  r  rV   c                    U =R                   U R                  USS9-  sl         U R                   R                  S5        g )NTrn  z
\item )r  r  r:   r   s     rT   visit_list_itemLaTeXTranslator.visit_list_item_
  s0    D&&tD&99$rV   c                    g rN   rH  r   s     rT   depart_list_item LaTeXTranslator.depart_list_itemc
  rP  rV   c                   SU l         SUS   ;   aI  U R                  R                  S:w  a/  [        R                  U R
                  S'   U R                  SS5        U R                  R                  S5        U R                  U5        g )NTcoder  r-   rU  highlight_rulesz\texttt{)
r  ru   syntax_highlightrJ  rU  rA   r&  r  r:   rT  r   s     rT   visit_literalLaTeXTranslator.visit_literalf
  sl    d9o%..&8)5););Dg&!!"3V<$$rV   c                j    SU l         U R                  U5        U R                  R                  S5        g )NFr]  )r  rY  r  r:   r   s     rT   depart_literalLaTeXTranslator.depart_literalo
  s'    4 rV   c                f    [        U5      S:H  =(       a    [        US   [        R                  5      $ )z'Check whether `node` contains only textr  r   )r  r   r   r  r   s     rT   is_plaintextLaTeXTranslator.is_plaintext
  s$    D	QCJtAw

$CCrV   c           	        SSSSS.nU R                   nU R                  U5      nU R                  R                  5       nU=(       a    U R                  R                  n[
        R                  [
        R                  4nU R                  R                  (       a#  U[
        R                  [
        R                  4-  nU=(       a    [        UR                  U5      (       + nUS:H  =(       a    Un	U =R                  U R                  USS9-  sl        U R!                  U5        U(       dR  SUS	   ;   aI  U R                  R"                  S
:w  a/  [$        R&                  U R(                  S'   U R+                  SS5        U(       a  U(       a  U(       d  [$        R,                  U R.                  S'   U R                  R1                  S[3        S UR5                  5       R7                  S5       5       5      -  5        U R8                  R1                  S5        O`U(       d>  U	(       d7  U R                  R1                  S5        U R8                  R1                  S5        OU R8                  R1                  S5        U(       a  U(       a  U(       a  U	(       a   X#   U R(                  S'   SU l        U(       a"  U	(       a  U R                  R1                  S5        U R                  R1                  SU< SU R>                  < S35        U R8                  R1                  SU-  5        gU(       aT  U(       dM  SU l         SU R(                  S'   U R                  R1                  S5        U R8                  R1                  S5        gSU l!        SU l"        SU l#        U R                  R1                  S5        U R8                  R1                  S5        g! [:         a     GN1f = f) zZRender 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verbatimtabri  Trn  r]  r  r-   rU  r^  ttemz\begin{minipage}{%d\ttemwidth}
c              3  8   #    U  H  n[        U5      v   M     g 7frN   )r  )r  rR  s     rT   r  6LaTeXTranslator.visit_literal_block.<locals>.<genexpr>
  s     E+D4SYY+Dr  ro   z
\end{minipage}
z\begin{quote}
z
\end{quote}
literal_blockz\lstset{xleftmargin=0pt}
r  r]  z	
\end{%s}z\usepackage{alltt}r  z\begin{alltt}
z
\end{alltt}z\ttfamily\raggedright
r.   N)$r  rf  r  r  r  r   rA  sidebarru   r<   rm  rq  r   r  r  r  r/  r_  rJ  rU  rA   r&  rm  rC   r:   maxrJ  r  r  r(  rg  r  r  r  r  r  )
rS   r  packagesliteral_env
_plaintext	_in_table_autowidth_table_no_env_nodes_use_env_use_listingss
             rT   rG  #LaTeXTranslator.visit_literal_block
  s   
#G7 8#;	 ,, &&t,
%%--/	 %I):):)I)I7==//e..0D0DEEMLjm&L"L$4B( 	D&&tD&99$$y/)..&8)5););Dg&!!"3V<*: &2%6%6DNN6"HHOO4E4;;=+>+>t+DEEGH LL 56=HHOO./LL 23LL% 8-=,95=5J!!/2 !DM] =>HHOO($*D*DF GLL ;<.DJ)>Dg&HHOO./LL 01DL"&D.2D+ HHOO78LL#+  s   O 
OOc                8   SU l         SU l        SU l        SU l        SU l        U R
                  R                  U R                  R                  5       5        U R
                  R                  U R                  R                  5       5        U R                  U5        g r  )
r  r  r  rg  r  r  r:   r  rC  r4  r   s     rT   rK  $LaTeXTranslator.depart_literal_block
  so    */'#
((*+((*+4 rV   c                V   SU;  d  SU;  a  [         R                  eUS   nU R                  US   5      nUS;   a%  U R                  R	                  SU< SU< S35        g US:X  a  U R                  R	                  SU-  5        g U R                  R	                  S	U< SU< S
35        g )Nrx   r  )r?  keywordsproducersubjectrF   z  pdfz={z},creatorz  addtopdfcreator={%s},z  pdfinfo={z}},)r   r  r  r  r:   )rS   r  rx   r  s       rT   
visit_metaLaTeXTranslator.visit_meta
  s    $!6..  F|++d9o.IILLw ?@YLL 9' AB LLg FGrV   c                    g rN   rH  r   s     rT   depart_metaLaTeXTranslator.depart_meta
  rP  rV   c                b   SU R                   S'   U R                  U5        UR                  5       R                  [        R
                  5      nU R                  (       a  U =R                  SUS/-  sl        OU =R                  SUS/-  sl        U R                  U5        [        R                  e)zG
Provisional: the `math_env` argument will be dropped in Docutils 2.0.
\usepackage{amsmath}amsmathz\(z\)r`  )rA   rT  rJ  rl   r   uni2tex_tabler  r  rY  r   r  )rS   r  math_env	math_codes       rT   
visit_mathLaTeXTranslator.visit_math
  s     (?)$$KKM++K,E,EF	::HH	511HHHi--H4 nnrV   c                    g rN   rH  r   s     rT   depart_mathLaTeXTranslator.depart_math  rP  rV   c           	        SU R                   S'   [        UR                  5       5      nU R                  R	                  S5        US   (       a1  UR                  S5      (       a  U R                  R	                  S5        US    H3  nU R                  S5        U R                  R	                  S	U S
35        M5     U =R                  SU S3UR                  5       R                  [        R                  5      S/U R                  USSS9QSU S3P-  sl        US   (       a-  U R                  R	                  SS[        US   5      -  -   5        [        R                  e)Nr  r  r  r  r  z\phantomsection
r  r3  z\DUrole{z}{%
r  ru  ro   FT)r  r  z\end{r]  )rA   r   rJ  r  r:   r  r&  rl   r   r  r  r  r   r  )rS   r  r  r  s       rT   visit_math_block LaTeXTranslator.visit_math_block  s1   '>)$(7;8,,S11HHOO01	?C!!(+HHOOjW56 # 	y
$/[[],,[-F-FG- ((%(N- xj+	- 	-
 	?HHOOD3T)_)=#==>nnrV   c                    g rN   rH  r   s     rT   depart_math_block!LaTeXTranslator.depart_math_block  rP  rV   c                d    U R                   S   (       a  U R                  R                  S5        g g )Nr  r]  )r  r  r:   r   s     rT   visit_optionLaTeXTranslator.visit_option  s#    <<HHOOD! rV   c                2    U R                   S==   S-  ss'   g )Nr  r  )r  r   s     rT   depart_optionLaTeXTranslator.depart_option  s    RArV   c                Z    U R                   R                  UR                  SS5      5        g)z@Append the delimiter between an option and its argument to body.	delimiterr  N)r  r:   r  r   s     rT   visit_option_argument%LaTeXTranslator.visit_option_argument"  s    c23rV   c                    g rN   rH  r   s     rT   depart_option_argument&LaTeXTranslator.depart_option_argument&  rP  rV   c                p    U R                   R                  S5        U R                  R                  S5        g )Nz\item[r   )r  r:   r  r   s     rT   visit_option_group"LaTeXTranslator.visit_option_group)  s$    	"ArV   c                n    U R                   R                  5         U R                  R                  S5        g )Nz] )r  rC  r  r:   r   s     rT   depart_option_group#LaTeXTranslator.depart_option_group.  s"    rV   c                    U R                  SS5        U R                  S5        U =R                  U R                  USS9-  sl        U R                  U5        U R                  R	                  S5        g )Nr/  r0  
optionlistTrn  z\begin{DUoptionlist}
r&  r  r  r/  r:   r   s     rT   visit_option_list!LaTeXTranslator.visit_option_list2  s^    o/?@l+D&&tD&99$12rV   c                \    U R                   R                  S5        U R                  U5        g )Nz\end{DUoptionlist}
r  r   s     rT   depart_option_list"LaTeXTranslator.depart_option_list9  s!    /04 rV   c                J    U =R                   U R                  USS9-  sl         g r  r  r   s     rT   visit_option_list_item&LaTeXTranslator.visit_option_list_item=  r   rV   c                    g rN   rH  r   s     rT   depart_option_list_item'LaTeXTranslator.depart_option_list_item@  rP  rV   c                    g rN   rH  r   s     rT   visit_option_string#LaTeXTranslator.visit_option_stringC  r	  rV   c                    g rN   rH  r   s     rT   depart_option_string$LaTeXTranslator.depart_option_stringG  r	  rV   c                &    U R                  U5        g rN   r  r   s     rT   visit_organization"LaTeXTranslator.visit_organizationK  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_organization#LaTeXTranslator.depart_organizationN  r  rV   c                   UR                   R                  U5      nUS:X  aX  [        UR                   [        R                  [        R
                  [        R                  [        R                  45      (       a  OUS:  ai  [        UR                   [        R                  5      (       a@  [        UR                   US-
     [        R                  [        R                  45      (       d  OnU R                  R                  (       a8  US:X  a  U R                  SUS9  US:  a  U R                  R                  S5        OU R                  R                  S5        U R                  U5        g )Nr   r  z:LaTeX merges paragraphs in tables with auto-sized columns!r  ro   )r  indexr   r   	list_itemdescriptionr-  rC  r  r  r  r<  r  r:   rT  )rS   r  r  s      rT   visit_paragraphLaTeXTranslator.visit_paragraphQ  s   
 !!$'A:*T[[&+oou7H7H&+nneoo&GH H aiT[[%..99 UQY!7"'//5>>!BD D--z		 5@D  Fqy%HHOOD!$rV   c                    U R                  U5        U R                  R                  (       d  U R                  R	                  S5        g g rJ  )rY  r  r  r  r:   r   s     rT   depart_paragraph LaTeXTranslator.depart_paragraphj  s4    4   //HHOOD! 0rV   c                    [         R                  U R                  S'   U R                  R	                  S5        U R                  U5        U R                  R	                  SUS   -  5        g )NrU  r  z"\hyperlink{%s}{\textbf{\color{red}rd  )rJ  rU  rA   r  r:   r	  r   s     rT   visit_problematic!LaTeXTranslator.visit_problematico  sP    %1%7%7'"  &=WMNrV   c                :    U R                   R                  S5        g )Nz}}r  r   s     rT   depart_problematic"LaTeXTranslator.depart_problematicu  rM  rV   c                P   SUR                  SS5      R                  5       ;  a  [        R                  eU R	                  U5      (       dD  [        UR                  [        R                  5      (       d  U R                  R                  S5        U R                  U5        SU l        g )Nr   formatr.   ro   T)r  r  r   r  r  r   r  r-  r  r:   rT  rg  r   s     rT   	visit_rawLaTeXTranslator.visit_rawx  sq    $((8R06688.. t$$dkk5>>::HHOOD!$rV   c                    SU l         U R                  U5        U R                  U5      (       d  U R                  R	                  S5        g g )NFro   )rg  rY  r  r  r:   r   s     rT   
depart_rawLaTeXTranslator.depart_raw  s;    4 ~~d##HHOOD! $rV   c                ^    SnU H!  nUS:X  a  US-  nUS:X  a  US-  nUS:  d  M!    g   US:g  $ )z7Test whether there are unmatched '{' or '}' characters.r   r\  r  r]  TrH  )rS   re   r  r  s       rT   has_unbalanced_braces%LaTeXTranslator.has_unbalanced_braces  sG    BSy
Sy
qy  zrV   c           	        [        S5      S[        S5      S[        S5      S0nU R                  U5      (       d  U R                  R                  S5        SU;   a  [	        US   5      R                  U5      nS	U;   d  U R                  U5      (       a  U R                  S
U S35        US   UR                  5       :X  a.  U R                  R                  SU-  5        [        R                  eU R                  R                  SU-  5        g SU;   a  US   nO.SU;   a  U R                  R                  US      nO[        S5      eU R                  (       aN  U R                  R                  SU R                  < SUR                  SS5      < S35        [        R                  eU R                  R                  SU-  5        g )Nr^  r_  ra  rb  r[  r  ro   refuriz^^zExternal link "zH" not supported by LaTeX.
 (Must not contain "^^" or unbalanced braces.)z\url{%s}z
\href{%s}{rd  r  zUnknown reference.r\  r.   r]  z\hyperref[%s]{)r  r  r  r:   r`  rl   r  r~  rJ  r   r  r_   r  AssertionErrorr  r  )rS   r  special_charsr  s       rT   r  LaTeXTranslator.visit_reference  sz   S5S5TF ~~d##HHOOD!ttH~&00?Dt|t99$??

%dV ,E EF H~.d 23nn$HHOOMD01d?=D$==((i9D !566HHOO!114<<R3HJ K.. )D01rV   c                    U R                   R                  S5        U R                  U5      (       d  U R                   R                  S5        g g )Nr]  ro   )r  r:   r  r   s     rT   r   LaTeXTranslator.depart_reference  s6    ~~d##HHOOD! $rV   c                &    U R                  U5        g rN   r  r   s     rT   visit_revisionLaTeXTranslator.visit_revision  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_revisionLaTeXTranslator.depart_revision  r  rV   c                    U R                  S5        U =R                  U R                  USS9-  sl        U R                  U5        U R                  R	                  S5        g )NrubricTrn  z
\DUrubric{r  r   s     rT   visit_rubricLaTeXTranslator.visit_rubric  sN    h' 	D&&tD&99$&rV   c                \    U R                   R                  S5        U R                  U5        g r  r  r   s     rT   depart_rubricLaTeXTranslator.depart_rubric       4 rV   c                   U =R                   S-  sl         U R                  R                  S5        U R                  U R                   S-
  ==   S-  ss'   SU R                  ;   a  g U R                  R
                  (       a  SnO[        U R                  SS5      n[        U[        5      (       a  Sn[        U R                  SS5      n[        U[        5      (       a  SnUS:w  a.  SU R                  R                  S   US-
  4-  U R                  S'   Ub,  SU R                  R                  U5      -  U R                  S'   g g )Nr  r   sectnumsectnum_depthsectnum_startz\setcounter{%s}{%d}z\setcounter{secnumdepth}{%d})r  r  r:   rA   ru   sectnum_xformrc   r   r`  r  r  r  )rS   r  r  r  s       rT   visit_sectionLaTeXTranslator.visit_section  s'   a##A&T//!3494 )))
 ==&&M#DMM?AFM--- !#DMM?AFM--- !!5KLL))!,mAoO? 6?!!/2
 $+J00?,ADi( %rV   c                b    U R                   R                  5         U =R                  S-  sl        g rY  )r  rC  r  r   s     rT   depart_sectionLaTeXTranslator.depart_section  s%      "arV   c                    U =R                   U R                  USS9-  sl         U R                  U5        [        R                  U R
                  S'   U R                  S5        U R                   R                  S5        g )NTrn  rU  rq  z\DUsidebar{)r  r  r/  rJ  rU  rA   r&  r:   r   s     rT   visit_sidebarLaTeXTranslator.visit_sidebar  sb    D&&tD&99$%1%7%7'"i('rV   c                \    U R                   R                  S5        U R                  U5        g r  r  r   s     rT   depart_sidebarLaTeXTranslator.depart_sidebar  r  rV   )u   —r.   )r  r  r  r)   c                ^   U R                   U R                  R                     u  p#U R                  R	                  S5        U =R                  U R                  USS9-  sl        U R                  U5        U R                  R	                  SU 35        U R                  R	                  U5        g )Nz\nopagebreak
Trn  z\raggedleft )attribution_formatsru   attributionr  r:   r  r/  r  )rS   r  r  r  s       rT   visit_attribution!LaTeXTranslator.visit_attribution  s    11$--2K2KL)*D&&tD&99$-x01F#rV   c                    U R                   R                  U R                  R                  5       S-   5        U R	                  U5        g rJ  )r  r:   r  rC  r4  r   s     rT   depart_attribution"LaTeXTranslator.depart_attribution  s2    ((*T124 rV   c                &    U R                  U5        g rN   r  r   s     rT   visit_statusLaTeXTranslator.visit_status  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_statusLaTeXTranslator.depart_status  r  rV   c                \    U R                   R                  S5        U R                  U5        g )Nru  r  r   s     rT   visit_strongLaTeXTranslator.visit_strong  s     $$rV   c                \    U R                  U5        U R                  R                  S5        g r  r  r   s     rT   depart_strongLaTeXTranslator.depart_strong  r  rV   c                "    [         R                  erN   )r   r  r   s     rT   visit_substitution_definition-LaTeXTranslator.visit_substitution_definition  s    nnrV   c                &    U R                  U5        g rN   )unimplemented_visitr   s     rT   visit_substitution_reference,LaTeXTranslator.visit_substitution_reference!  r  rV   c                ^   [        UR                  [        R                  5      (       aj  U R	                  U R
                  5        U R                  S5        U R                  R                  S:H  nU =R                  U R                  USUS9-  sl	        g [        UR                  [        R                  5      (       aE  U R                  R                  SU R                  R                  U R                  S-   5      -  5        g U R                  S5        U R                  R                  S5        g )	Ndocumentsubtitler  FrO  z\%s*{r  rG   z
\DUsubtitle{)r   r  r   r_   r8  rG   r&  ru   r  r  r  r  r  r:   r  r  rP  s      rT   visit_subtitleLaTeXTranslator.visit_subtitle$  s    dkk5>>22&&t}}5!!"45}}22h>G  D$6$6t?F %7 %H H  U]]33HHOOH LL001C1Ca1GHI J !!*-HHOO-.rV   c                    [        UR                  [        R                  5      (       a  U R	                  5         g U R
                  R                  S5        g r  )r   r  r   r_   r<  r  r:   r   s     rT   depart_subtitleLaTeXTranslator.depart_subtitle3  s3    dkk5>>22%%'HHOOE"rV   c                   [         R                  U R                  S'   U R                  S5        U R                  R
                  (       a  [         R                  U R                  S'   S/US'   U R                  R                  S5        U R                  U5        U R                  U5        U R                  R
                  (       a  U R                  R                  S5        OU R                  R                  S5         SUS	    3nU R                  R                  SUS    SUS    SU R                  US   5       SU S3	5        [        US   5      S:X  aA  U R                  R                  SUS   S    S35        U R                  R                  S5        g [!        US   5       VVs/ s H  u  p4SU SUS-    S3PM     nnnU R                  R                  SSR#                  U5      -   5        g ! [         a    S
n Nf = fs  snnf )NrU  rF   zsystem-messager  ro   z5
\DUtitle[system-message]{\color{red}System Message}
z%
\DUtitle{\color{red}System Message}
z, line~rR  r.   typer  r  z in \texttt{sourcer]  r  r  z
\hyperlink{r   rb  ru  z\hyperlink{z
backrefs: r  )rJ  rU  rA   r&  ru   r<   title_legacyrC   r  r:   r	  rr  r(  r  r  r  r  rt   )rS   r  rR  rE  r  r  s         rT   visit_system_message$LaTeXTranslator.visit_system_message9  s   %1%7%7'"g&==//&2&?&?DNN7#+,Y  &d#==//HHOO = > HHOOGH	T&\N+D 	"T&\N!DM? ;%%)[[h%@$AD6M 	NtJ A%HHOOod:.>q.A-B$GHLL& *34
3C)DF)DIQ (vT!A#d;)D  FLLsxx/A AB  	D	Fs   =G2 )H2H Hc                    U R                   R                  U R                  R                  5       5        U R	                  U5        g rN   )r  r:   r  rC  rv  r   s     rT   depart_system_message%LaTeXTranslator.depart_system_messageU  s-    ((*+t$rV   c                   [         R                  U R                  S'   U R                  R                  (       d  [         R
                  U R                  S'   U R                  R                  5       (       a6  U R                  R                  U R                  5        [        U S5      U l        U R                  R                  S:X  a  [        UR                  [        R                  5      (       ac  UR                  R!                  U5      S:X  aD  SU R"                  R                  U R$                  5      ;   a  U R&                  R                  S5        U R                  R)                  5         U R                  R+                  XR                  5        U R                  R,                  S:X  a  S	U R                  S'   U R/                  / 5        g )
NrW  table1tabularr  r  r  r?  r   z\usepackage{booktabs})rJ  rW  rA   ru   r=   table_columnwidthr  r  r  r:   r  r  r   r  r   r  r  r  r  r  r  r  r  r8  r   s     rT   visit_tableLaTeXTranslator.visit_tableY  sD   %1%7%7'"}}11*6*H*HDh'$$&&##D$5$56 %dI 6D ))[84;;66!!$'1,t||33D4F4FGGHHOON+ ))$>$$
2,DDj)""2&rV   c                   U R                  5       n U R                  US   U5      nU R                  R                  (       d;  [        U R                  5      S:g  nU =R                  U R                  XSS9-  sl        U R                  U5        U R                  R                  U R                  R                  U5      5        U =R                  U-  sl        U R                  R                  U R                  R                  5       S-   5        U R                  R                  5         [        U R                  5      S:  a  U R                  R                  5       U l        U R                  U5        g ! [         a    Sn GNYf = f)Nr  ra  r  Trn  ro   r   )r<  r  r(  r  r  r  r  r  r  r/  r:   r  r  r  rC  r4  )rS   r  r  r  r  s        rT   depart_tableLaTeXTranslator.depart_tablen  s2   ++-	"((g=E   ((d../14JHH**4D*IIH$ 	))55e<=G))557$>?!t 1$ $ 0 0 4 4 6D4 )  	"!E	"s   E1 1F Fc                    SU;   d  SU;   d  SU;   a  g U R                  U5      (       a  U R                  R                  S5        U R                  R                  S5        U R                  U5        g )Nr  rd  r  ra  ro   )r  r  r:   rT  r   s     rT   visit_targetLaTeXTranslator.visit_target  sY    $D >>$HHOOC $rV   c                &    U R                  U5        g rN   rX  r   s     rT   depart_targetLaTeXTranslator.depart_target  r\  rV   c                    U R                   R                  S5      (       d#  U R                  U5        U R                  S 5        g g )Npreamble written)r  r  r0  r9  r   s     rT   visit_tbodyLaTeXTranslator.visit_tbody  s=       $$%788T"d# 9rV   c                    g rN   rH  r   s     rT   depart_tbodyLaTeXTranslator.depart_tbody  rP  rV   c                :    U R                   R                  S5        g)zdefinition list termz\item[{Nr  r   s     rT   
visit_termLaTeXTranslator.visit_term  s     	
#rV   c                d   U R                   R                  S5        UR                  SSS9n[        U[        R
                  5      (       a  U R                   R                  S5        g [        U[        R                  5      (       d+  U R                   R                  U R                  U5      5        g g )Nz}] FTr  ro   )r  r:   r  r   r   r  
classifierrD  )rS   r  r  s      rT   depart_termLaTeXTranslator.depart_term  sz     NN54N@	i,,HHOOD!Iu'7'788HHOOD--i89 9rV   c                    g rN   rH  r   s     rT   visit_tgroupLaTeXTranslator.visit_tgroup  rP  rV   c                    g rN   rH  r   s     rT   depart_tgroupLaTeXTranslator.depart_tgroup  rP  rV   c                    U R                   $ rN   )_thead_depthrR   s    rT   r+  LaTeXTranslator.thead_depth  rW  rV   c                   U =R                   S-  sl         SU R                  5       :X  aS  U R                  R                  SU R                  R                  U5      -  5        U R                  R                  SS5        U R                  R                  (       a|  U R                   S:X  a.  S/nU R                  UR                  R                  S5      S/-   nOS/nS/nU R                  R                  X R                  R                  -   U-   S	/-   5        U R                  R                  U R                  R                  5       5        g )
Nr  z{%s}
r?  r  Fz}\\z\caption[]{z (... continued)}\\ro   )rS  r+  r  r:   r  r  r  r  r  r  r   r0  )rS   r  r'  r(  s       rT   r0  LaTeXTranslator.visit_thead  s   Q  ""HHOOHt'8'8'E'Ed'KKL!!"4a8$$  A%#n))$++*<*<eDxO%&./HHOOC"3"3";";;dBdVKL))5578rV   c                    Ubc  U R                   R                  U R                  R                  5       5        U R                  R	                  5       (       a  UR                  U 5        U =R                  S-  sl        g rY  )r  r   r  r9  r,  r`   rS  r   s     rT   r9  LaTeXTranslator.depart_thead  sY    HHOOD--::<=  --//t$QrV   c                   [        UR                  [        R                  5      (       a7  U R	                  U R
                  5        U R                  R                  S5        g[        UR                  [        R                  5      (       dR  [        UR                  [        R                  5      (       d)  [        UR                  [        R                  5      (       a  UR                  S   =(       d    UR                  R                  /nU R                  R                  (       aK  [        R                  U R                   S'   U R"                  R                  SSR%                  U5      -  5        O,U R'                  S5        U R"                  R                  S5        U R                  R                  S5        g[        UR                  [        R(                  5      (       aA  U R	                  U R*                  R,                  5        U R                  R                  S5        gU R.                  nU R0                  R3                  U5      nU R"                  R                  S5        U[5        U R0                  R6                  5      :  a  U R                  R                  (       a/  [        R                  U R                   S'   US	[9        U5      -  -  nOJU R'                  S5        U R'                  S
S5        U R"                  R                  S[9        U5      -  5        SUR                  S   ;   aa  [        R:                  U R<                  S'   U R?                  URA                  5       5      nU R"                  R                  SU< SU< S35        OU R"                  R                  SU-  5        U RC                  UR                  SS9nU(       a2  U R                  R                  SR%                  S/UQ75      S-   5        OU R                  R                  S5        U[5        U R0                  R6                  5      :  a4  U R                  R                  (       d  U R                  S==   S-  ss'   ggg)z Append section and other titles.r.   r  rF   z
\DUtitle[%s]{r  z

\DUtitle{ru  z

z[section%s]r+  r,  z\begin{DUclass}{section%s}
zsystem-messagesrU  r[  ri  z]{\color{red}z\%s{F)r  r\  z%
}
r  r2  N)"r   r  r   r_   r8  rF   r  r:   topicrm  rq  r7  ru   r<   rJ  r)  rC   r  rt   r&  rW  r  r  r  r  r  r  r  r   rU  rA   r  rJ  r  )rS   r  r  r  section_namesection_titler  s          rT   visit_titleLaTeXTranslator.visit_title  s    dkk5>>22&&tzz2LL#ekk22DKK)9)9::DKK77kk),E1D1D0EG}}33*6*C*Cw' 2SXXg5F FG%%g./LL&U[[11&&t'8'8'@'@ALL# &&E<<//6LHHOOF#s4<<0011==77.:.G.GDNN7+ ML4G$GGL))'2)))Y?HHOO$C&25&9%: ; !DKK	$::-9-?-?!!'* $DKKM : ,m!= > , 67 '''FF##GLL"v$?($JK##E*DLL1122<<R $66  = 3rV   c                    U R                   R                  U R                  R                  5       5        [	        UR
                  [        R                  [        R                  45      (       a  U R                  5         g g rN   )
r  r:   r  rC  r   r  r   rW  r_   r<  r   s     rT   depart_titleLaTeXTranslator.depart_title  sO    ((*+dkkEKK#@AA%%' BrV   c           	     :   U R                   (       aV  SUS   ;   aM  U R                  R                  U R                  5      nSSSS.nSU R                  R                  ;   a  US	  X2   nU R                  R                  S5        U =R                  U R                  USS9-  sl	        [        UR                  5       [        R                  5      (       a  SUS   ;  ax  U R                  R                   S:w  a^  U R                  R                  SU R                  S-   UR                  5       R#                  5       UR%                  SS/5      S   4-  5        U R                   (       d/  [&        R(                  U R*                  S'   U R-                  U5        g UR                  [        R.                  5      R0                  nUR%                  SS5      n[5        U R                  R                  5      n[        UR                  5       [        R                  5      (       a#  U R7                  US   R#                  5       5      nOSnSUS   ;   a  [&        R8                  U R:                  S'   SW-  U R:                  SU-   '   SXG4-  U R:                  SU-  '   SSSS.n	SU R                  R                  ;   a  SU	S'   U(       a$  U R                  R                  S XFX   -   4-  5        U R                  R                  S!U< S"U< S#35        U R                  R                  S$U-  5        [        R                  eU(       a7  U R                  R                  S%U R                  R=                  U5      -  5        US&:w  a  U R                  R                  S'U-  5        U R                  R                  S(5        SU l        [        R                  e! [
         a$    U R                  S	U-  US
9  [        R                  ef = f! [2         a    U R                  S5        0 n GN[f = f))zOWrite the table of contents.

Called from visit_topic() for "contents" topics.
localr  rk   minisect)rk   r  r  r  r  zUSkipping local ToC at "%s" level.
  Feature not supported with option "use-latex-toc"r  ro   Tr  r  z\pdfbookmark[%d]{%s}{%s}
r  r  contentsr   ztoc-listNzhSetting "use_latex_toc" is True but "contents" details are missing. Directive option values may be lost.r  r.   rT  z\do%stoczminitoc-z\mtcsetdepth{%stoc}{%d}zminitoc-%s-depth)re  rd  rk   r  z\setcounter{%stocdepth}{%d}z\mtcsettitle{ztoc}{ru  z\%stoc
z\setcounter{tocdepth}{%d}
Contentsz!\renewcommand{\contentsname}{%s}
z\tableofcontents
) r3   r  r  r  r  r(  r<  r   r  r  r:   r  r   r  rF   ru   r  rJ  r  rJ  toc_listrC   r/  pendingdetailsAttributeErrorr  r  rT  rA   r  rX  )
rS   r  r[  minitoc_namesmtc_namerj  r  maxdepthrF   offsets
             rT   visit_contentsLaTeXTranslator.visit_contents  s    'T)_"<<<//0B0BCL%+(.(.0M DLL111!),%(6 	D&&tT&::t~~'55tI.++x7HHOO9!//1!^^-446!XXej\:1=?? @ !!)5)>)>DNN:&d#	nnU]]3;;G
 GQ't||,,-dnn&44KKQ 01EEd9o%+7+?+?Di(5@5IDj12*h-AA 08;<  A6FDLL111!#v >!)63C+C D!E F HHOOHeLMHHOOK(23 nn  >"&,,"B"B5"I!J K
" F NOHHOO12!%Dnn  %		 P()48  : nn$	%4  	II J KG	s   $O )O9 .O69PPc                   SUS   ;   a  U R                  U5        g SUS   ;   a  U R                  R                  (       av  U R                  U R                  5        U R
                  R                  S5        [        UR                  5       [        R                  5      (       a  UR                  S5        g g SUS   ;   ae  U R                  S5        U R                  R                  (       a  [        R                  U R                   S'   U R                  U R                  5        OKSUS   ;   a-  U R                  S5        U R                  U R"                  5        OUS   R%                  SS5        U R'                  U5        g )Nrf  r  rK   z\begin{abstract}r   rJ   rZ  )rp  ru   r5   r8  rK   r  r:   r   r  r   rF   rC  r&  r<   rJ  abstract_legacyrC   rJ   r  r  r   s     rT   visit_topicLaTeXTranslator.visit_topicd  s    i(%DO+--22&&t}}5HHOO/0$..*EKK88 9 T)_,%%j1==771=1M1MDNN:.**4==9i0%%l3**4??;Y&&q'2""4(rV   c                "   SUS   ;   a7  U R                   R                  (       a  U R                  R                  S5        O,SUS   ;   a  U R	                  U5        OU R                  U5        SUS   ;   d	  SUS   ;   a  U R                  5         g g )NrK   r  z\end{abstract}
rf  rJ   )ru   r5   r  r:   r4  r  r<  r   s     rT   depart_topicLaTeXTranslator.depart_topic}  s}    $y/)00HHOO/04	?*t$##D)$y/)tI.%%' /rV   c                    U R                  S5        U R                  R                  S5        U R                  R                  S5        g )N
transitionzN
%___________________________________________________________________________
z\DUtransition
r@  r   s     rT   visit_transition LaTeXTranslator.visit_transition  s2    l+/0*+rV   c                    g rN   rH  r   s     rT   depart_transition!LaTeXTranslator.depart_transition  rP  rV   c                &    U R                  U5        g rN   r  r   s     rT   visit_versionLaTeXTranslator.visit_version  r  rV   c                &    U R                  U5        g rN   r  r   s     rT   depart_versionLaTeXTranslator.depart_version  r  rV   c                F    [        SUR                  R                  -  5      e)Nz$visiting unimplemented node type: %s)rv  r\   r   r   s     rT   r  #LaTeXTranslator.unimplemented_visit  s$    !"H"&.."9"9#: ; 	;rV   )?r  r  r  r  rK   r  r  r  r  r  r  rL   rH   r7   r  r  r  rJ   rI   r  r~  r  rC   rf  r  r  rX  r@   r  r  r  r  r  r  r  r>   rB   r  r  r  r  r  r  r  rD   r  r  r  rA   r  r8   r0   rG   r  r  rF   r  rE   r&   r4   r3   rg  r<  r}   )TFFF)r~   z	list[str]rN   )r7  listr~   r   )r~   r  r_  )r`  )r   r   r   r   r0  r  r7   r8   r  rX  r  r  rg  r  r  r  r  r   r8  r?  ry  r@  r  rA  r6  r   rO   r  r  r  r  r  compiler  r  r	  r  r  r"  r&  r/  r4  r8  r<  rD  rK  rN  rU  rZ  r_  rb  rf  rj  rr  rv  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+  r1  re  ri  rH  rL  rQ  rY  rV  rW  rh  rk  ro  rZ  r}  r>  rI  r  r  r  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  rT  rY  rA  rD  rG  rK  rQ  rT  rW  rZ  r`  rc  rf  rG  rK  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r!  r$  r*  r-  r3  r6  r9  r<  r@  rC  rF  rJ  rM  rP  rS  r+  r0  r9  r]  r`  rp  rt  rw  r{  r~  r  r  r  r   r   r   s   @rT   rP   rP   o  s    H ! &+" $' 
 MM ',#H!&NGE }}ellEMM}}ejj%2D2DFO .3 MP MPd %D&:P:Up **^46
:> <A,16?:@.=@"4
44 ! !&$1$!*+&'*
!,
!    
+/8&"&&"
. !&' !&'&'2
!;"13/()'V'(ED@6>8, ,8(t8&80=d):5(4!
*#/!4$
!"#:%x	#):)4$
)BAF784--%0!% $DN$`!H"$"
4
3!;&' 2"
O"
 2D"
&''! AD 
(! $/*4%/#+-
$!&' '/#C8%'*!6
 !$$: L!977v(
Ob)2
(,
&'; ;rV   rP   )<r0  
__future__r   __docformat__r  re   r;  pathlibr   rz  r   r   r   r	   r
   docutils.transformsr   r   docutils.utils._roman_numeralsr   docutils.utils.mathr   r   __file__r  r   r   r   dictr6  rJ  r  rU  rV  rU  rT  rW  r2  rX  rs  ro  rp  r)  rh  rm  rS  r  rP  rR  rN  r  rO  
block_namedefinitionsrb   rZ  r  r  DoctreeTranslatorrP   rH  rV   rT   <module>r     s   $ "" 
    ? ? 6 7 B>(( KJW^^ KJ\n nh84 8<2 2 / >   6 
3   J  C 
" ? 	  ( # 

>
)G<zz&!}}T""[[%
!"o@@%++-K 	j+6  =(h h^1 1hJ JZj$;g// j$;I =<s   6A5F''
F5