ʺhdZdZddlmZddlZddlZddlmZddlZ ddl Z n#e $r ddl m cm Z YnwxYwddl mZmZmZmZm Z ddlmZddlmZmZeejZGd d ejZGd d ZGd deZGddZde_de_ de_!de_"de_#de_$de_%de_&de_'de_(de_)de_*de_+dZ,e-edz d !5Z.e.D]uZ/e/0d"Z/e/1d#s-e/2d$Z3e3sEe,e.Z4e3d%vre40Z4e5ee3e4v dddn #1swxYwYGd&d'Z6Gd(d)Z7Gd*d+Z8Gd,d-ej9Z:dS).zLaTeX2e document tree Writer.reStructuredText)PathN) url2pathname)frontendnodes languageswritersutils) writer_aux)pick_math_environment unichar2texc VeZdZdZ dZeZdZgdZddgddgd d ifd d gd d ifddgddgddddfddgdde j dfddgdde j dfddggd d!dd"fd#d$gd%d&d'e j d(fd)d*gd&d+e j d,fd-d.gd/dd0fd1d2gd3de j dfd4d5gd6e j d7gd8fd9d:gd eifd;ezdfd?d@gdAde j dfdBdCgdDde j dfdEdFgd3de j dfdGdHgdIde j dfdJdKgd3de j dfdLdMgdNde j dfdOdPgd3de j dfdQdRgd dSifdTdUgd d%ifdVdWgd3de j dfdXdYgddZd[fd\d]gdde j dfd^d_gdd`d[fdadbgdcddd>fdedfgd d%ifdgdhgde j difdjdkgdlgddme j ednfdodpgd d%ifdqdrgd dsifdtdugd d%ifdvdwgd%dxe j dyfdzd{gd3de j dfd|d}gd~de j dfddgdde j dfddgdde j dfddgdAde j dfRfZ ddiZ dZdZdZedzZdZ dZfdZdZdZxZS)Writer)latexlatex2ez default.texzg% PDF Standard Fonts \usepackage{mathptmx} % Times \usepackage[scaled=.90]{helvet} \usepackage{courier})booktabs borderlesscolwidths-autonolinesstandardzLaTeX-Specific OptionsNz1Specify LaTeX documentclass. Default: "article".z--documentclassdefaultarticlezcSpecify document options. Multiple options can be given, separated by commas. Default: "a4paper".z--documentoptionsa4paperz\Format for footnote references: one of "superscript" or "brackets". Default: "superscript".z--footnote-references superscriptbracketsztrim_footnote_reference_space)choicesrmetavar overridesz1Use \cite command for citations. (future default)z--use-latex-citations store_true)raction validatorzZUse figure floats for citations (might get mixed with real figures). (provisional default)z--figure-citationsuse_latex_citations store_false)destr!r"zyFormat for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none". Default: "dash".z --attributiondash parenthesesparensnoner')rrrzSpecify 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 --stylesheetzstylesheet_path)rrrr"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)rrr"z7Link to the stylesheet(s) in the output file. (default)z--link-stylesheetembed_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.)rr"rzlCustomization by LaTeX code in the preamble. Default: select PDF standard fonts (Times, Helvetica, Courier).z--latex-preamblez)Specify the template file. Default: "%s".z --templatez)rrz%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-sectionzzdWhen possible, use the specified environment for literal-blocks. Default: "" (fall back to "alltt").z--literal-block-envz4Deprecated alias for "--literal-block-env=verbatim".z--use-verbatim-when-possible)r!r"zTable style. "standard" with horizontal and vertical lines, "booktabs" (LaTeX booktabs style) only horizontal lines above and below the table and below the header, or "borderless". Default: "standard"z --table-stylerappend)rrr!r"rzLaTeX graphicx package option. Possible values are "dvipdfmx", "dvips", "dvisvgm", "luatex", "pdftex", and "xetex".Default: "".z--graphicx-optionzLaTeX font encoding. Possible values are "", "T1" (default), "OT1", "LGR,T1" or any other combination of options to the `fontenc` package. z--font-encodingT1zPer default the latex-writer puts the reference title into hyperreferences. Specify "ref*" or "pageref*" to get the section number or the page number.z--reference-labelzdSpecify style and database(s) for bibtex, for example "--use-bibtex=unsrt,mydb1,mydb2". Provisional!z --use-bibtexz)rrr"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-functionslegacy_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-widthslegacy_column_widthszsFootnotes with numbers/symbols by Docutils. (default) (The alternative, --latex-footnotes, is not implemented yet.)z--docutils-footnotes sectnum_depthrzlatex2e writer)r z latex writers) head_prefix requirementslatex_preambler- fallbackspdfsetup titledata)titlesubtitlebody_pre_docinfodocinfo dedicationabstractbodyc\tj|t|_dSN)r r__init__LaTeXTranslatortranslator_classselfs /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/docutils/writers/latex2e/__init__.pyrKzWriter.__init__s&%%% /c`ttjgzSrJ)superget_transformsr Admonitions)rO __class__s rPrTzWriter.get_transformss+ww%%'')+ rQc ||j}|j||jD]!}t ||t ||"t |jjj}| s |j |z }| d}| tj||j|_dS)Nutf-8encoding)rMdocument walkaboutvisitor_attributessetattrgetattrrsettingstemplateexistsdefault_template_path read_textassemble_partsstringTemplate substitutepartsoutput)rOvisitorpart templatepathras rP translatezWriter.translate s'' 66 (((+ 8 8D D$ 6 6 7 7 7 7DM2;<< ""$$ E5 DL))7);; oh//::4:FF rQc.tj||jD]m}t ||}||jvr5|r|dd||j|<Pd||j|<ndS)z9Assemble the `self.parts` dictionary of output fragments.r+ N) r rrer]r_ head_partsr7joinri)rOrlliness rPrezWriter.assemble_partss%%d++++ 2 2DD$''Et&&%LL$$$#'99U#3#3 4  $&775>> 4   2 2rQ)__name__ __module__ __qualname__ supporteddefault_templateLATEX_WRITER_DIRrcdefault_preambletable_style_valuesrvalidate_booleanvalidate_comma_separated_list settings_specsettings_defaultsconfig_sectionconfig_section_dependenciesrqr]rjrKrTrnre __classcell__rVs@rPrr sZ$I'$,0111 ! } =   i " $}  6   i " $}  1 " #$j1m 7 9 9 :}  ? " #l 1 3 3 4} " G  (M 1 3 3 4#} , J  ??? 5 5 6-} 6 M  %8) > @ @  A7} F F  )  > @ @  AG} T D  % ? ? AU} Z ?  | 1 3 3 4[} d   ' >e    e} r L   & ' )s} z 68H H .&8 < < >{} @ 2  l 1 3 3 4A} H B  "m 1 3 3 4I} P 7  | 1 3 3 4Q} X I # $&- 1 3 3 4Y} ` : !| 1 3 3 4a} h 1  '= 1 3 3 4i} p H ! "| 1 3 3 4q} x 6  )V!4 6y} ~ :  9b/ 3} B  # $| 1 3 3 4C} L  & '",B C C EM} T M - .l 1 3 3 4U} ^ I 0 1",L M M O_} d : + ,h / / 1e} l 0 ! b/ m} t A ) *! 1 3 3 4u} |   !l  >(  * * +}} P    b/  Q} \ H   d   ]} f '   b/  g} p ;  5 > @ @ Aq} | * % &! 1 3 3 4}} H B " #+" 1 3 3 4I} T " # $! 1 3 3 4U} `  !)" 1 3 3 4a} n J ! "! 1 3 3 4o} } A MF)!,%N">FJ#'IIF.000 G G G 2 2 2 2 2 2 2rQrceZdZdZidddddddd d d d d ddddddddddddddddddd d!d"d#id$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEidFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddd_dedfidgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{drd|dtd}d~ddddddZdeDZdZdddZddZdZ dZ dZ dS)BabelzLanguage specifics for LaTeX.af afrikaansararabicbg bulgarianbrbretoncacatalancsczechcywelshdadanishdengermanzde-1901germanzde-AT naustrianz de-AT-1901austriandsb lowersorbianelgreekz el-polytonpolutonikogreekenenglishzen-AU australianzen-CAcanadianzen-GBbritishzen-NZ newzealandzen-USamericaneo esperantoesspanishetestonianeubasquefifinnishfrfrenchzfr-CAcanadiengairishz grc-ibycusibycusglgalicianhehebrewhrcroatianhsb uppersorbianhumagyaria interlinguaidbahasaiis icelandicititalianjajapanesekkkazakhlalatinlt lithuanianlvlatvianmn mongolianmsbahasamnbnorsknldutchnnnynorsknoplpolishptportugeszpt-BRbrazilroromanianrurussiansesaminzsh-Cyrlserbianczsh-Latnserbianskslovakslslovenesqalbaniansrzsr-Latnsvswedishtrturkishuk ukrainianvivietnamc>i|]\}}||S)lower).0kvs rP zBabel.s&FFFtq!aggiiFFFrQz,Language "%s" not supported by LaTeX (babel)z.<>)rrNcV||_|||_i|_dSrJ)reporter language_namelanguageotherlanguages)rO language_coders rPrKzBabel.__init__s,  **=99  rQctj}|jjpddd|zg_g}dfd|DD]}||vr|||r0jdd|zd|vrjdd |vrjgd d |vrjgd |d dkr6djvrxjdddjzgz c_djS)z7Return the babel call with correct options and settingsrz\usepackage[%s]{babel},r+c3NK|]}j|dV dS)r+N) active_charsget)rlngrOs rP z!Babel.__call__..s6MMC*..sB77MMMMMMrQz#\AtBeginDocument{\shorthandoff{%s}}rz)\deactivatetilden % restore ~ in Galicianr) \makeatletterz+ \addto\extrasestonian{\bbl@deactivate{~}} \makeatotherr)rz) \addto\extrasbasque{\bbl@deactivate{~}}rrzE% Prevent side-effects if French hyphenation patterns are not loaded:z\frenchbsetup{StandardLayout}z4\AtBeginDocument{\selectlanguage{%s}\noextrasfrench}rp)sortedrkeysr7rrrsetupextend)rOr shorthandscs` rP__call__zBabel.__call__s4.335566  3)444/#((92E2EEF  MMMM9MMMMM % %A ""!!!$$$  5 J  D " 3 34 5 5 5  " " J  J K K K  " " J  000 1 1 1 y J  000 1 1 1 bMY & &D/446666 JJ6;/15?@ @JJ yy$$$rQctj|D]!} |j|cS#t$rYwxYw|j"|j|j|zdS)z,Return TeX language name for `language_code`Nr+)r normalize_language_taglanguage_codesKeyErrorrwarningwarn_msg)rOrtags rPrzBabel.language_names/ >>  C *3////     = $ M ! !$--"? @ @ @rs ' 44c|jSrJ)rrNs rP get_languagezBabel.get_languages }rQrJ) rtrurv__doc__ritemsrr rKrrr rrQrPrr(sz''K  K  K K  K  K  K  K  K  K  K   K   K !K " #K $ )%K & 'K (  )K K *  +K ,  -K .  /K 0  1K 2 3K 4 5K 6 7K 8 9K < =K > ?K @  AK B CK F GK H IK J KK L MK N OK K K P QK R SK T UK V WK X YK Z [K \ ]K ^ _K ` aK b cK d eK f gK h iK j kK l mK n oK p qK K K r sK t uK v wK x yK z {K |  }K ~  K @ AK B CK D EK F GK H  IK J KK N OK P QK R SK K NZGF~/C/C/E/EFFFN=H*(-',  L!!!! %%%B   rQrceZdZdZdZdZdS) SortableDictzDictionary with additional sorting methods Tip: use key starting with with '_' for sorting before small letters and with '~' for sorting after small letters. cDt|S)zReturn sorted list of keys)rrrNs rP sortedkeyszSortableDict.sortedkeyssdiikk"""rQcDfdDS)z$Return list of values sorted by keysc g|] }| Srr)rkeyrOs rP z-SortableDict.sortedvalues..s777cS 777rQ)r&rNs`rP sortedvalueszSortableDict.sortedvaluess'7777T__%6%67777rQN)rtrurvr!r&r+rrQrPr$r$s< ###88888rQr$ceZdZdZdS) PreambleCmdsz'Building blocks for the latex preamble.N)rtrurvr!rrQrPr-r-s1111rQr-z\usepackage{color}zl\usepackage{float} % extended float configuration \floatplacement{figure}{H} % place figures here definitelyz%% hyperlinks: \ifthenelse{\isundefined{\hypersetup}}{ \usepackage[%s]{hyperref} \usepackage{bookmark} \urlstyle{same} %% normal text font (alternatives: tt, rm, sf) }{}z/%% local table of contents \usepackage{minitoc}zz\usepackage{longtable,ltcaption,array} \setlength{\extrarowheight}{2pt} \newlength{\DUtablewidth} % internal use in tableszI\newcommand{\DUcolumnwidth}[1]{\dimexpr#1\DUtablewidth-2\tabcolsep\relax}z*\usepackage{textcomp} % text symbol macroszQ % abstract title \providecommand*{\DUtitleabstract}[1]{\centerline{\textbf{#1}}}a % admonition (specially marked topic) \providecommand{\DUadmonition}[2][class-arg]{% % try \DUadmonition#1{#2}: \ifcsname DUadmonition#1\endcsname% \csname DUadmonition#1\endcsname{#2}% \else \begin{center} \fbox{\parbox{0.9\linewidth}{#2}} \end{center} \fi }zU % error admonition title \providecommand*{\DUtitleerror}[1]{\DUtitle{\color{red}#1}}a % title for topics, admonitions, unsupported section levels, and sidebar \providecommand*{\DUtitle}[2][class-arg]{% % call \DUtitle#1{#2} if it exists: \ifcsname DUtitle#1\endcsname% \csname DUtitle#1\endcsname{#2}% \else \smallskip\noindent\textbf{#2}\smallskip% \fi }z \providecommand*{\DUCLASScontents}{% \renewenvironment{itemize}% {\begin{list}{}{\setlength{\partopsep}{0pt} \setlength{\parsep}{0pt}} }% {\end{list}}% }za % character width in monospaced font \newlength{\ttemwidth} \settowidth{\ttemwidth}{\ttfamily M}ct|g}|D]-}|sn||.d|S)Nr+)nextstripr7rrrstrip)fpblocklines rP _read_blockr5Jsd "XXJEzz||  E T 775>> " ""rQ docutils.styrXrYz% z:::)colorfloattabletextcompceZdZdZeddeddeddiZedd ed d ed d eddeddeddeddeddeddeddddi Ziddd d!d"dd#d!d$d%d&d'd(d%d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAZidBddCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgZidhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddiddddddddddddddddddddddddddddddddddidddddddddddddddddddddddddd“ddēddƓddȓddʓidd̓ddΓddГddfddӓddՓddדddٓddۓddݓddߓddddddddddddddddddZ dddddZ dS)CharMapsz8LaTeX representations for active and Unicode characters.\z\textbackslash{}{z\{}z\}#\#$z\$%\%&z\&~z\textasciitilde{}_\_^z\textasciicircum{}"z\textquotedbl{}[z{[}]z{]}z\-i z\enskipi z\quadi i i z\,i z \hspace{0pt}i/ i z\hbox{-}i+!z\AAi!z\ensuremath{\Leftrightarrow}i`"z\ensuremath{\neq}ia"z\ensuremath{\equiv}id"z\ensuremath{\le}ie"z\ensuremath{\ge}i`&z\ensuremath{\spadesuit}ic&z\ensuremath{\clubsuit}iffrflffiffl)iiiiz\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{}iz \textflorin{}iiz\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{}rVi&!z \textohm{}i'!z \textmho{}i.!z\textestimated{}i!z\textleftarrow{}i!z\textuparrow{}i!z\textrightarrow{}i!z\textdownarrow{}i"z \textminus{}i"z\textasteriskcentered{}i"z \textsurd{}i"$z \textblank{}i%z\textopenbullet{}i%z\textbigcircle{}z\textmusicalnote{}z\textmarried{}z\textdivorced{}z \textlangle{}z \textrangle{})ij&i&i&i'i'z \ding{170}z \ding{169}z \ding{51}z \ding{55})ie&if&i'i'N) rtrurvr!ordallttspecialunsupported_unicodeutf8_supported_unicoder;pifontrrQrPr=r=gs/BB D & C% C% E C% C% C% C% C& C% C' C$ C% C% )G.               0 % ' $!" $#& +'( *)* +,38# $ &      # $ $ & ' " % ( # $!" &#$#+0LL "L  L # L ! L 'L #L %L L $L %L  L  L %L '!L" $#L$  %LL& #'L( %)L* &+L, $-L. !/L0 '1L2 3L4  5L8  9L: $;L< "=L>  ?L@  ALB $CLD "ELF $GLH "ILLLJ 'KLL %MLN )OLP  QLR  SLT "ULV 'WLX %YLZ [L\ ]L^  _L` aLb cLd eLf !gLh !iLj  kLLLl "mLn  oLp %qLr #sLt  uLv  wLx #yLz #{L| !}L~ $L@ #ALB CLD *ELF GLH ILJ $KLL #MLLN&!"  WLLLH^ FFFrQr=c&eZdZdZddZdZdZdS) DocumentClassz"Details of a LaTeX document class.Fc||_||_gd|_|jdvr|jdd|jr|jdddSdS)N)section subsection subsubsection paragraph subparagraph)bookmemoirreportscrbookscrreprtrchapterrl)document_class _with_partsectionsinsert)rOr with_parts rPrKzDocumentClass.__init__s,#666  #: : : M I . . . ? , M F + + + + + , ,rQcV|t|jkr|j|dz SdS)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)rOlevels rPryzDocumentClass.section$s/ C && & &=q) )yrQct|t|j}d|jvr|dz}|jddkr|dz}|S)a Return LaTeX equivalent of Docutils section level `depth`. Given the value of the ``:depth:`` option of the "contents" or "sectnum" directive, return the corresponding value for the LaTeX ``tocdepth`` or ``secnumdepth`` counters. rrrrl)minrr)rOdepths rPlatex_section_depthz!DocumentClass.latex_section_depth/sSE3t}--..  % % QJE = v % % QJE rQN)F)rtrurvr!rKryrrrQrPrwrwsL,, , , , ,        rQrwceZdZdZdZdZdZdZdZdZ dZ d Z d Z dd Z d ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)TableaHManage a table while traversing. Table style might be :standard: horizontal and vertical lines :booktabs: only horizontal lines (requires "booktabs" LaTeX package) :borderless: no borders around table cells :nolines: alias for borderless :colwidths-auto: column widths determined by LaTeX c||_||_d|_|g|_g|_d|_dS)NFr) _translator _latex_typer:close _colwidths_rowspan _in_thead)rO translator latex_types rPrKzTable.__init__Ks@%%$)!  rQcLd|_g|_g|_i|_d|_dS)NTF)_open _col_specscaption_attrs_in_headrNs rPopenz Table.openUs)    rQcZd|_d|_g|_i|_g|_d|_dSNF)rrrrstubscolwidths_autorNs rPrz Table.close\s3    #rQc|jSrJ)rrNs rPis_openz Table.is_opends zrQc|j|_d|vr|d|dddg|jz|dzD}|d|_d|dvs d|jvo d|dvod|v|_dS) NaligncBg|]}|dv|ddS))rrrrrrreplacerclss rPr*z)Table.set_table_style..msDPPPNNN ;;y,77ONNrQrclassesrrcolwidths-givenwidth)r:set table_stylebordersr)rOnoder`rs rPset_table_stylezTable.set_table_stylegs$,$A! d?? HHWd7m , , ,PP *|!)!5 6!%i 1PPP r{ 0DO C!L#3x7K#K 7#4DO#K 7$+$#6 rQc8|jdkr |jsdS|jS)N longtable longtable*)rrrNs rPget_latex_typezTable.get_latex_typexs%  { * *4< *<rQc||j|<dSrJr)rOattrvalues rPrz Table.set~s! DrQc2||jvr |j|SdSrJr)rOrs rPr z Table.gets! 4;  ;t$ $trQc |jdkrdSdS)Nr|r+)rrNs rPget_vertical_barzTable.get_vertical_bars <: % %3rrQ \linewidthcddddd}||d}|}|r|dvr d|d d |d g}n d |d |g}|js\|jd kr8|js1|d d|t |jdzfzn|d d|zd|S)Nz[l]z[c]z[r]r+)leftcenterrightNrrrz\noindent\makebox[\linewidth]z{%\begin{r@rrz?\setlength{\DUtablewidth}{\dimexpr%s-%i\arrayrulewidth\relax}%%rz\setlength{\DUtablewidth}{%s}%%rp) r rrrr:rrrrr)rOr align_maprropenings rP get_openingzTable.get_openings)"$#  dhhw//00((**  >Z'BBBB@EGG(2 46GG+5**ee<=G" O|z))$2K)r$I"'T_)=)=a)?!@$ABBBBr#E#MNNNyy!!!rQcDg}|jdkr|d|d|z|dr+|dvr|dd|S)Nrz \bottomrule\end{%s}rrr@rp)rr7rr rr)rOclosings rP get_closingzTable.get_closings <: % % NN> * * * {T%8%8%:%::;;; HHW   ##%%-HHH NN3   yy!!!rQc|j||j|jddS)Nstub)rr7r attributesr rOrs rP visit_colspeczTable.visit_colspecsD t$$$ $/--f5566666rQc|}dgt|jz|_|jr g|_dgt|jz}n|jr[ddtd|jDkrz zfd|jD|_d|jD}ndd |jjd vrd ndfd |jD|_t|jd ksd |jjj vrfd|jD|_d|jD}|| |z|zS)z3Return column specification for longtable. rlPg(\?c3,K|]}|ddzVdS)colwidthrNrrrs rPr z%Table.get_colspecs..s,MMTd:.q0MMMMMMrQc8g|]}|ddzzz dzS)rrg{Gzt?r)rrfactorrs rPr*z&Table.get_colspecs..sKDDD+/!'$z*:1*< =e C!& 'DDDrQcg|]}d|zS)zp{%.3f\DUtablewidth}rrrs rPr*z&Table.get_colspecs..s-???"*6@???rQ(rrrc,g|]}|dzz S)rr)rr allowance norm_lengths rPr*z&Table.get_colspecs..s8<<<#'!%Z 0 :KG<<.s4#D#D#D'/$,K#7#D#D#DrQcg|]}d|zS)p{\DUcolumnwidth{%.3f}}rrs rPr*z&Table.get_colspecs..s-???"*98C???rQ) rrrrrrr:sumparentrrr) rOrbarlatex_colspecsrrrrrs @@@@@rP get_colspecszTable.get_colspecss##%%c$/222  % ? DO!US%9%99NN  &" ?EFMMT_MMMMMKU""%+--DDDDD37?DDDDO??.2o???NN K ! (:9(EEE  <<<<<+/?<<.sB!8!8%'"&!<!8!8!8!8!8!8rQzp{%.2f\DUtablewidth}rr)rranger:r)rOrlen_multicol_widths`` rPget_multicolumn_widthzTable.get_multicolumn_widths  !8!8!8!8!8+0;;!8!8!888N( @.??-> >   33 s4>> A  A c|jsdSd|j}d|jkrd|zSd|zS)Nr+rz\caption{%s}\\ z!\caption[]{%s (... continued)}\\ )rrrr thead_depth)rOrs rP get_captionzTable.get_captionsT| 2''$,''  ,,.. . .)G3 37'AArQcV|jdkrd|jkSdS)Nrrr)rrrrNs rP need_recursezTable.need_recurses/  { * *(44666 6qrQc^|xjdz c_|jdkrdgS|jdkrdgSgS)Nrr\hline rz \toprule )rrrNs rP visit_theadzTable.visit_theadsA ! <: % %= \Z ' '!? " rQc,g}|jdkr|d|jdkrd|jkr|dnt |j}|dtd|jD}|dks |d kr;|js4|d || d |fzd zd z|d|xj dzc_ |S)Nrz \midrule rrz\endfirsthead z \endhead c3,K|]}|ddzVdS)rNrrs rPr z%Table.depart_thead..s,LLDT*-a/LLLLLLrQ z\multicolumn{%d}{%s}rz,{\raggedleft\ldots continued on next page}\\rpz\endfoot \endlastfoot ) rr7rrrrrrrrr)rOan_ctwidths rP depart_theadzTable.depart_theads1  <: % % HH] # # #  { * *D$002222+,,,,$/**'''LLDOLLLLLB;;6B;;t7J;HH4 #T%?%?3%G%GHINO $$%%%5666 !rQcd|_dSNrrrNs rP visit_rowzTable.visit_row srQcPdg}d_ttjD](}j|dkrj|xxdzcc<)jdkrňfdttjD}t|tjkr|dn]d}| |}n#t$rYnwxYw|d ||fzz }1|||S) N \\ rrrc<g|]}j|dk|dzS)rr)r)rirOs rPr*z$Table.depart_row..+s8222=+q00!000rQrr+Tz\cline{%d-%d} ) rrrrrr7reversepopr)rOresrrowspansclinec_starts` rP depart_rowzTable.depart_row#s_k s4=))** & &A}Q!## a   A%   <: % %2222U3t}+=+=%>%>222H8}}DM 2 222 ;''''  """E"*,,..%/7G2DDDE E  5!!! s!C66 DDc> ||j|<dS#t$rYdSwxYwrJrr)rOcellrs rP set_rowspanzTable.set_rowspan<s; "'DM$       DD s  c@ |j|S#t$rYdSwxYwrr)rOrs rP get_rowspanzTable.get_rowspanBs6 =& &   11 s  c|jSrJrrNs rPget_entry_numberzTable.get_entry_numberH   rQc&|xjdz c_dSNrrrNs rP visit_entryzTable.visit_entryKs QrQcdt|j|jkr|j|jSdSr)rrrrNs rPis_stub_columnzTable.is_stub_columnNs- tz??d/ / /:d/0 0urQN)r)rtrurvr!rKrrrrrrr rrrrrrrrrrr rrrr!r#r'r)rrQrPrr?s  $$$888"   """  """"* " " "777 +4+4+4Z   BBB 02  !!!rQrcVeZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZeffd ZdZdZdZd Zejd fd Zd Zd Z ddZdZddZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*d Z+d!Z,d"Z-d#Z.d$Z/d%Z0d&Z1d'Z2d(Z3d)Z4d*Z5d+Z6d,Z7d-Z8d.Z9d/Z:d0Z;d1Zd4Z?d5Z@d6ZAd7ZBd8ZCd9ZDd:ZEd;ZFd<ZGd=ZHd>ZId?ZJd@ZKdAZLdBZMdCZNdDZOdEZPdFZQdGZRdHZSdIZTdJZUdKZVdLZWdMZXdNZYdOZZdPZ[dQZ\dRZ]dSZ^dTZ_dUZ`dVZadWZbdXZcdYZddZZed[Zfd\Zgd]Zhd^Zid_Zjd`ZkdaZldbZmdcZnddZodeZpdfZqdgZrdhZsdiZtdjZudkZvdlZwdmZxdnZydoZzdpZ{dqZ|drZ}dsZ~dtZduZdvZdwZdxZdyZddzZd{Zd|Zd}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZddZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdddddZdZdZdZdZdZdZdZdZdZdZdZdZd„ZdÄZdĄZdńZdƄZdDŽZdȄZdɄZdʄZd˄ZdZd̄Zd̈́Zd΄ZdτZdЄZdфZd҄ZdӄZdԄZdՄZdքZdׄZd؄ZxZS)rLz 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. Fr6rc t|jjj_jjj_|jx_}|j*|j s#d|_tjdtd|j #d|_ tjdtd|j tjdtd|j_|j_|j_|j_|j_|j_|j_t/|dd _|j_|jd d _d _d _|jr*t=jd |j\}__}n|j rd _|j rd_|j _ tCj"|j#|j_$||j#|j_%j$j&d_'|j(g}j%j)dvr|*j%j)d+tYd|_(t[|j.|j/_0|j1d krd_2nd|j1z_2|j3_3dj(d|j.dg_4tk_6dj6d<|j7g_7tk_8g_9g_:g_;g_<g_=g_>g_?g_@g_Ag_B g_Cg_Dg_Eg_Fg_Gg_H|j#dkr"jH*d|j#zdg_Ig_Jd_Kg_Lg_Mtd_OjA_Pg_Qjdvrdjzj6d<jRsijrdjzj6d<jdD]5}|S}|d kr d!j6d"<'|d#vr d$j6d%<6|j.Td&d'krFj(Td(d'ksj(Td)d'kr d*j6d+<tjV|}d,|v_WjWr.|Xd,|jYrd_Wn d-j8d.<fd/|D_Zjd0vrd _[nd1jd2j_[|j[rxj[d|j[zz c_[|j\rd3t_^dS|j_}|'d4j0`|zt_^t|d5r4|jbd6kr+d7j0jcd|jbd6z fzj6d5<dSdSdS)8NFzXThe default for the setting "use_latex_citations" will change to "True" in Docutils 1.0. stacklevelTz[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+rHrIz (\w+)(.*)verbatimr)rr+rz\usepackage{graphicx}z\usepackage[%s]{graphicx}z\documentclass[]{r@z\usepackage{ifthen}__staticrz pdflang={%s},r)asciiunicodeutf8z\usepackage[%s]{inputenc} _inputencz\usepackage[%s]{fontenc}_fontencOT1z+\DeclareTextSymbol{\textquotedbl}{OT1}{`\"}_textquotedblOT1)r8T2AT2BT2CT4T5z,\DeclareTextSymbolDefault{\textquotedbl}{T1} _textquotedblscrrDIVBCORz\usepackage{typearea}typeareadocutilsz!\usepackage{docutils}[2020/08/28]r6c:g|]}|Sr)stylesheet_call)rpathrOs rPr*z,LaTeXTranslator.__init__..;s7888# //55888rQ)0falseFalser+zcolorlinks=true,linkcolor=z ,urlcolor=z\setcounter{secnumdepth}{0}z\setcounter{secnumdepth}{%d} sectnum_startrz\setcounter{%s}{%d})drSrKr[rrwarnerrorr`r# use_bibtexwarnings FutureWarningr:use_verbatim_when_possibleto_latex_encodingoutput_encodinglatex_encodingr0r1reference_label_reference_labelhyperlink_colorr4r_r/r5section_enumerator_separatorrliteral_block_envliteral_block_optionsresplitbibtexrr rlanguage_modulebabelauthor_separatorsauthor_separatordocumentoptionsrr7rrfilterrw documentclassuse_part_sectiond_classgraphicx_optiongraphicx_packagedocutils_footnotesr<r$r=r>r?r@rBrCrArDrErFrGrHcontext title_labelssubtitle_labels author_stackdate pdfauthorpdfinfo_section_number_enumeration_counters_max_enumeration_counters _bibitems table_stackr active_tableout out_stackis_xetexr0findr get_stylesheet_listfallback_stylesheetremover9r-hyperref_options sectnum_xformr- secnumdepthr;rhasattrrKr) rOr[ babel_classr`r* d_optionsencstylesheet_listrrVs ` rPrKzLaTeXTranslator.__init__sT """M*2 ]+1 $,#44   ' /8K /+0H ( MC'A 7 7 7 7  ( 0,0H ) ME'A 7 7 7 7  . : M5!  - - - - #44X5MNN%3!)!;#+#? ( 8'7$,$A!$XCC  3 +  1 9 9#u E E )"$%'"  % 0XlH,FGG T  #  ' T  0 0%/D "   ,'+D $)  )5h6L6>6G I I [!79JKK $ 4 Fq I-. : o 5 5   TZ0 1 1 1"xxtY(?(?@@$X%;%-%>@@   #r ) )$D !#+"="111%33356)NN(>*%'67%    "     H !   !T ) ) L   1(2H H I I I !"s&("*+&!$ 449  &B B B.J040C/DD k *} I! E1L151C2D!*-)//44 I Iiikk%<<F%&899 GGGG%o6  " ' ' . ." 4 4%**511R77(--f55;;,DD j )  3H==#-#@  # :  " ": . . .. :+0((9~.8888'6888  #> > >$&D ! !&H262F&H&H151E&H&HD !  $ E  ! !S8+D%D D ! !  ! I'EL $ $ $"0K&3l66{CCD(/22 I*a//*dl.CA.F.6.DQ.F.HH!/222 I I//rQct|}|jdv}|jjr|r|d} |d}|jj|nh#t$r[}d| dd}|j j |d| d d zcYd }~Sd }~wwxYw|rd |d }d|d |S|r|j|jz }d}nd}|jjr"|t#j|jj|zS||zS)z8Return code to reference or embed stylesheet file `path`).styr+rrXrYzCannot embed stylesheet: \\/z% rp % Nz\makeatletter z \makeatotherz% embedded stylesheet: z\usepackage{%s}z \input{%s})rsuffixr`r. with_suffixrdrecord_dependenciesaddas_posixOSErrorrr[rrMrstemr,r relative_path _destination)rOrG is_packagecontenterrmsgcmds rPrFzLaTeXTranslator.stylesheet_callmsDzz[L0 = ) " 0''// G..'.::  155dmmooFFFF  8 8 89C99AA&#NN &,,S111ckk$777777777 8  HFgFFF!dmmoo!!!! "  ;*D$CCC = ( O,T]-GNNN NT]]__$$sB C*AC%C*%C*cddddddddd d d d d dd}|}|dd}||vr||S|ddddS)zTranslate docutils encoding name into LaTeX's. Default method is remove "-" and "_" chars from docutils_encoding. latin1latin2latin3latin4iso88595latin5latin9maccyrcp1251koi8-rkoi8-ucp1250cp1252r3)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-1251rrz windows-1250z windows-1252zus-asciir7rrHr+r6)rr\r)rOdocutils_encodingrrZs rPrRz!LaTeXTranslator.to_latex_encodings %$$$&$%&&  &&!8%**,,>>#&&q) r>>h< R((00b999rQc&|jj|SrJ)r^labels)rO docutil_labels rPlanguage_labelzLaTeXTranslator.language_labels#*=99rQc|jr|Stj}|js|tj|jr|js|td=|jdvrx|j sq|j r4d|td<|j |j d<d|td<n6d|td<d |td <d |td <|j r1d |td<d |jjz|td<|j s5|jds]|tj|tj|tj|tj|D]}t|}|tjvr|jst.j|j d<;|tjvr d|j d<T|jdkr=|tjvr/d|tj|fz|j dt1|z<||}|j s5d}|j r|dz }|dzD]!}|||z|dz|z}"|jrk|d}t;|ddD])\}} | s||xxd z cc<*d|}|j r|j s|dd}|S) aUReturn 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. rH)r8r+z \underline{~}graphicxz\reflectbox{/}r>z \textbar{}rz \textless{}rG  r5r;z\usepackage{pifont}ruz"\DeclareUnicodeCharacter{%04X}{%s}r6r6z,`'"<>rz{}rpNr\\ z z ~) r0r=rqcopyupdaterrinside_citation_reference_labelrpr/ryliteralrhr=insert_non_breaking_blanksr` tab_widthrT startswithrsrtr;rur|r-strrnrinsert_newliner\ enumeratelstriprr) rOtextr:chcpseparate_charscharrsrr4s rPencodezLaTeXTranslator.encodesd = K##%%z + LL) * * *  /   c#hh   , ,T] ,| 4#3c#hh150E!*-#4c$ii  #0c#hh"0c#hh"3c#hh  * =!E#c((O #T]%<>#t44555rQc@t|jtjS)z@Check whether a node represents an inline or block-level element) isinstancerr TextElementrs rP is_inlinezLaTeXTranslator.is_inlines$+u'8999rQc|jdd|dDdS)z)Append hypertargets for all ids of `node`% c3 K|] }d|zV dS)z"\raisebox{1em}{\hypertarget{%s}{}}Nr)rrs rPr z6LaTeXTranslator.append_hypertargets..$s?#=#=*,$J#%$&#=#=#=#=#=#=rQidsN)rwr7rrrs rPappend_hypertargetsz#LaTeXTranslator.append_hypertargets sV  #=#=04U #=#=#=== > > > > >rQTc|rdndfd|dD}|r|r|dd|r|r|d|S)a Return list of label definitions for all ids of `node` If `set_anchor` is True, an anchor is set with \phantomsection. If `protect` is True, the \label cmd is made robust. If `newline` is True, a newline is added if there are labels. z\protectr+c g|] }d|zz S)z \label{%s}r)rrprefixs rPr*z1LaTeXTranslator.ids_to_labels..0s#DDD"&=2--DDDrQrrz\phantomsectionrp)rr7)rOr set_anchorprotectnewlinerrs @rP ids_to_labelszLaTeXTranslator.ids_to_labels'sz!(/RDDDDU DDD  1& 1 MM!/ 0 0 0  v MM$    rQcd|dD}|r6|ddd|d<d|dD|d<dSdS) z8Convert ``align-*`` class arguments into alignment args.c<g|]}|d|Salign-rrs rPr*z:LaTeXTranslator.set_align_from_classes..:s)LLL3>>(3K3KLLLLrQrrrr+rc<g|]}|d|Srrrs rPr*z:LaTeXTranslator.set_align_from_classes..=s?@@@s&)nnX&>&>@s@@@rQNr)rOrrs rPset_align_from_classesz&LaTeXTranslator.set_align_from_classes7s|MLYLLL  @!"I--h;;DM@@d9o@@@DOOO @ @rQNc|d|}|dkr|jddS|dkr|jddS|dkr|jddSdS)Nrrz \raggedright rz \centering rz \raggedleft )r rwr7)rOrrrs rPinsert_align_declarationz(LaTeXTranslator.insert_align_declaration@s'** F?? HOO- . . . . . h   HOOO , , , , , g   HOO, - - - - - rQc$t|jtjs|jd|dD]}|drQ|j|dd}|r,d|jj |<|jd|zht|tj r|tj dgzvr|j stj|jd <|jd |zdS) z6Open a group and insert declarations for class values.rpr language- NTz\begin{selectlanguage}{%s} rDUclassz\begin{DUclass}{%s} )rrrcompoundrwr7rr_rrr:rr{r|r-duclassr?rOrrrs rP duclass_openzLaTeXTranslator.duclass_openIs$+u~66 " HOOD ! ! ! ? @ @C~~k** @:33CG<<P:>DJ-h7HOO$Ch$NOOOT5;// @V6:K9LLLL/E0<0DDN9- 83 >???? @ @rQct|dD]}|dr?|j|dd}|r|jdVt |tjr|tj dgzvr|j stj |jd<|jddS) z$Close a group of class declarations.rrrNz\end{selectlanguage} rr\end{DUclass} )reversedrr_rrwr7rrr:rr{r|r-rr?rs rP duclass_closezLaTeXTranslator.duclass_close[sDO,, 4 4C~~k** 4:33CG<<?HOO$=>>>T5;// 4V6:K9LLLL/E0<0DDN9- 23333 4 4rQcR|j|j||_dSrJ)rxr7rw)rOnew_outs rPpush_output_collectorz%LaTeXTranslator.push_output_collectorjs% dh'''rQcB|j|_dSrJ)rxrrwrNs rPpop_output_collectorz$LaTeXTranslator.pop_output_collectorns>%%''rQcx|D]5}t|tjtjtjfsn6dSt|tjtjfr||St|tjrdSt|tj tj fsdSdS)aD Return LaTeX code required between term or field name and content. In a LaTeX "description" environment (used for definition lists and non-docinfo field lists), a ``\leavevmode`` between an item's label and content ensures the correct placement of certain block constructs. r+z \leavevmode \leavevmode) rr Invisiblefootnotecitation containerr term_postfiximager| math_block)rOrchilds rPrzLaTeXTranslator.term_postfixqs  Eeeou~&+n&677  2 eeou~> ? ? ,$$U++ + eU[ ) ) $##%%/53C!DEE "!>rrQc|j||dSrJ)rwr7rastextrs rP visit_TextzLaTeXTranslator.visit_Texts0  DKKMM2233333rQcdSrJrrs rP depart_TextzLaTeXTranslator.depart_Text rQch|ddd||dS)Nrr abbreviationr visit_inliners rPvisit_abbreviationz"LaTeXTranslator.visit_abbreviations6 Yq.111 $rQc0||dSrJ depart_inliners rPdepart_abbreviationz#LaTeXTranslator.depart_abbreviation 4     rQch|ddd||dS)Nrracronymrrs rP visit_acronymzLaTeXTranslator.visit_acronyms6 Yq),,, $rQc0||dSrJr rs rPdepart_acronymzLaTeXTranslator.depart_acronymr rQc2||ddS)Naddressvisit_docinfo_itemrs rP visit_addresszLaTeXTranslator.visit_address i00000rQc0||dSrJdepart_docinfo_itemrs rPdepart_addresszLaTeXTranslator.depart_address   &&&&&rQcd|dD|d<|jjrjtj|jd<d|dvrtj|jd<|jdd|dzdS|j stj |jd<d|dvr|j stj |jd<| ||jddS)Ncg|] }|dk| S) admonitionrrs rPr*z4LaTeXTranslator.visit_admonition..s,3333!\11111rQrrrMz \DUadmonition[%s]{rz\begin{DUadmonition}) r`r9r-admonition_legacyr? error_legacyrwr7rrr|rrMrrs rPvisit_admonitionz LaTeXTranslator.visit_admonitions33$y/333Y = / +7+IDN< ($y/))*6*Cw' HOO3CHHT)_4M4MM N N N F' C+7+BDN< ( d9o % %d.F %&2&8DN7 # $ /00000rQc|jjr|jddS|jd||dS)N} z\end{DUadmonition} )r`r9rwr7rrs rPdepart_admonitionz!LaTeXTranslator.depart_admonitionsW = /  HOOE " " " F /000 4     rQc|j||||ddS)Nauthor)ror7rrrrs rP visit_authorzLaTeXTranslator.visit_authorsH dkk$++--88999 h/////rQc0||dSrJrrs rP depart_authorzLaTeXTranslator.depart_authorrrQcdSrJrrs rP visit_authorszLaTeXTranslator.visit_authors rQcdSrJrrs rPdepart_authorszLaTeXTranslator.depart_authorsrrQcd|||jddS)Nz \begin{quote}rrwr7rs rPvisit_block_quotez!LaTeXTranslator.visit_block_quotes1 $ ()))))rQcd|jd||dS)Nz \end{quote} rwr7rrs rPdepart_block_quotez"LaTeXTranslator.depart_block_quotes1 ())) 4     rQcd|||jddS)Nz\begin{itemize}r1rs rPvisit_bullet_listz!LaTeXTranslator.visit_bullet_lists1 $ *+++++rQcd|jd||dS)Nz\end{itemize} r4rs rPdepart_bullet_listz"LaTeXTranslator.depart_bullet_lists1 *+++ 4     rQcd|jd||dS)N\textsuperscript{rwr7rrs rPvisit_superscriptz!LaTeXTranslator.visit_superscripts1 ,--- $rQcd|||jddSNr@r rwr7rs rPdepart_superscriptz"LaTeXTranslator.depart_superscript0 4    rQcd|jd||dS)Nz\textsubscript{r<rs rPvisit_subscriptzLaTeXTranslator.visit_subscripts1 *+++ $rQcd|||jddSr?r@rs rPdepart_subscriptz LaTeXTranslator.depart_subscriptrBrQc:|jddS)Nz \caption{rwr7rs rP visit_captionzLaTeXTranslator.visit_captions '''''rQc:|jddSNr$rHrs rPdepart_captionzLaTeXTranslator.depart_caption rQc|jstj|jd<|jd||dS)Ntitlereferencez\DUroletitlereference{)r|r-rOr?rwr7rrs rPvisit_title_referencez%LaTeXTranslator.visit_title_referencesM' K/;/JDN+ , 1222 $rQcd|||jddSr?r@rs rPdepart_title_referencez&LaTeXTranslator.depart_title_referencerBrQc|jr|gdS|jd||dS)Nz\begin{figure}[b])r#rrwr7rrs rPvisit_citationzLaTeXTranslator.visit_citationsX  # +  & &r * * * * * HOO0 1 1 1  $ $T * * * * *rQc |jra|jd}d|jdd}|j||g|dS|jddS)Nrr+r \end{figure} )r#rwrrrtr7r)rOrlabelrs rPdepart_citationzLaTeXTranslator.depart_citations  # /HQKE7748ABB<((D N ! !5$- 0 0 0  % % ' ' ' ' ' HOO- . . . . .rQc|jr-|j|g|jrM|js#|jdd|_dS|jddvs Jd|jd=dSd}d|vr |d}nd|vr|jj|d}|jd |zdS) Nz\cite{rrrrpz2unexpected non-whitespace while in reference labelr+refidrefname\hyperlink{%s}{[) r]rtr7rr#rrwr[nameids)rOrhrefs rPvisit_citation_referencez(LaTeXTranslator.visit_citation_reference s ; 3 N ! !4;;==/ 2 2 2  # 87 ! ***78444x|{222L322HRLLLD$G}d""},T)_= HOO/$6 7 7 7 7 7rQc|jrd}|dd}t|tjrI|dvr3|dd}t|tjrd}|r|jddS|jdd|_ dS|jddS)NFTdescendsiblingsrZrr@]}) r# next_noderrTextrcitation_referencerwr7r)rOrfollowup_citationsiblingsibling2s rPdepart_citation_referencez)LaTeXTranslator.depart_citation_reference s  # " % nnUTnBBG7EJ// -NN$$ 33",,UT,JJh(@AA-(,%  =$$$$$$$$7<444 HOOD ! ! ! ! !rQc:|jddS)Nz (\textbf{rHrs rPvisit_classifierz LaTeXTranslator.visit_classifier3s  %%%%%rQc:|jddS)Nz})rHrs rPdepart_classifierz!LaTeXTranslator.depart_classifier6 rQc:|j|dSrJ)rvrrs rPrzLaTeXTranslator.visit_colspec9s ''-----rQcdSrJrrs rPdepart_colspeczLaTeXTranslator.depart_colspec<rrQct|jtjs|jd|jd|ddztj)Nrpz%% %s r) rrrrrwr7rrSkipNoders rP visit_commentzLaTeXTranslator.visit_comment?se$+u~66 " HOOD ! ! !  DKKMM$9$9$$G$GGHHHnrQcdSrJrrs rPdepart_commentzLaTeXTranslator.depart_commentFrrQct|jtjr|jd|ddd||dS)Nrprrr)rrrrrwr7rrrs rPvisit_compoundzLaTeXTranslator.visit_compoundIs` dk5> 2 2 " HOOD ! ! ! Yq*--- $rQc0||dSrJrrs rPdepart_compoundzLaTeXTranslator.depart_compoundOr rQc2||ddS)Ncontactrrs rP visit_contactzLaTeXTranslator.visit_contactRrrQc0||dSrJrrs rPdepart_contactzLaTeXTranslator.depart_contactUrrQc0||dSrJ)rrs rPvisit_containerzLaTeXTranslator.visit_containerXs $rQc0||dSrJr}rs rPdepart_containerz LaTeXTranslator.depart_container[r rQc2||ddS)N copyrightrrs rPvisit_copyrightzLaTeXTranslator.visit_copyright^s k22222rQc0||dSrJrrs rPdepart_copyrightz LaTeXTranslator.depart_copyrightarrQc2||ddS)Nrnrrs rP visit_datezLaTeXTranslator.visit_dateds f-----rQc0||dSrJrrs rP depart_datezLaTeXTranslator.depart_dategrrQcdSrJrrs rPvisit_decorationz LaTeXTranslator.visit_decorationjr-rQcdSrJrrs rPdepart_decorationz!LaTeXTranslator.depart_decorationnrrQcdSrJrrs rPvisit_definitionz LaTeXTranslator.visit_definitionqrrQc:|jddSNrprHrs rPdepart_definitionz!LaTeXTranslator.depart_definitiontrqrQcd|||jddS)Nz\begin{description} r1rs rPvisit_definition_listz%LaTeXTranslator.visit_definition_listws1 $ 011111rQcd|jd||dS)Nz\end{description} r4rs rPdepart_definition_listz&LaTeXTranslator.depart_definition_list{1 ./// 4     rQcdSrJrrs rPvisit_definition_list_itemz*LaTeXTranslator.visit_definition_list_itemrrQcdSrJrrs rPdepart_definition_list_itemz+LaTeXTranslator.depart_definition_list_itemrrQc:|jddS)NrrHrs rPvisit_descriptionz!LaTeXTranslator.visit_descriptions rQcdSrJrrs rPdepart_descriptionz"LaTeXTranslator.depart_descriptionrrQc:||jdSrJ)rrErs rP visit_docinfozLaTeXTranslator.visit_docinfos ""4<00000rQc||jrpd|jd<|js(tj|jd<tj|jd<|jdd|jddSdS)Nz\usepackage{tabularx}tabularx_providelengthrErz@ % Docinfo \begin{center} \begin{tabularx}{\DUdocinfowidth}{lX} z\end{tabularx} \end{center} ) rrEr=r|r- providelengthr?rr7rs rPdepart_docinfozLaTeXTranslator.depart_docinfos !!### < 3,DD j )+ A3?3M/0,8,@y) L  $L M M M L  !2 3 3 3 3 3 3 3rQcF|jr |dvr|dks|js|jg|dkr6d|_||}d|_n'||}|jd|tj|dkrK|j ||tj|j d| |z|dkr=d|_|j d |j d dS|j d dS) N)r' organizationrrr'rTFrrnz\textbf{%s}: & z{\raggedright z } \\ r) r1rmr7rrrrrrvrnrwrrj)rOrnamers rPrz"LaTeXTranslator.visit_docinfo_items|  ! %GGG8##4+<#%,,R0009$$*.D';;t{{}}55D*/D'';;t{{}}55D!"%,,T222n$   T[[]]!;!;<<<n$ -0C0CD0I0IIJJJ 9  "&D  HOO. / / / L   , , , , , L   * * * * *rQcv|j|jd|_dSr)rwr7rjrrrs rPrz#LaTeXTranslator.depart_docinfo_items2  ((**+++#rQc0||dSrJ)visit_literal_blockrs rPvisit_doctest_blockz#LaTeXTranslator.visit_doctest_blockrrQc0||dSrJ)depart_literal_blockrs rPdepart_doctest_blockz$LaTeXTranslator.depart_doctest_blocks !!$'''''rQc|js/t|rXt|dtjr:|jjdk}|xj||d|z c_dSdSdS)NrrFrr) r1rrrrBr`rdrkrrOrrs rPvisit_documentzLaTeXTranslator.visit_documents  " Ec$ii E47EK00 E}2h>G   !3!3DU >+00@@G L   2W < = = = < F MMo.=E EMM : $0 #0 48I  OO    > &  # # % % % ) ) )$2D ) HOOH I I I I I * ) ) )rQc@d|jg}|jr ||jz }|jr*|ddd|jzg|jzz }|jdd|zd|jD}|jdd|z|jd d |jz|j d dS) Nr+rz\DUdocumentsubtitle{%s}z \title{%s}% c8g|]}d|S)r)rr)r author_entrys rPr*z.LaTeXTranslator.make_title..s4===&mmL11===rQz \author{%s}z \and z \date{%s}, z \maketitle ) rrrBrkrCrlrAr7rmrnrD)rO title_arg author_args rPrzLaTeXTranslator.make_titles1WWTZ(() : + * *I = 3 %4rwwt}7M7MM"23 3I mgll9.E.EEFFF==*.*;===  n(ooj99: ; ; ; lTYYty-A-AABBB $$_55555rQc |jrg|jd|jdz|jdd|jddzdS|jrd}|jD]0}t |t |dkr|d}1|jd|z|jD]N}|ddd }|jd |dd |d |dd O|jddSdS)Nz \bibliographystyle{%s} rz\bibliography{%s} rrr+z \begin{thebibliography}{%s} rIrHz \bibitem[r1}{r$z\end{thebibliography} )r]rwr7rrr#rtrr)rO widest_labelbibitemcite_keys rPrz"LaTeXTranslator.append_bibliogaphysd ; 8 HOO9DKNJ K K K HOO2SXXdk!""o5N5NN O O O O O  % 8L> . .|$$s71:66#*1:L HOO>() * * *> D D"1:--eS99!(XXXwqzzz!CDDDD HOO6 7 7 7 7 7 8 8rQcd|jd||dS)Nz\emph{r<rs rPvisit_emphasiszLaTeXTranslator.visit_emphasiss0  """ $rQcd|||jddSr?r@rs rPdepart_emphasiszLaTeXTranslator.depart_emphasisrBrQc4|j|jrf|jd|j|j|jddSdS)N & )rvr!r#rwr7r'rNs rP(insert_additional_table_colum_delimitersz8LaTeXTranslator.insert_additional_table_colum_delimiters%s++ $ 1 B B D DFF , HOOE " " "   ) ) + + +++ $ 1 B B D DFF , , , , ,rQc |jdkr|n|jdd|vrd|vrt dd|vrd|jd<|ddz}|j|j||jd ||jfz|j d nd|vr|jdkr|j }nd }|ddz}|jd |||j |j||j fz|j d n|j d t|rrt|jjtjs|jr5|jd |j d n|j d |jjsN|jddr.|r|jd|jdS)NrrmorerowsmorecolszWCells that span multiple rows *and* columns currently not supported by the LaTeX writerz\usepackage{multirow}multirowrz\multirow{%d}{%s}{r@r+z\multicolumn{%d}{%s%s%s}{\textbf{rr?rD)rvr#rrwr7NotImplementedErrorr=rrrjrrrrrrtheadr)rendswithrr')rOrmrowsbar1mcolss rPr'zLaTeXTranslator.visit_entry+s   - - / /1 4 4  9 9 ; ; ; ; HOOE " " "   *"4"4%'<== =   ,DD j )$q(E   ) ) ->>@@% I I I HOO1"D$5$F$F$H$HIJ K K K L   $ $ $ $ 4   1133q88(99;;$q(E HOO8"!!.DD!%!2!C!C!E!EuNN!.??AA CC D D D L   $ $ $ $ L   # # # t99 $*T[%7EE $!.==?? $ HOOK ( ( ( L   $ $ $ $ L   # # #!0 ! %%c** !  ! HOOC  %%'''''rQc|j|j|j|j|dSrJ)rwr7rjrrrs rP depart_entryzLaTeXTranslator.depart_entryes^  ((**+++  ((**+++ 5577777rQc8|jdSrJ)rvrrs rPrzLaTeXTranslator.visit_rowks ##%%%%%rQch|j|jdSrJ)rwrrvrrs rPrzLaTeXTranslator.depart_rowns+ )446677777rQcPddddddd}gd}d}|jre|jrG|jr@|js9d d |jd|jD|jz}|jr||jd z }||d dz }||d d}|dd }t|jdz}dtj | z}|d|d|d|} |j | | ||dkrN|j d|||f||dz kr!|j d|d| dnad|z|j|<|j d|j d| z|j d|zd|vr*|j d||ddz fzdSdS)Nr+ralphAlphromanRoman)r+r loweralpha upperalpha lowerroman upperroman))r+rr/)(r))r+rr/)r+rr/r/c34K|]}t|VdSrJ)r)rns rPr z8LaTeXTranslator.visit_enumerated_list..s8"$"$Q#a&&"$"$"$"$"$"$rQrrenumtyperrenumr>r?r@z\begin{enumerate}z \renewcommand{\labelrz\newcounter{%s}z \begin{list}z{%s}z{\usecounter{%s}}rz \setcounter{%s}{%d})r4r5 section_levelrrrrrqrXr rrtoRomanrr7rrwr?) rOrtypesdefault_labelsrrr enum_level counter_namerWs rPvisit_enumerated_listz%LaTeXTranslator.visit_enumerated_listqs#%%&& ((000  $ 93 H8J H2 H"$"$"&"67J8J7J"K"$"$"$$$&*&GH) 9$4R88$((8R(((*h778(C((344Q6  j 9 9 ? ? A AA "(&&(((LLL&&I "))%000 $ ?? HOO0 1 1 1&)^JqL-III!-uuu!6777,> +LDN< ( HOOO , , , HOOFUN + + + HOO0<? @ @ @ d?? HOO4)4=?;< = = = = = ?rQct|jdkr|jdn|jd|||jdS)Nrz\end{enumerate} z \end{list} )rrrrwr7rrrs rPdepart_enumerated_listz&LaTeXTranslator.depart_enumerated_listss t) * *a / / HOO0 1 1 1 1 HOOO , , , 4    "&&(((((rQcdSrJrrs rP visit_fieldzLaTeXTranslator.visit_fieldr-rQcdSrJrrs rP depart_fieldzLaTeXTranslator.depart_fieldrrQct|jjtjs/|j||dSdSrJ)rrrrErwr7rrs rPvisit_field_bodyz LaTeXTranslator.visit_field_bodysM$+,em<< 5 HOOD--d33 4 4 4 4 4 5 5rQcZ|j|jur|jddSdS)NrrwrEr7rs rPdepart_field_bodyz!LaTeXTranslator.depart_field_bodys3 8t| # # HOOJ ' ' ' ' ' $ #rQc|||j|jur7|jstj|jd<|jddSdS)N fieldlistz\begin{DUfieldlist})rrwrEr|r-r r?r7rs rPvisit_field_listz LaTeXTranslator.visit_field_listsc $ 84< ' '+ E.:.D{+ HOO2 3 3 3 3 3 ( 'rQc|j|jur|jd||dS)Nz\end{DUfieldlist} )rwrEr7rrs rPdepart_field_listz!LaTeXTranslator.depart_field_lists@ 84< ' ' HOO2 3 3 3 4     rQc|j|jur|jddS|jddS)Nrz \item[{rrs rPvisit_field_namez LaTeXTranslator.visit_field_namesG 8t| # # HOOK ( ( ( ( ( HOOL ) ) ) ) )rQc|j|jur|jddS|jddS)Nz}: &z:}]rrs rPdepart_field_namez!LaTeXTranslator.depart_field_namesE 8t| # # HOOF # # # # # HOOE " " " " "rQcTtj|jd<|||jdd}|dkr|jd|zn|jd|xj||dz c_dS)Nr9rrz\begin{figure} %% align = "%s" z\begin{figure} Tr) r-r9r=rrr rwr7r)rOr alignments rP visit_figurezLaTeXTranslator.visit_figures%1%7'" $O''::   HOO?)K L L L L HOO/ 0 0 0 D&&tT&:::rQcd|jd||dS)NrVr4rs rP depart_figurezLaTeXTranslator.depart_figures1 )*** 4     rQcd|g|jddS)Nz\newcommand{\DUfooter}{rrwr7rs rP visit_footerzLaTeXTranslator.visit_footer1 ""2&&& 233333rQc|jdd|j|jd<|dS)Nr@r+z~footerrwr7rrr=rrs rP depart_footerzLaTeXTranslator.depart_footerI ')wwtx'8'8)$ !!#####rQc  |dd}n#t$r|dd}YnwxYw|jr|jstj|jd<|d}|jjdkrd|z}|j d|ddd|d| |d|d|d kr#|xj | |z c_ t|d kr>t|d tjr |j d dSdSdSdS) Nbackrefsrr footnotesr[%s]z% \DUfootnotetext{rnamesrrD)rrir|r-r!r?rr`footnote_referencesrwr7rrrrrr|)rOrbackrefnums rPvisit_footnotezLaTeXTranslator.visit_footnotese %:&q)GG % % %5k!nGGG %  " %+ E.:.D{+q'..""C}0J>>sl HOOO!%[^^^WWWdkk#6F6F6F6FH I I IE{d7m++D..t4444yy1}}DGU_!E!E}$$$$$ % %}}}s ,,c:|jddSrKrHrs rPdepart_footnotezLaTeXTranslator.depart_footnote rMrQcd}d|vr |d}nd|vr|jj|d}|jj}|dkrN|||jd|z|jddS|jstj |j d<|jd|d d d |d |jd dS) Nr+r[r\rr]rer!z\DUfootnotemark{rrrr@) r[r^r`r$rrwr7rjr|r-r!r?)rOrr_formats rPvisit_footnote_referencez(LaTeXTranslator.visit_footnote_reference s d??=DD $  =(i9D2 Z    $ $T * * * HOO/$6 7 7 7 L   % % % % %+ E.:.D{+ HOOO!%[^^^TTT3 4 4 4 L   $ $ $ $ $rQch|j|jdSrJrwr7rjrrs rPdepart_footnote_referencez)LaTeXTranslator.depart_footnote_reference! s*  ((**+++++rQct|jtjr tjt|jtjsJ|js|j|dSdSrJ) rrrrrvrr#rwr7)rOrbracketrs rP label_delimzLaTeXTranslator.label_delim% si dk5> 2 2 ). dk5>:: : ::+ )((((( ) )rQc4||dddS)z9footnote or citation label: in brackets or as superscriptrLr;Nr2rs rP visit_labelzLaTeXTranslator.visit_label- s! s$899999rQc4||dddS)NrMr@r4rs rP depart_labelzLaTeXTranslator.depart_label1 s  sC(((((rQcdSrJrrs rPvisit_generatedzLaTeXTranslator.visit_generated5 rrQcdSrJrrs rPdepart_generatedz LaTeXTranslator.depart_generated8 rrQcd|g|jddS)Nz\newcommand{\DUheader}{rrs rP visit_headerzLaTeXTranslator.visit_header; rrQc|jdd|j|jd<|dS)Nr@r+z~headerrrs rP depart_headerzLaTeXTranslator.depart_header? rrQcl|tjdtdtjd|}|s|S|dd\}}|dvrd|z}nS|dkrd t |d z z}n7|jr0|d kr*|jstj |j d <d |j d <d|z}|S)z=Convert `length_str` with rst length to LaTeX length Nz|The optional argument `pxunit` of LaTeXTranslator.to_latex_length() is ignored and will be removed in Docutils 0.21 or laterrr-z(\d*\.?\d*)\s*(\S*))r+rz%sbprDz%.3f\linewidthY@pxrz$ \DUprovidelength{\pdfpxdimen}{1bp} z %s\pdfpxdimen) rOrLDeprecationWarningr[matchgroupsr9ryr|r-rr?)rO length_strpxunitrDrunits rPto_latex_lengthzLaTeXTranslator.to_latex_lengthD s   M@#q  2 2 2 2 /<<  llnnRaR( t :  %JJ S[[*eEll5.@AJJ ] 2tt||+ N3?3M/0#MDN4 )E1JrQc4|j|jd<|j}t|ddd}d|vr9t |jtjrd|d<| |g}g}g}ddd d d d d }d|vrV ||d}| |d| |dn#t$rYnwxYwd|vr1| d| |dzd|vr!| d|ddz zd|vr1| d| |dz| |s@t |jtjtjfs| d| |s4t |jtjs| d||j|d} |rdd|z} |j d| d|d|j|dS)Nrurir>rrrr+r+)z\raisebox{-0.5\height}{r@)z\raisebox{-\height}{r@)z!\noindent\makebox[\linewidth][c]{r@)z \noindent{z\hfill})z\noindent{\hfillr@)bottommiddletoprrrrrheightz height=%sscalezscale=%frArzwidth=%srpr+r"rz\includegraphicsr?r@)rhr=rrrrrrfigurerr7rrIrrrrwrrr) rOrattrs imagepathprepostinclude_graphics_options align_codes align_codeoptionss rP visit_imagezLaTeXTranslator.visit_imagea s(,(=*% u..66tSAA %  $+u|44 *!)g  ' ' - - -#% 74A10    e   (w8  :a=))) JqM****     u   $ + +d225?CCC E E E e   $ + +eGnu45 7 7 7 e   $ + +T11%.AAA C C Ct$$ dkEL%.+IJJ  JJt   t$$ dk5<88  KK      # D)A B BCG WWWiiiHIII sAC C#"C#cP|xj||dz c_dS)NTr)rwrrs rP depart_imagezLaTeXTranslator.depart_image s) D&&tT&:::rQcX|dD]}|drQ|j|dd}|r,d|jj|<|jd|zh|jstj|j d<|jd|zdS)NrrrTz\foreignlanguage{%s}{inlinez \DUrole{%s}{) rr_rrrwr7r|r-r_r?rs rPrzLaTeXTranslator.visit_inline s ? 7 7C~~k** 7:33CG<<I:>DJ-h7HOO$. s(EE4SYYEEEEEErQrpz \end{minipage} z\begin{quote} z \end{quote} literal_blockz\lstset{xleftmargin=0pt} rr@z \end{%s}z\usepackage{alltt}rqz\begin{alltt} z \end{alltt}z\ttfamily\raggedright r+N)%rYr}rvrrrrsidebarr`r9rsystem_messagerrrrwrrwr-r8r=r|rxr?rr7maxrr\rjrr0rZrqrrr) rOrpackages literal_env _plaintext _in_table_autowidth_table _no_env_nodes_use_env _use_listingss rPrz#LaTeXTranslator.visit_literal_block s $G7 8#; == , &&t,, %--// %I):)I7 = / F e.0DE EMLjm&L&L"L$ 4B(  $ D&&tT&::: F$y/)) .&88)5);D g &+ F)5)Ev&  & &*: &&2%6DN6 " HOO4EE4;;==+>+>t+D+DEEEEEG H H H L   5 6 6 6 6 &= & HOO. / / / L   2 3 3 3 3 L   % % %  $8 $-= $,9 $ 5=k5J!/22     DM ?] ? =>>> HOOO([[$*D*D*DF G G G L   ; < < < < <  $. $DJ)>D g & HOO. / / / L   0 1 1 1 1 1DL"&D .2D + HOO7 8 8 8 L   # # # # #sH** H76H7c:d|_d|_d|_d|_d|_|j|j|j|j| |dSr) rrrr0rqrwr7rjrrrs rPrz$LaTeXTranslator.depart_literal_blockC s*/'#     ((**+++  ((**+++ 4     rQcT|jd}|jd}|r|sdS|dvr#|jd|d|ddS|dkr|jd|zdS|jd |d|d dS) Nrr)r'creatorkeywordssubjectrBz pdfz={z},producerz addtopdfproducer={%s},z pdfinfo={z}},)rr rpr7)rOrrrs rP visit_metazLaTeXTranslator.visit_metaM s""6**/%%i00 7  F H H H L   www ? @ @ @ @ @ Z   L   :7 B C C C C C L   ggg F G G G G GrQcdSrJrrs rP depart_metazLaTeXTranslator.depart_meta\ rrQrCc||d|jd<|tj}|dkr|jrddg}n)$KKMM++K,EFF s??z % %.*'''MMF*X5wwv"X-/G q)$$$     4   nrQcdSrJrrs rP depart_mathzLaTeXTranslator.depart_mathu rrQcvt|}|||dS)N)r)r rr)rOrrs rPvisit_math_blockz LaTeXTranslator.visit_math_blockx s3(77 x00000rQcdSrJrrs rPdepart_math_blockz!LaTeXTranslator.depart_math_block| rrQcX|jdr|jddSdS)Nrr)rjrwr7rs rP visit_optionzLaTeXTranslator.visit_option s5 <  " HOOD ! ! ! ! ! " "rQc0|jdxxdz cc<dS)Nrr)rjrs rP depart_optionzLaTeXTranslator.depart_option s& RArQcb|j|dddS)z@Append the delimiter between an option and its argument to body. delimiterrN)rwr7r rs rPvisit_option_argumentz%LaTeXTranslator.visit_option_argument s* c2233333rQcdSrJrrs rPdepart_option_argumentz&LaTeXTranslator.depart_option_argument rrQcn|jd|jddS)Nz \item[r)rwr7rjrs rPvisit_option_groupz"LaTeXTranslator.visit_option_group s2  $$$ ArQcl|j|jddS)Nz] )rjrrwr7rs rPdepart_option_groupz#LaTeXTranslator.depart_option_group s0  rQc|js(tj|jd<tj|jd<|||jddS)Nr optionlistz\begin{DUoptionlist})r|r-rr?rrrwr7rs rPvisit_option_listz!LaTeXTranslator.visit_option_list s\' C/;/IDN+ ,+7+BDN< ( $ /00000rQcd|jd||dS)Nz\end{DUoptionlist} r4rs rPdepart_option_listz"LaTeXTranslator.depart_option_list s1 /000 4     rQcdSrJrrs rPvisit_option_list_itemz&LaTeXTranslator.visit_option_list_item rrQcdSrJrrs rPdepart_option_list_itemz'LaTeXTranslator.depart_option_list_item rrQcdSrJrrs rPvisit_option_stringz#LaTeXTranslator.visit_option_string r-rQcdSrJrrs rPdepart_option_stringz$LaTeXTranslator.depart_option_string r-rQc2||ddS)Nrrrs rPvisit_organizationz"LaTeXTranslator.visit_organization s n55555rQc0||dSrJrrs rPdepart_organizationz#LaTeXTranslator.depart_organization rrQc|j|}|dkrBt|jtjtjtjtjfrn|dkrTt|jtjr5t|j|dz tjtjfsnd|j j r>|dkr| d||dkr|j dn|j d|xj ||dz c_ ||dS)Nrrz:LaTeX merges paragraphs in tables with auto-sized columns! base_noderpTr)rindexrr list_item descriptionrrr|rvrrLrwr7rr)rOrrs rPvisit_paragraphzLaTeXTranslator.visit_paragraph sQ  !!$'' A::*T[&+ou7H&+neo&GHH: aiiT[%.99 UQY!7"'/5>!BDD    - "zz 5@DFFFqyy%%% HOOD ! ! ! D&&tT&::: $rQc|||jjs|jddSdSr)r rvrrwr7rs rPdepart_paragraphz LaTeXTranslator.depart_paragraph sH 4    / " HOOD ! ! ! ! ! " "rQctj|jd<|jd|||jd|dzdS)Nr8rz"\hyperlink{%s}{\textbf{\color{red}r[)r-r8r=rwr7rrs rPvisit_problematicz!LaTeXTranslator.visit_problematic s^%1%7'"    &&& =W MNNNNNrQc:|jddS)N}}rHrs rPdepart_problematicz"LaTeXTranslator.depart_problematic rqrQcFd|ddvr tj||s9t |jtjs|j d| |d|_ dS)Nrr+r+rpT) r r\rrvrrrrrwr7rr0rs rP visit_rawzLaTeXTranslator.visit_raw s $((8R006688 8 8. t$$ "dk5>:: " HOOD ! ! ! $ rQcd|_||||s|jddSdS)NFrp)r0r rrwr7rs rP depart_rawzLaTeXTranslator.depart_raw sU  4   ~~d## " HOOD ! ! ! ! ! " "rQcZd}|D]!}|dkr|dz }|dkr|dz}|dkrdS"|dkS)z7Test whether there are unmatched '{' or '}' characters.rr?rr@Tr)rOrfrrs rPhas_unbalanced_bracesz%LaTeXTranslator.has_unbalanced_braces sY  BSyy Syy qyyttzrQc tddtddtddi}d|vrt|d|}|dd ks||r|d |z|d|kr)|jd |ztj |jd |zdSd |vr |d }n,d|vr|j j |d}ntd||s|jd|jd|z|jrF|jd|jd|dddtj dS)NrArBrDrEr>rrefuriz^^rzYExternal link "%s" not supported by LaTeX. (Must not contain "^^" or unbalanced braces.)z\url{%s}z \href{%s}{r[r\zUnknown reference.rpz\hyperref[%s]{r?r+r)rprrnrzrrMrrwr7rrvr[r^AssertionErrorrrVr)rOr special_charsr_s rPvisit_referencezLaTeXTranslator.visit_reference sS5S5TF t  tH~&&00??Dyy"$$(B(B4(H(H$ EGKLMMMH~.. d 2333n$ HOOMD0 1 1 1 F d??=DD $  =(i9DD !566 6~~d## " HOOD ! ! ! )D0111   ! HOOO!222DLLb4I4I4I4IK L L L.  ! !rQc|jd||s|jddSdS)Nr@rp)rwr7rrs rPdepart_referencez LaTeXTranslator.depart_reference sN ~~d## " HOOD ! ! ! ! ! " "rQc2||ddS)Nrevisionrrs rPvisit_revisionzLaTeXTranslator.visit_revision" s j11111rQc0||dSrJrrs rPdepart_revisionzLaTeXTranslator.depart_revision% rrQcp|jstj|jd<|jddS)Nrubricz \DUrubric{)r|r-rr?rwr7rs rP visit_rubriczLaTeXTranslator.visit_rubric( s8' ;'3':DN8 $ (((((rQc:|jddSrKrHrs rP depart_rubriczLaTeXTranslator.depart_rubric/ rMrQc|xjdz c_|jd|j|jdz xxdz cc<dS)Nrr)rrqr7rs rP visit_sectionzLaTeXTranslator.visit_section2 sZ a ##A&&& T/!3444944444rQcX|j|xjdzc_dSr&)rqrrrs rPdepart_sectionzLaTeXTranslator.depart_section9 s1   """ arQc||tj|jd<|jstj|jd<|jddS)Nr8rz \DUsidebar{) rr-r8r=r|rr?rwr7rs rP visit_sidebarzLaTeXTranslator.visit_sidebar> sZ $%1%7'"' =(4( 2 2 /  & &t} 5 5 5+ S5A5R12}2h>G  D$6$6t?F%7%H%H H  U] 3 3 / HOOH L001Ca1GHHI J J J J J+ C-9-Bz* HOO- . . . . .rQct|jtjr|dS|jddSrK)rrrr[rrwr7rs rPdepart_subtitlezLaTeXTranslator.depart_subtitle| sJ dk5> 2 2 #  % % ' ' ' ' ' HOOE " " " " "rQc tj|jd<|jstj|jd<|jjrtj|jd<dg|d<| ||jjr|j dn|j d| | d|dz}n#t$rd }YnwxYw|j d |d d |d d||dd|d t|ddkrE|j d|ddz|j ddSdt#|dD}|j dd|zdS)Nr8rBzsystem-messagerz) \DUtitle[system-message]{system-message z \DUtitle{system-message z , line~%sr4r+z} {\color{red}typerrz } in \texttt{sourcer@rpr rz \hyperlink{%s}{rc(g|]\}}d||dzfzS)z\hyperlink{%s}{%d}rr)rrr_s rPr*z8LaTeXTranslator.visit_system_message.. s?FFF%Q.qs ;FFFrQz backrefs: r)r-r8r=r|rBr?r`r9 title_legacyr"rwr7rrrrrjrrr)rOrr4r s rPvisit_system_messagez$LaTeXTranslator.visit_system_message s%1%7'"' 9&2&8DN7 # = / @&2&?DN7 #+,Y d### = / < HOOJ K K K K HOO: ; ; ;   &&& f-DD   DDD  ftG}}}T(^4444ddd< = = = tJ A % % HOO04 3CA3FF G G G L   $ $ $ $ $FF)24 3C)D)DFFFH L   sxx/A/A A B B B B Bs C CCc|j|j||dSrJ)rwr7rjrr%rs rPdepart_system_messagez%LaTeXTranslator.depart_system_message s>  ((**+++ t$$$$$rQc<||tj|jd<|jjstj|jd<|jr4|j |jt|d|_|jj dkrt|jtjrn|j|dkrP|j|jddkr|j d|j|j||j|jjd kr d |jd <|gdS) Nr:table1tabularrrr|rrrz\usepackage{booktabs})rr-r:r=r`r:table_columnwidthrvrrur7rrrrrryrrfrrzrwrrrrrs rP visit_tablezLaTeXTranslator.visit_table s{ $%1%7'"}1 I*6*HD h '   $ $ & & 7   # #D$5 6 6 6 %dI 6 6D    )[ 8 84; 66 9 !!$''1,, $$%'''+tK'8'8B?? HOON + + +     ))$ >>>   $ 2 2,DD j ) ""2&&&&&rQc|j}| ||d}n#t$rd}YnwxYw|j|j||xj|z c_|j|jdz|jt|j dkr|j |_|xj| |ddz c_| |dS)NrrrprFTr)rwrrIrr7rvrrrrrurrr)rOrrrs rP depart_tablezLaTeXTranslator.depart_table s?( !!### "((g77EE " " "!EEE " )55e<<=== G )5577$>??? !!! t 1 $ $ $ 0 4 4 6 6D  D&&tt&LLL 4     s9 AAcd|vsd|vsd|vrdS|jdt|jtjtjf }|xj|||z c_dS)Nrr[r\r)rwr7rrrrrBr)rOrrs rP visit_targetzLaTeXTranslator.visit_target s{   $D  F #DK%-1MNNN  D&&tZ888rQcdSrJrrs rP depart_targetzLaTeXTranslator.depart_target rrQc|jds,|||ddSdS)Npreamble written)rvr rr rs rP visit_tbodyzLaTeXTranslator.visit_tbody sV $$%788 $   T " " "   d # # # # # $ $rQcdSrJrrs rP depart_tbodyzLaTeXTranslator.depart_tbody rrQc:|jddS)zdefinition list termz\item[{NrHrs rP visit_termzLaTeXTranslator.visit_term s  #####rQc|jd|dd}t|tjs/|j||dSdS)Nz}] FTrb)rwr7rfrr classifierr)rOrrfs rP depart_termzLaTeXTranslator.depart_term st NN54N@@ )U%566 : HOOD--i88 9 9 9 9 9 : :rQcdSrJrrs rP visit_tgroupzLaTeXTranslator.visit_tgroup rrQcdSrJrrs rP depart_tgroupzLaTeXTranslator.depart_tgroup rrQc|jSrJ) _thead_depthrNs rPrzLaTeXTranslator.thead_depth r$rQc|xjdz c_d|krP|jd|j|z|jdd|j|j|j|j dS)Nrz{%s} r ) r.rrwr7rvrrrrrrs rPrzLaTeXTranslator.visit_thead s Q   "" " " HOOHt'8'E'Ed'K'KK L L L   ! !"4a 8 8 8 )5577888 )557788888rQc|_|j|j|jr|||xjdzc_dSr&)rwrrvr rr\r.rs rPr zLaTeXTranslator.depart_thead sn   HOOD-::<< = = = --// %t$$$ QrQct|jtjrx||j|jd|jd| | zdSt|jtj s>t|jtj st|jtj r|jdp |jjg}|jjrEt"j|jd<|jdd|zn5|jst"j|jd<|jd|jddSt|jtjr;||jj|jddSt5t"d rt"j|jd <|j}|j|}|jd |tA|jj!kr|jjr/t"j|jd<|d tEj#|zz }n^|js(t"j|jd<t"j$|jd <|jd tEj#|zd|jdvr]t"j%|jd<| | }|jd|d|dn|jd|zdg}||&|jdz }|jd|dz|tA|jj!kr#|jjs|jdxxdz cc<dSdSdS)z Append section and other titles.r+z pdftitle={%s},rrBz \DUtitle[%s]{rz \DUtitle{r$rz z [section%s]rz\begin{DUclass}{section%s} zsystem-messagesr8r>rLz ]{\color{red}z\%s{F)rrz% } rrN)'rrrr[rrBrjr7rprrtopicrrtagnamer`r9r-rr?rwrrr|r:rvrrrr=rrfryrrrrrr8r)rOrrr section_name section_titlebookmarks rP visit_titlezLaTeXTranslator.visit_title s dk5> 2 2= 7  & &tz 2 2 2 L   # # # L   2 $ DKKMM : :!; < < < < <ek227 7DK)9::7 7DK777 7k),E1D0EG}3 0*6*Cw' 2SXXg5F5F FGGGG/A.:.@DN7+/// L   & & & & &  U[ 1 1* 7  & &t'8'@ A A A L   # # # # #|]33 L3?3K!-0&E<//66L HOOF # # #s4<01111=7<.:.GDN7+ MEM%4H4H$HHLL3I2>2Dw/4@4Hy1HOO$C&+mE&:&:%;<<<!DK $:::-9-?!'* $ DKKMM : :  , mmm!=>>>>, 6777tH **4;5*II IH L   X 6 6 A B B BDL12222 <3 R   $66     3222rQc|j|jt |jt jt jfr| dSdSrJ) rwr7rjrrrrr:r[rrs rP depart_titlezLaTeXTranslator.depart_titleW sc  ((**+++ dkEK#@ A A (  % % ' ' ' ' ' ( (rQc |jr~d|dvrt|j|j}dddd}d|jjvr|d= ||}n4#t $r'|d |z| tjwxYw|j d |d r%|xj | |d z c_ t| tjrd|dvrw|jjdkrg|j d|jdz| |ddgdfz|js+t&j|jd<||dS|dd}t/|jj}t| tjr.||d}nd}d|dvrt&j|jd<d|z|jd|z<d||fz|jd|z<dddd}d|jjvrd|d<|r(|j d ||||zfz|j d!|d"|d#|j d$|zn{|r5|j d%|j|z|d&kr|j d'|z|j d(d |_tj))z_Write the table of contents. Called from visit_topic() for "contents" topics. localrrlminisect)rlrryrryzUSkipping local ToC at "%s" level. Feature not supported with option "use-latex-toc"rrpr#Trrz\pdfbookmark[%d]{%s}{%s} rrcontentsrztoc-listNrr+rz\do%stoczminitoc-z\mtcsetdepth{%stoc}{%d}zminitoc-%s-depth)r=r<rlrz\setcounter{%stocdepth}{%d}z \mtcsettitle{ztoc}{r$z\%stoc z\setcounter{tocdepth}{%d} Contentsz!\renewcommand{\contentsname}{%s} z\tableofcontents )r0rfryrrrrLrrvrwr7rrrfrBr`rdrr r-toc_listr?rrrrr=rr) rOrr4 minitoc_namesmtc_namermaxdepthrBoffsets rPvisit_contentszLaTeXTranslator.visit_contents\ s   %'T)_"<"<<//0BCCL%+(.(.00MDL111!), %(6 % % % P()48:::n$  %  = ? HH**4*>> >HH t~~'' 5 5 @tI.. +x77 HOO9!/1!^^--4466!XXej\::1=?? @ @ @ ! )5)>DN: &   d # # # F!$$t|,-- dnn&& 4 4 KKQ 0 011EEE d9o % %+7+?D i (5@5ID j1 2*h-AA  08; < A66FDL111!#v F >!)56(3C+C D!EFFF HOOOHHHeeeL M M M HOOK(2 3 3 3 3 K >"&,"B"B5"I"I!JKKK "" F NOOO HOO1 2 2 2!%D ns A1Bcd|dvr||dSd|dvr|jjry||j|jdt|tj r| ddSdSd|dvrV|j stj|jd<|jjrtj|jd<||jn\d|dvr6|j stj|jd<||jn|ddd||dS)Nr>rrGz\begin{abstract}rrFr2)rEr`r2rrGrwr7rrfrrBrr|r-r?r9abstract_legacyrFrr2rs rP visit_topiczLaTeXTranslator.visit_topic s i ( (    % % % % %DO++-2,  & &t} 5 5 5 HOO/ 0 0 0$..**EK88    T)_,,/G1=1FDN:.=7N1=1MDN:.**4=9999i00/K3?3JDN<0**4?;;;;Y&&q'222  " "4 ( ( ( ( (rQc&d|dvr'|jjr|jdn5d|dvr||n||d|dvs d|dvr|dSdS)NrGrz\end{abstract} r>rF)r`r2rwr7rr5rrs rP depart_topiczLaTeXTranslator.depart_topic s $y/ ) ) 0 * HOO/ 0 0 0 0 4 ? * *   t $ $ $ $  # #D ) ) ) $y/ ) )tI..  % % ' ' ' ' '/.rQc|jstj|jd<|jd|jddS)N transitionzN %___________________________________________________________________________ z\DUtransition )r|r-rLr?rwr7rs rPvisit_transitionz LaTeXTranslator.visit_transition sM' C+7+BDN< ( /000 *+++++rQcdSrJrrs rPdepart_transitionz!LaTeXTranslator.depart_transition rrQc2||ddS)Nversionrrs rP visit_versionzLaTeXTranslator.visit_version rrQc0||dSrJrrs rPdepart_versionzLaTeXTranslator.depart_version rrQc:td|jjz)Nz$visiting unimplemented node type: %s)rrVrtrs rPrz#LaTeXTranslator.unimplemented_visit s$!"H"&."9#:;; ;rQ)TFFrJ)rC)rtrurvr!ryr4r5rXrrrr0rrrrqrrKrFrRrrr[compilerrrrrrrrrrrrrrr rrrrr"r%r(r*r,r/r2r5r7r9r=rArDrFrIrLrPrRrTrXr`rlrnrprrtrwryr{r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr'rrrrrrrrrr r rrrrrrr'r)r,r/r2r5r7r9r;r=r?rIr[r]rr rcrergrjrnrprrrtryr{r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrrrrrr!r#r%r(r*r,r.rrr r7r9rErHrJrMrOrRrTrrrs@rPrLrLTs H!&+"$' MM',#H!&NG E-2aIaIaIaIaIaIR%%%B&:&:&:P:::UUUp%"*^446666:::>>>rcs+ $#"  '''''')LLLL)))((((((((((()@?????????????******BBBBBBBB4>>(E2E2E2E2E2W^E2E2E2Pkkkkkkkkb 8 8 8 8 84 8 8 8022222222 / >   6  3 J   C  " ?    ( ### T > )G<<< 7 7 7zz&!!}}T""  [[%%   !k"oo @ @ @%++--K  j+6666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7(hhhhhhhh^&&&&&&&&RRRRRRRRRjL";L";L";L";L";e'L";L";L";L";L";s#44 A9FFF