o ×$•a!Dã@sDdZddlZddlZddlmZddlmZddlmZm Z m Z m Z m Z m Z mZmZddlmZmZddlmZmZmZddlmZmZdd lmZdd lmZdd lmZdd l m!Z!dd l"m#Z#m$Z$m%Z%ddl&m'Z'm(Z(m)Z)ddl*m+Z+ddl,m-Z-m.Z.ddl/m0Z0ddl1m2Z2zddl3m4Z4Wne5y¡ddl6m4Z4Ynwer°ddl7m8Z8ddl9m:Z:e' ;e<¡Z=dZ>gd¢Z?edd„ddddddœƒZ@d ZAd!ZBe Cd"¡ZDGd#d$„d$ejEƒZFGd%d&„d&e!ƒZGGd'd(„d(ejHƒZIGd)d*„d*ƒZJGd+d,„d,ƒZKd-eLd.eLfd/d0„ZMd9d2eLd3eNd.eLfd4d5„ZOGd6d7„d7e+ƒZPdd8lQmRZRmSZSmTZTdS):a0 sphinx.writers.latex ~~~~~~~~~~~~~~~~~~~~ Custom docutils writer for LaTeX. Much of this code is adapted from Dave Kuhlman's "docpy" writer from his docutils sandbox. :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. éN)Ú defaultdict)Úpath)Ú TYPE_CHECKINGÚAnyÚDictÚIterableÚListÚSetÚTupleÚcast)ÚnodesÚwriters)ÚElementÚNodeÚText)ÚaddnodesÚ highlighting)ÚRemovedInSphinx50Warning)Ú IndexEntry)ÚStandardDomain)Ú SphinxError)Ú_Ú__Úadmonitionlabels)ÚloggingÚ split_intoÚ texescape)ÚSphinxTranslator)Ú clean_astextÚ get_prev_node)Ú LaTeXRenderer)Útex_replace_map)ÚtoRoman)Ú LaTeXBuilder)ÚThemeé)ÚpartÚchapterÚsectionÚ subsectionÚ subsubsectionÚ paragraphÚ subparagraphcCsdS)Nú\arabic©r.r.r.ú6/usr/lib/python3/dist-packages/sphinx/writers/latex.pyÚ3sr0r-z\alphz\Alphz\romanz\Roman)ÚarabicÚ loweralphaÚ upperalphaÚ lowerromanÚ upperromanÚ z z^(.*\S)\s+\(([^()]*)\)\s*$c@óeZdZdZdS)Úcollected_footnotez5Footnotes that are collected are assigned this class.N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r.r.r.r/r8Aór8c@r7)ÚUnsupportedErrorzMarkup is unsupported in LaTeXN)r9r:r;Úcategoryr.r.r.r/r>Er=r>csreZdZUdZddddgddifddgdd ifd d gddifffZiZeed <d Zd‡fdd„ Z ddd„Z ‡Z S)Ú LaTeXWriter)Ú sphinxlatexzLaTeX writer optionsÚz Document namez --docnameÚdefaultzDocument classz --docclassÚmanualÚAuthorz--authorÚsettings_defaultsNÚbuilderr#Úreturncstƒ ¡||_d|_dS©N)ÚsuperÚ__init__rGÚtheme)ÚselfrG©Ú __class__r.r/rKVs  zLaTeXWriter.__init__cCspz |j |j|j|j¡}Wnty'tjdtdd|j |j|j¡}Ynw|j |¡t t |ƒ  ¡|_ dS)Nú0LaTeXTranslator now takes 3rd argument; "theme".é©Ú stacklevel) rGÚcreate_translatorÚdocumentrLÚ TypeErrorÚwarningsÚwarnrÚ walkaboutr ÚLaTeXTranslatorÚastextÚoutput)rMÚvisitorr.r.r/Ú translate[s ÿý zLaTeXWriter.translate)rGr#rHN)rHN) r9r:r;Ú supportedÚ settings_specrFrÚ__annotations__r\rKr^Ú __classcell__r.r.rNr/r@Is ý r@c@szeZdZdZdeddfdd„Zdefdd„Zdefd d „Z defd d „Z d e de ddfdd„Z dde de ddfdd„Z dS)ÚTablez A table dataÚnoderHNcCsxg|_g|_| dd¡|_| dg¡|_d|_d|_g|_d|_d|_ d|_ d|_ g|_ d|_ d|_ttƒ|_d|_dS)NÚalignrCÚclassesrF)ÚheaderÚbodyÚgetrerfÚcolcountÚcolspecÚ colwidthsÚhas_problematicÚhas_oldproblematicÚ has_verbatimÚcaptionÚstubsÚcolÚrowrÚintÚcellsÚcell_id©rMrdr.r.r/rKls   zTable.__init__cCs|jdkp d|jvS)z5True if and only if table uses longtable environment.éÚ longtable)rsrf©rMr.r.r/Ú is_longtable‚szTable.is_longtablecCs>| ¡rdS|jr dS|jrdS|js|jrd|jvrdSdS)z›Returns the LaTeX environment name for the table. The class currently supports: * longtable * tabular * tabulary ryÚtabularÚtabularyúcolwidths-given)r{rorkrmrlrfrzr.r.r/Úget_table_type†s zTable.get_table_typecs¸|jr|jS|jr&d|jvr&t|jƒ‰‡fdd„|jDƒ}dd |¡tS|jr3d|j|jftS| ¡dkrDdd |jd tS|j rQd|j|jftSdd |jd tS) zßReturns a column spec of table. This is what LaTeX calls the 'preamble argument' of the used table environment. .. note:: the ``\X`` and ``T`` column type specifiers are defined in ``sphinx.sty``. r~csg|]}d|ˆf‘qS)z \X{%d}{%d}r.)Ú.0Úwidth©Útotalr.r/Ú ¥sz%Table.get_colspec..z{|%s|}ú|z{|*{%d}{\X{1}{%d}|}}r}z{|zT|ú}zl|) rkrlrfÚsumÚjoinÚCRrmrjrrn)rMÚcolspecsr.r‚r/Ú get_colspecšs  zTable.get_colspecÚheightrcCsl|jd7_t|ƒD](}t|ƒD]!}|j|j||j|fdks$J‚|j|j|j||j|f<qq dS)zsAdds a new cell to a table. It will be located at current position: (``self.row``, ``self.col``). érN)rvÚrangerursrr)rMrŒrrrrsr.r.r/Úadd_cell±s  "þÿzTable.add_cellrsrrÚ TableCellcCs@z|dur|j}|dur|j}t|||ƒWStyYdSw)zöReturns a cell object (i.e. rectangular area) containing given position. If no option arguments: ``row`` or ``col`` are given, the current position; ``self.row`` and ``self.col`` are used to get a cell object by default. N)rsrrrÚ IndexError)rMrsrrr.r.r/Úcell¼s ÿz Table.cell)NN)r9r:r;r<rrKÚboolr{Ústrrr‹rtrr’r.r.r.r/rcis rcc@sNeZdZdZdedededdfdd„Zedefd d „ƒZedefd d „ƒZ dS) rzData of a cell in a table.ÚtablersrrrHNcCsÌ|j||fdkr t‚||_|j||f|_||_||_|j|jd|jf|jkr?|jd8_|j|jd|jf|jks*|j|j|jdf|jkrd|jd8_|j|j|jdf|jksMdSdS©Nrr)rur‘r•rvrsrr)rMr•rsrrr.r.r/rKÏsÿ$ÿzTableCell.__init__cCsLd}|jj|j|j|f|jkr$|d7}|jj|j|j|f|jks|S)zReturns the cell width.rr©r•rursrrrv)rMrr.r.r/rÞó ÿzTableCell.widthcCsLd}|jj|j||jf|jkr$|d7}|jj|j||jf|jks|S)zReturns the cell height.rrr—)rMrŒr.r.r/rŒær˜zTableCell.height) r9r:r;r<rcrtrKÚpropertyrrŒr.r.r.r/rÌsrÚtextrHcCst dd|¡S)z#Adjust spacing after abbreviations.z \.(?=\s|$)z.\@)ÚreÚsub)ršr.r.r/Ú escape_abbrïórédÚ width_strÚscalecCsàt d|¡}|s t‚|}| ¡dd…\}}|dkr@t|ƒ|dvr(d|}|S|dkr2d|}|S|d kr>d t|ƒd }|St|ƒ|d }|dvrRd |}|S|dkr\d |}|S|d krhd|d }|Sd||f}|S)z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$NrQrŸ)rBÚpxz%s\sphinxpxdimenÚptz%sbpú%z%.3f\linewidthçY@z%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz%.5f%s)r›ÚmatchÚ ValueErrorÚgroupsÚfloat)r r¡r¦ÚresÚamountÚunitÚ amount_floatr.r.r/Úrstdim_to_latexdimôs8 ò ô ÷úü  ÿr®c sveZdZUdZded<dZdZdZ dÝdej dddd d df‡fd d „ Z d e e d dfdd„Z d e e fdd„Zde d e fdd„Zd e fdd„ZdÞde deded e fdd„Zdßdeded e fdd„Zde d e fd d!„Zde d e fd"d#„Zd$e d e fd%d&„Zde d e fd'd(„Zd)e d*e d e fd+d,„Zd e fd-d.„Zd/e d0ed e fd1d2„Zed efd3d4„ƒZded dfd5d6„Z ded dfd7d8„Z!ded dfd9d:„Z"ded dfd;d<„Z#ded dfd=d>„Z$ded dfd?d@„Z%ded dfdAdB„Z&ded dfdCdD„Z'ded dfdEdF„Z(ded dfdGdH„Z)e(Z*e)Z+ded dfdIdJ„Z,ded dfdKdL„Z-ded dfdMdN„Z.ded dfdOdP„Z/ded dfdQdR„Z0ded dfdSdT„Z1ded dfdUdV„Z2ded dfdWdX„Z3ded dfdYdZ„Z4ded dfd[d\„Z5ded dfd]d^„Z6ded dfd_d`„Z7ded dfdadb„Z8ded dfdcdd„Z9ded dfdedf„Z:ded dfdgdh„Z;ded dfdidj„Zded dfdodp„Z?ded dfdqdr„Z@ded dfdsdt„ZAded dfdudv„ZBded dfdwdx„ZCded dfdydz„ZDded dfd{d|„ZEded dfd}d~„ZFded dfdd€„ZGded dfdd‚„ZHded dfdƒd„„ZIded dfd…d†„ZJded dfd‡dˆ„ZKded dfd‰dŠ„ZLded dfd‹dŒ„ZMded dfddŽ„ZNded dfdd„ZOded dfd‘d’„ZPded dfd“d”„ZQded dfd•d–„ZRded dfd—d˜„ZSded dfd™dš„ZTded dfd›dœ„ZUded dfddž„ZVded dfdŸd „ZWded dfd¡d¢„ZXded dfd£d¤„ZYded dfd¥d¦„ZZded dfd§d¨„Z[ded dfd©dª„Z\ded dfd«d¬„Z]ded dfd­d®„Z^ded dfd¯d°„Z_ded dfd±d²„Z`ded dfd³d´„Zaded dfdµd¶„Zbded dfd·d¸„Zcded dfd¹dº„Zdded dfd»d¼„Zeded dfd½d¾„Zfded dfd¿dÀ„Zgded dfdÁd„Zhded dfdÃdÄ„Zided dfdÅdÆ„Zjded dfdÇdÈ„Zkded dfdÉdÊ„Zlded dfdËdÌ„Zmded dfdÍd΄Znded dfdÏdЄZoded dfdÑdÒ„Zpded dfdÓdÔ„Zqded dfdÕdÖ„Zrded dfd×dØ„Zsded dfdÙdÚ„Ztded dfdÛdÜ„Zuded dfdÝdÞ„Zvded dfdßdà„Zwded dfdádâ„Zxded dfdãdä„Zyded dfdådæ„Zzded dfdçdè„Z{ded dfdédê„Z|ded dfdëdì„Z}ded dfdídî„Z~euZevZ€eyZezZ‚ded dfdïdð„Zƒded dfdñdò„Z„ded dfdódô„Z…ded dfdõdö„Z†ded dfd÷dø„Z‡ded dfdùdú„Zˆded dfdûdü„Z‰ded dfdýdþ„ZŠdàde de‹d e fdd„ZŒded efdd„Zded dfdd„ZŽded dfdd „Zded dfd d „Zded dfd d „Z‘ded dfdd„Z’ded dfdd„Z“ded dfdd„Z”ded dfdd„Z•ded dfdd„Z–ded dfdd„Z—ded dfdd„Z˜ded dfdd„Z™e˜Zše™Z›e˜Zœe™Ze˜Zže™ZŸe˜Z e™Z¡e˜Z¢e™Z£e˜Z¤e™Z¥e˜Z¦e™Z§e˜Z¨e™Z©e˜Zªe™Z«ded dfdd„Z¬ded dfd d!„Z­ded dfd"d#„Z®ded dfd$d%„Z¯ded dfd&d'„Z°ded dfd(d)„Z±ded dfd*d+„Z²ded dfd,d-„Z³ded dfd.d/„Z´ded dfd0d1„Zµded dfd2d3„Z¶ded dfd4d5„Z·ded dfd6d7„Z¸ded dfd8d9„Z¹ded dfd:d;„Zºded dfd<d=„Z»ded dfd>d?„Z¼ded dfd@dA„Z½ded dfdBdC„Z¾ded dfdDdE„Z¿ded dfdFdG„ZÀded dfdHdI„ZÁded dfdJdK„ZÂded dfdLdM„ZÃded dfdNdO„ZÄded dfdPdQ„ZÅded dfdRdS„ZÆded dfdTdU„ZÇded dfdVdW„ZÈded dfdXdY„ZÉded dfdZd[„ZÊded dfd\d]„ZËded dfd^d_„ZÌded dfd`da„ZÍded dfdbdc„ZÎded dfddde„ZÏded dfdfdg„ZÐded dfdhdi„ZÑded dfdjdk„ZÒded dfdldm„ZÓded dfdndo„ZÔded dfdpdq„ZÕded dfdrds„ZÖded dfdtdu„Z×ded dfdvdw„ZØded dfdxdy„ZÙeØZÚeÙZÛded dfdzd{„ZÜded dfd|d}„ZÝded dfd~d„ZÞded dfd€d„Zßded dfd‚dƒ„Zàded dfd„d…„Záded dfd†d‡„Zâded dfdˆd‰„Zãded dfdŠd‹„Zäded dfdŒd„Zåded dfdŽd„Zæded dfdd‘„Zçded dfd’d“„Zèded dfd”d•„Zéded dfd–d—„Zêded dfd˜d™„Zëded dfdšd›„Zìded dfdœd„Zíded dfdždŸ„Zîded dfd d¡„Zïded dfd¢d£„Zðded dfd¤d¥„Zñded dfd¦d§„Zòded dfd¨d©„Zóded dfdªd«„Zôded dfd¬d­„Zõded dfd®d¯„Zöded dfd°d±„Z÷ded dfd²d³„Zøded dfd´dµ„Zùded dfd¶d·„Zúded dfd¸d¹„Zûded dfdºd»„Züded dfd¼d½„Zýded dfd¾d¿„Zþded dfdÀdÁ„ZÿdÂe d e fdÃdÄ„ZdÂe d e fdÅdÆ„Zded dfdÇdÈ„Zded dfdÉdÊ„Zded dfdËdÌ„Zded dfdÍd΄Zded dfdÏdЄZded dfdÑdÒ„Zded dfdÓdÔ„Z ded dfdÕdÖ„Z ded dfd×dØ„Z ded dfdÙdÚ„Z de d dfdÛdÜ„Z‡ZS(árZNr#rGrQF)ÚhowtorDrUrLr$rHc sxtƒ ||¡g|_||_|durtjdtddd|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_g}|jj ¡|_tdd…|_|jrg|jj}|jjdkrf|j d¡n4| |jj¡|jd<|  d ¡d krŽ|j!j"  d d ¡}|dd kr‡n|j d¡n|j!j"  d d¡}||jd <d|_#|j!j$rÄz |j %|j!j$¡|_#Wnt&yÃt' (t)dƒ|j!j$|f¡Ynw|j!j*r|j!j+|_+|j+dkr t,|jƒt,tƒkrë|j#dkrë|j+|j#7_+n |j+|j#d7_+t-|j+t,tƒdƒ|_+| .d|j+¡n| .d¡|j!j*r|j!j/r| .d¡|j!j0dvr8d|j!j1vr8dt2dt2d|jd<|jj3|_3|j!j0rR|j3 4¡sRt' (t)dƒ|j!j0¡|j5}|j6  d¡rž|j6  dd¡|j#d}t,|jƒt,tƒkr||j#dkr||d7}|t,tƒdkr’t' (t)dƒ¡t,tƒd}d||jd<t7||ƒ}|j!j*r²|j!j+dkr²t7||j+dƒ}||j5kr¿d||jd<|  d¡}|rÐ| 8d |¡|jd<|jd!rà| .d"|jd!¡|ríd#d$ 9|¡|jd%<|jd&rýd'|jd&|jd&<|jd(r|jd)d$|jd(7<t:j;d*|j!j<|j!j=d+|_>g|_g|_?g|_@d|_Ag|_Bd|_Cg|_Dg|_EtFƒ|_GdS),NrPrQrRrrr(r'Ú wrapperclassÚdocclassr¯ÚarticleÚjrDÚreportz+unknown %r toplevel_sectioning for class %rznumfigreset=%sÚ nonumfigresetÚ mathnumfig>NÚenÚjaÚfncychapz\usepackage[Sonny]{fncychap}z&\ChNameVar{\Large\normalfont\sffamily}z'\ChTitleVar{\Large\normalfont\sffamily}z%no Babel option known for language %rÚtocdepthiçztoo large :maxdepth:, ignored.z\setcounter{tocdepth}{%d}z\setcounter{secnumdepth}{%d}Ú secnumdepthÚ contentsnamez \contentsnameÚ maxlistdepthzmaxlistdepth=%sz[,%s]ú,ÚsphinxpkgoptionsÚ sphinxsetupz\sphinxsetup{%s}ÚextraclassoptionsÚ classoptionsÚlatex©Ú latex_engine)HrJrKrhrLrWrXrÚin_titleÚin_production_listÚ in_footnoteÚ in_captionÚin_termÚneeds_linetrimmingÚ in_minipageÚno_latex_floatsÚfirst_documentÚthis_is_the_titleÚliteral_whitespaceÚin_parsed_literalÚ compact_listÚ first_paramrGÚcontextÚcopyÚelementsÚLATEXSECTIONNAMESÚ sectionnamesr±Útoplevel_sectioningÚremoveÚformat_docclassÚsettingsriÚconfigÚlatex_docclassÚtop_sectionlevelÚlatex_toplevel_sectioningÚindexr§ÚloggerÚwarningrÚnumfigÚnumfig_secnum_depthÚlenÚminÚappendÚ math_numfigÚlanguageÚlatex_elementsr‰ÚbabelÚis_supported_languager»rUÚmaxÚbabel_renewcommandrˆrÚPygmentsBridgeÚpygments_stylerÅÚ highlighterÚ descstackÚtablesÚnext_table_colspecÚ bodystackÚfootnote_restrictedÚpending_footnotesÚ curfilestackÚsetÚ handled_abbrs) rMrUrGrLr¿r±Úminsecnumdepthrºr¼rNr.r/rKsîÿ  €  ÿ    ÿÿ     ÿ  ÿÿ þ  ÿ     ÿ  ÿ    ÿ ÿ zLaTeXTranslator.__init__ÚnewbodycCs|j |j¡||_dSrI)rörèrh)rMrýr.r.r/Úpushbody¶s zLaTeXTranslator.pushbodycCs|j}|j ¡|_|SrI)rhröÚpop)rMrhr.r.r/Úpopbodyºs zLaTeXTranslator.popbodyr±cCs&tjdtdd||jvrd|}|S)z*Prepends prefix to sphinx document classesz,LaTeXWriter.format_docclass() is deprecated.rQrRÚsphinx)rWrXrÚ docclasses)rMr±r.r.r/rÛ¿s ÿ zLaTeXTranslator.format_docclasscCs,|j d |j¡| ¡dœ¡| d|j¡S)NrB)rhÚindicesz latex.tex_t)rÖÚupdaterˆrhÚgenerate_indicesÚrenderrzr.r.r/r[Çs  þzLaTeXTranslator.astextTÚidÚwithdocÚanchorcCs0|r |jdd|}|rdndd| |¡S)Néÿÿÿÿú:ú\phantomsectionrBú \label{%s})rùÚidescape)rMrrr r.r.r/Ú hypertargetÎszLaTeXTranslator.hypertargetrdcs,d ‡fdd„|dDƒ¡}|rd|S|S)NrBc3s|] }ˆj|ddVqdS)F©r N)r)r€Únode_idrzr.r/Ú Ôs€z1LaTeXTranslator.hypertarget_to..Úidsr )rˆ)rMrdr Úlabelsr.rzr/Úhypertarget_toÓszLaTeXTranslator.hypertarget_tocCód| |¡S)Nz{\hyperref[%s]{©r©rMrr.r.r/Ú hyperlinkÚózLaTeXTranslator.hyperlinkcCr)Nz\autopageref*{%s}rrr.r.r/Ú hyperpagerefÝrzLaTeXTranslator.hyperpagerefÚscCst ||jj¡SrI)rÚescaperÝrÅ)rMrr.r.r/ràózLaTeXTranslator.escapecCs(dt|ƒ t¡ dd¡ d¡ dd¡S)Nz\detokenize{%s}ÚasciiÚbackslashreplaceú\r)r”r^r!ÚencodeÚdecodeÚreplacerr.r.r/rãsþzLaTeXTranslator.idescapeÚcommandÚ definitioncCs:|jdrd|j ¡}d}nd}d}d||||ftS)NÚ multilingualz\addto\captions%s{r†rBz%s\renewcommand{%s}{%s}%s)rÖrìÚ get_languager‰)rMr%r&ÚprefixÚsuffixr.r.r/rïès z"LaTeXTranslator.babel_renewcommandcsÄdtttttfdtddf‡‡fdd„ }g‰ˆjj}|r]ˆjjj   ¡D]7}|j D]1}d|j |j f}t |tƒr>||vr>q*||ƒ ˆjj¡\}}|sLq*ˆ d|jt¡|||ƒq*q%d ˆ¡S) NÚcontentÚ collapsedrHc s∠dt¡ˆ dt¡t|ƒD]U\}\}}|dkr#ˆ dt¡ˆ dˆ |¡t¡|D]5}|ds8q1ˆ dˆ |d¡¡|drTˆ d ˆ |d¡¡ˆ d |d ˆ |d¡ft¡q1qˆ d t¡dS) Nz\begin{sphinxtheindex}z*\let\bigletter\sphinxstyleindexlettergrouprz \indexspacez\bigletter{%s}éz%\item\relax\sphinxstyleindexentry{%s}éz\sphinxstyleindexextra{%s}z\sphinxstyleindexpageref{%s:%s}rQz\end{sphinxtheindex})rèr‰Ú enumeraterr"r)r+r,ÚiÚletterÚentriesÚentry©ÚretrMr.r/Úgenerateós* ÿÿÿø z2LaTeXTranslator.generate_indices..generatez%s-%sz\renewcommand{\indexname}{%s}rB)rr r”rr“rÝÚlatex_domain_indicesrGÚenvÚdomainsÚvaluesrÚnameÚ isinstanceÚlistr6ÚdocnamesrèÚ localnamer‰rˆ)rMr6Úindices_configÚdomainÚindexclsÚ indexnamer+r,r.r4r/ròs&,  ÿ ö z LaTeXTranslator.generate_indicesÚ template_nameÚ variablescCsTt|jjd}|jjD]}t |jj||¡}t |¡r#|  ||¡Sq |  ||¡S)NrÄ) r rÝrÅÚtemplates_pathrrˆrGÚconfdirÚexistsr)rMrDrEÚrendererÚ template_dirÚtemplater.r.r/rs  ÿ ÿ zLaTeXTranslator.rendercCs|jr|jdSdS)zGet current table.r N)rôrzr.r.r/r•#s zLaTeXTranslator.tablecCst|j | dd¡¡|jdkrd|_n|jdkr%|j tdt¡d|_d|vr2|j | d¡¡|jd|_dS)NÚdocnamerBrrz \appendixr z:doc) rùrèrirÎrhr‰rrßÚ sectionlevelrwr.r.r/Úvisit_document+s  zLaTeXTranslator.visit_documentcCódSrIr.rwr.r.r/Údepart_document9ózLaTeXTranslator.depart_documentcCs|j |d¡dS)NrL)rùrèrwr.r.r/Úvisit_start_of_file<óz#LaTeXTranslator.visit_start_of_filecCs|j ¡dSrI)rùrÿrwr.r.r/Údepart_start_of_file?rz$LaTeXTranslator.depart_start_of_filecCs$|js |jd7_|j t¡dS©Nr)rÏrMrhrèÚ BLANKLINErwr.r.r/Ú visit_sectionBszLaTeXTranslator.visit_sectioncCst|jd|jdƒ|_dSrU)rîrMrßrwr.r.r/Údepart_sectionGs  ÿzLaTeXTranslator.depart_sectioncCó|j d¡dS)Nz{\color{red}\bfseries{}©rhrèrwr.r.r/Úvisit_problematicKrz!LaTeXTranslator.visit_problematiccCrY©Nr†rZrwr.r.r/Údepart_problematicNrz"LaTeXTranslator.depart_problematiccCsd|_|j tdt¡dS)Nrz\begin{sphinxShadowBox}©rÌrhrèr‰rwr.r.r/Ú visit_topicQszLaTeXTranslator.visit_topiccCsd|_|j dt¡dS)Nrz\end{sphinxShadowBox}r^rwr.r.r/Ú depart_topicUszLaTeXTranslator.depart_topiccCrOrIr.rwr.r.r/Úvisit_glossary[rQzLaTeXTranslator.visit_glossarycCrOrIr.rwr.r.r/Údepart_glossary^rQzLaTeXTranslator.depart_glossarycCs&|j t¡|j dt¡d|_dS)Nz\begin{productionlist}r)rhrèrVr‰rÇrwr.r.r/Úvisit_productionlistas  z$LaTeXTranslator.visit_productionlistcCs|j dt¡d|_dS)Nz\end{productionlist}r)rhrèrVrÇrwr.r.r/Údepart_productionlistfs z%LaTeXTranslator.depart_productionlistcCsP|dr |d}|j | d|¡¡|j d| |¡¡dS|j d¡dS)NÚ tokennamezgrammar-token-z\production{%s}{z\productioncont{)rhrèrr")rMrdÚtnr.r.r/Úvisit_productionjs z LaTeXTranslator.visit_productioncCó|j dt¡dSr\©rhrèr‰rwr.r.r/Údepart_productionrrSz!LaTeXTranslator.depart_productioncCs|j |jd¡dS)NÚ transition)rhrèrÖrwr.r.r/Úvisit_transitionuóz LaTeXTranslator.visit_transitioncCrOrIr.rwr.r.r/Údepart_transitionxrQz!LaTeXTranslator.depart_transitioncCsð|j}t|tjƒr tj‚t|tjƒr‘|jrCt|j ƒdkr.t|j dtj ƒs.t j t dƒ|d|jds=| | ¡¡|jd<d|_tj‚d}t| tj¡ƒr[d| d t|ƒ ¡¡¡}z|j d |j|j|f¡Wnty|j d |jd |f¡Ynw|j d t| |j¡¡nbt|tjƒr¦|j d ¡|j d t¡nMt|tj ƒr»|j d ¡|j d t¡n8t|tj!ƒrÐ|j d¡|j d t¡n#t|tj"ƒrÜ| #g¡nt j t dƒ|d|j d¡|j d t¡d|_$dS)Nrrz(document title is not a single Text node©ÚlocationÚtitlerBú[%s]ú z\%s%s{r r†z\sphinxstyletopictitle{z\sphinxstylesidebartitle{ú{zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)%Úparentr<rÚseealsor ÚSkipNoder(rÏræÚchildrenrrârãrrÖrr[r=ÚtraverseÚimagerˆrÚsplitrhrèrØrMr‘rÔr‰rÚtopicÚsidebarÚ Admonitionr•rþrÆ)rMrdruÚshortr.r.r/Ú visit_title{sR  ÿ ÿ   þ         þ  zLaTeXTranslator.visit_titlecCs:d|_t|jtjƒr| ¡|j_dS|j |j   ¡¡dS©Nr) rÆr<rur r•rrprhrèrÔrÿrwr.r.r/Ú depart_title«szLaTeXTranslator.depart_titlecCs>t|jtjƒr|j d¡|j dt¡dS|j d¡dS)Nz\sphinxstylesidebarsubtitle{r†rB)r<rur r}rhrèrÔr‰rwr.r.r/Úvisit_subtitle²s zLaTeXTranslator.visit_subtitlecCó|j |j ¡¡dSrI©rhrèrÔrÿrwr.r.r/Údepart_subtitle¹rmzLaTeXTranslator.depart_subtitlecCs\|jjdkr|j t¡|j dt¡n|j t¡|j dt¡|jr,d|j_dSdS)NÚfootnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems}T)rÝÚlatex_show_urlsrhrèrVr‰r•rmrwr.r.r/Ú visit_descÃs    ÿzLaTeXTranslator.visit_desccCs<|jjdkr|j tdt¡dS|j tdt¡dS)Nr‡z"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})rÝrˆrhrèr‰rVrwr.r.r/Ú depart_descÍs zLaTeXTranslator.depart_desccCs8|D]}t|tjƒr|j d¡dSq|j d¡dS)Nz\pysiglinewithargsret{z \pysigline{)r<rÚdesc_parameterlistrhrè)rMrdÚchildr.r.r/Ú_visit_signature_lineÓs   þz%LaTeXTranslator._visit_signature_linecCrYr\rZrwr.r.r/Ú_depart_signature_lineÛrz&LaTeXTranslator._depart_signature_linecCsv|jddkr|dr| |dd¡}nd}|j |¡| d¡s)| |¡dS|j dt¡|j dt¡dS) NÚobjtypeÚdescriberrrBÚ is_multiliner¤z\pysigstartmultiline)rurrhrèrirr‰)rMrdÚhyperr.r.r/Úvisit_desc_signatureÞs  z$LaTeXTranslator.visit_desc_signaturecCs8| d¡s | |¡dS|j dt¡|j d¡dS)Nr‘r¤z\pysigstopmultiline)rirŽrhrèr‰rwr.r.r/Údepart_desc_signatureês z%LaTeXTranslator.depart_desc_signaturecCó| |¡dSrI)rrwr.r.r/Úvisit_desc_signature_lineñrz)LaTeXTranslator.visit_desc_signature_linecCr•rI)rŽrwr.r.r/Údepart_desc_signature_lineôrz*LaTeXTranslator.depart_desc_signature_linecCs0|jrt|jdtjƒs|j d¡dSdSdS)Nrú~)rxr<r r+rhrèrwr.r.r/Úvisit_desc_content÷sþz"LaTeXTranslator.visit_desc_contentcCrOrIr.rwr.r.r/Údepart_desc_contentürQz#LaTeXTranslator.depart_desc_contentcCrY)Nú\sphinxcode{\sphinxupquote{rZrwr.r.r/Úvisit_desc_inlineÿrz!LaTeXTranslator.visit_desc_inlinecCrY©Nú}}rZrwr.r.r/Údepart_desc_inlinerz"LaTeXTranslator.depart_desc_inlinecCó|j d¡|jd7_dS)Nú\sphinxbfcode{\sphinxupquote{r©rhrèrÐrwr.r.r/Úvisit_desc_nameó zLaTeXTranslator.visit_desc_namecCó|j d¡|jd8_dS©Nržrr¢rwr.r.r/Údepart_desc_name r¤z LaTeXTranslator.depart_desc_namecCr )Nr›rr¢rwr.r.r/Úvisit_desc_addnamer¤z"LaTeXTranslator.visit_desc_addnamecCr¥r¦r¢rwr.r.r/Údepart_desc_addnamer¤z#LaTeXTranslator.depart_desc_addnamecCrOrIr.rwr.r.r/Úvisit_desc_typerQzLaTeXTranslator.visit_desc_typecCrOrIr.rwr.r.r/Údepart_desc_typerQz LaTeXTranslator.depart_desc_typecCrY)Nz{ $\rightarrow$ rZrwr.r.r/Úvisit_desc_returnsrz"LaTeXTranslator.visit_desc_returnscCrYr\rZrwr.r.r/Údepart_desc_returns!rz#LaTeXTranslator.depart_desc_returnscCs|j d¡d|_dS)Nú}{r)rhrèrÓrwr.r.r/Úvisit_desc_parameterlist$s  z(LaTeXTranslator.visit_desc_parameterlistcCrY)Nr®rZrwr.r.r/Údepart_desc_parameterlist)sz)LaTeXTranslator.depart_desc_parameterlistcCs8|js |j d¡nd|_| d¡s|j d¡dSdS)Nú, rÚnoemphú\emph{)rÓrhrèÚhasattrrwr.r.r/Úvisit_desc_parameter-s  ÿz$LaTeXTranslator.visit_desc_parametercCs| d¡s |j d¡dSdS)Nr²r†)r´rhrèrwr.r.r/Údepart_desc_parameter5s ÿz%LaTeXTranslator.depart_desc_parametercCrY)Nz\sphinxoptional{rZrwr.r.r/Úvisit_desc_optional9rz#LaTeXTranslator.visit_desc_optionalcCrYr\rZrwr.r.r/Údepart_desc_optional<rz$LaTeXTranslator.depart_desc_optionalcCrY)Nr¡rZrwr.r.r/Úvisit_desc_annotation?rz%LaTeXTranslator.visit_desc_annotationcCrYrrZrwr.r.r/Údepart_desc_annotationBrz&LaTeXTranslator.depart_desc_annotationcCs8|j t¡|j dtdt¡|j dt¡dS)Nz\sphinxstrong{%s:}rvz \nopagebreak)rhrèrVrr‰rwr.r.r/Ú visit_seealsoGs zLaTeXTranslator.visit_seealsocCó|j t¡dSrI)rhrèrVrwr.r.r/Údepart_seealsoLrzLaTeXTranslator.depart_seealsocCsLt|ƒdkr| ¡dtdƒfvrtj‚|j d¡|j dt¡d|_ dS)NrÚ Footnotesz\subsubsection*{r†) rær[rr rwrhrèrÔr‰rÆrwr.r.r/Ú visit_rubricOs   zLaTeXTranslator.visit_rubriccCsd|_|j |j ¡¡dSr)rÆrhrèrÔrÿrwr.r.r/Ú depart_rubricVszLaTeXTranslator.depart_rubriccCs¦|jd7_ttj|dƒ}d|vr|j d¡|jr'|j d| ¡¡n|j dt¡|j d| ¡¡d|vrI|j d| ¡t¡|j dt¡dS) NrrÚautoz\sphinxstepexplicit z\begin{footnote}[%s]r¤z+\phantomsection\label{\thesphinxscope.%s}%%ú\sphinxAtStartFootnote) rÈr r ÚlabelrhrèrÑr[r‰©rMrdrÃr.r.r/Úvisit_footnoteZs ÿÿzLaTeXTranslator.visit_footnotecCsB|jr |j d¡n|j dt¡|j d¡|jd8_dS)Nz\end{footnote}r¤r)rÑrhrèr‰rÈrwr.r.r/Údepart_footnoteis  zLaTeXTranslator.depart_footnotecCótj‚rI©r rwrwr.r.r/Ú visit_labelqózLaTeXTranslator.visit_labelcCs|d|_tj‚)NÚspec)rõr rwrwr.r.r/Úvisit_tabular_col_spects z&LaTeXTranslator.visit_tabular_col_speccCsÀt|jƒdkr!|j ¡dkrtd|jd|jpdfƒ‚d|j_nt|jƒdkr6td|jd|jp2dfƒ‚|j t |ƒ¡|j r[d |j t |j_ d |  d g¡vr[tjtd ƒ|d d|_ dS)Nrryz2%s:%s: longtable does not support nesting a table.r rBTrQz0%s:%s: deeply nested tables are not implemented.z{%s}r~rfzGboth tabularcolumns and :widths: option are given. :widths: is ignored.ro)rærôr•rr>rùÚlinermrèrcrõr‰rkrirâÚinforrwr.r.r/Ú visit_tablexs,ÿÿ ÿÿ ÿ zLaTeXTranslator.visit_tablecCs`| |¡}|j ¡}| |dt|j|d¡}|j t¡|j |¡|j t¡|j   ¡dS)Nz.tex_t)r•r) rr•rrÚdictrhrèrVr‰rôrÿ)rMrdrÚ table_typer•r.r.r/Ú depart_tables    ÿ   zLaTeXTranslator.depart_tablecCsP|jjd7_d|vr|jj |d¡d|vr&|jj |jjd¡dSdS)NrÚcolwidthÚstub)r•rjrlrèrqrwr.r.r/Ú visit_colspecšs ÿzLaTeXTranslator.visit_colspeccCrOrIr.rwr.r.r/Údepart_colspec¡rQzLaTeXTranslator.depart_colspeccCrOrIr.rwr.r.r/Ú visit_tgroup¤rQzLaTeXTranslator.visit_tgroupcCrOrIr.rwr.r.r/Ú depart_tgroup§rQzLaTeXTranslator.depart_tgroupcCó| |jj¡dSrI)rþr•rgrwr.r.r/Ú visit_theadªózLaTeXTranslator.visit_theadcCó | ¡dSrI©rrwr.r.r/Ú depart_thead®ó zLaTeXTranslator.depart_theadcCrÙrI)rþr•rhrwr.r.r/Ú visit_tbody±rÛzLaTeXTranslator.visit_tbodycCrÜrIrÝrwr.r.r/Ú depart_tbodyµrßzLaTeXTranslator.depart_tbodycCsˆd|j_ |j |jj|jj¡}|durdS|jj|j7_|jr(|j d¡|jdkr7|j d|j¡n |j d|j|jf¡q)NrTú&rú\sphinxtablestrut{%d}z,\multicolumn{%d}{|l|}{\sphinxtablestrut{%d}})r•rrr’rsrrhrèrv)rMrdr’r.r.r/Ú visit_row¸s   ÿôzLaTeXTranslator.visit_rowcs؈j dt¡‡fdd„tˆjjƒDƒ}‡fdd„|Dƒ}t|ƒr)ˆj d¡n9d}| dg¡|t|ƒkrb||durX||d…  d¡}ˆj d |d ||f¡||7}|d 7}|t|ƒks7ˆjj d 7_ dS) Nz\\csg|] }ˆj ˆjj|¡‘qSr.)r•r’rs)r€r0rzr.r/r„Ísz.LaTeXTranslator.depart_row..cs$g|]}|j|jˆjjdk‘qS)r)rsrŒr•)r€r’rzr.r/r„Îs$z\hlinerFTz \cline{%d-%d}r) rhrèr‰rŽr•rjÚallÚextendrærárs)rMrdruÚ underlinedr0r³r.rzr/Ú depart_rowËs    ûzLaTeXTranslator.depart_rowcCsÒ|jjdkr |j d¡|j | dd¡d| dd¡d¡|j ¡}d}|jdkr`|jj rQ|jjdkrA|j d|jt ¡n |j d|jt ¡d t }n|j d |jt ¡d t }|j dkry|j d |j |j ft ¡d t |}|jdksƒ|j dkrŸ|j d |j|jj ft ¡dt dt |}d|_tt| tj¡ƒƒdkr¯d|j_t|jjtjƒs¾|j|jjvrÙt|ƒdkrÓt|dtjƒrÓ| ¡dkrÓn|j d¡|jrá| g¡|j |¡dS)NrrâÚmorerowsrÚmorecolsrBz\multicolumn{%d}{|l|}{%%z\multicolumn{%d}{l|}{%%z}%z\sphinxstartmulticolumn{%d}%%z\sphinxstopmulticolumnz\sphinxmultirow{%d}{%d}{%%z,\begin{varwidth}[t]{\sphinxcolwidth{%d}{%d}}z\parz7\vskip-\baselineskip\vbox{\hbox{\strut}}\end{varwidth}%rQTz\sphinxstyletheadfamily )r•rrrhrèrrir’rrÝÚlatex_use_latex_multicolumnr‰rŒrvrjrËrær=ryr r+rnr<ruÚtheadrqr[rþrÔ)rMrdr’rÔr.r.r/Ú visit_entryÜsJ  &       ÿÿ ÿÿ(  zLaTeXTranslator.visit_entrycCsæ|jr%d|_| ¡}|r|dtkr| d¡|r|dtks|j |¡|j |j ¡¡|j  ¡}|jj |j 7_ |j  ¡}|durHdS|jj |j 7_ |j d¡|j dkrf|j d|j ¡n |j d|j |j f¡q=)NrTrârrãz+\multicolumn{%d}{l|}{\sphinxtablestrut{%d}}) rËrr‰rÿrhrærèrÔr•r’rrrrv)rMrdrhr’Únextcellr.r.r/Ú depart_entrys, ÿ      ÿózLaTeXTranslator.depart_entrycCs^ttj|dƒ}tttj|ƒ}|j t¡|j d dd„|Dƒ¡d¡|j t¡tj ‚)Nrr±csó|]}| ¡VqdSrI©r[)r€Únr.r.r/r'ó€z-LaTeXTranslator.visit_acks..Ú.) r r Ú bullet_listrÚ list_itemrhrèrVrˆrw)rMrdrõÚ list_itemsr.r.r/Ú visit_acks!s    zLaTeXTranslator.visit_ackscCs,|js |j dt¡|jrd|j_dSdS)Nz\begin{itemize}T©rÒrhrèr‰r•rmrwr.r.r/Úvisit_bullet_list+s  ÿz!LaTeXTranslator.visit_bullet_listcCs|js |j dt¡dSdS)Nz \end{itemize}©rÒrhrèr‰rwr.r.r/Údepart_bullet_list1sÿz"LaTeXTranslator.depart_bullet_listcsædtdtfdd„}dtdtf‡fdd„ ‰dtˆ|ƒƒ ¡}dtˆ|ƒdƒ ¡}t ||ƒ¡}| d d ¡}| d d ¡}|j d t ¡|j d|||||ft ¡d|vrh|j d||ddft ¡|j rqd|j _ dSdS)NrdrHcSs4| dd¡}d|vrd| dd¡t|ƒkrd}|S)NÚenumtyper1ÚalphaéÚstartr)riræ)rdrýr.r.r/Ú get_enumtype6s  z;LaTeXTranslator.visit_enumerated_list..get_enumtypecs0|durdSt|tjƒrˆ|jƒdSˆ|jƒSr–)r<r Úenumerated_listru)rd©Úget_nested_levelr.r/r>s   z?LaTeXTranslator.visit_enumerated_list..get_nested_levelzenum%srr)rBr*rôz\begin{enumerate}z*\sphinxsetlistlabels{%s}{%s}{%s}{%s}{%s}%%rz\setcounter{%s}{%d}T) rr”rtr"ÚlowerÚENUMERATE_LIST_STYLErirhrèr‰r•rm)rMrdrÚenumÚenumnextÚstyler)r*r.rr/Úvisit_enumerated_list5s$   ÿÿ  ÿz%LaTeXTranslator.visit_enumerated_listcCrh)Nz\end{enumerate}rirwr.r.r/Údepart_enumerated_listTrSz&LaTeXTranslator.depart_enumerated_listcCrY)Nz \item {} rZrwr.r.r/Úvisit_list_itemWszLaTeXTranslator.visit_list_itemcCr¼rIrirwr.r.r/Údepart_list_item\rz LaTeXTranslator.depart_list_itemcCó&|j dt¡|jrd|j_dSdS)Nz\begin{description}T©rhrèr‰r•rmrwr.r.r/Úvisit_definition_list_ó ÿz%LaTeXTranslator.visit_definition_listcCrh)Nz\end{description}rirwr.r.r/Údepart_definition_listdrSz&LaTeXTranslator.depart_definition_listcCrOrIr.rwr.r.r/Úvisit_definition_list_itemgrQz*LaTeXTranslator.visit_definition_list_itemcCrOrIr.rwr.r.r/Údepart_definition_list_itemjrQz+LaTeXTranslator.depart_definition_list_itemcCsd|jd7_d}| d¡r d}|dD] }||j|dd7}q|d7}|j d¡|j |¡dS) NrrBrr Frz}] \leavevmodez\item[{)rÊrirrhrèrÔ)rMrdÚctxrr.r.r/Ú visit_termms   zLaTeXTranslator.visit_termcCs$|j |j ¡¡|jd8_dSrU)rhrèrÔrÿrÊrwr.r.r/Ú depart_termxszLaTeXTranslator.depart_termcCrY)Nz{[}rZrwr.r.r/Úvisit_classifier|rz LaTeXTranslator.visit_classifiercCrY)Nz{]}rZrwr.r.r/Údepart_classifierrz!LaTeXTranslator.depart_classifiercCrOrIr.rwr.r.r/Úvisit_definition‚rQz LaTeXTranslator.visit_definitioncCr¼rIrirwr.r.r/Údepart_definition…rz!LaTeXTranslator.depart_definitioncCr)Nz \begin{quote}\begin{description}Trrwr.r.r/Úvisit_field_listˆrz LaTeXTranslator.visit_field_listcCrh)Nz\end{description}\end{quote}rirwr.r.r/Údepart_field_listrSz!LaTeXTranslator.depart_field_listcCrOrIr.rwr.r.r/Ú visit_fieldrQzLaTeXTranslator.visit_fieldcCrOrIr.rwr.r.r/Ú depart_field“rQzLaTeXTranslator.depart_fieldcCs˜|j |¡}|dkr1t|jtjƒr1t|j|dtjƒs1t|j|dtjƒs1|j dt¡dS|dkr@t|jtj t fƒr@dS|j  tdtg¡dS)Nrrú \noindentz\sphinxAtStartPar) rurár<r Úcompoundr+rhrèr‰r‡Ú footnotetextræ)rMrdrár.r.r/Úvisit_paragraphœs ÿþzLaTeXTranslator.visit_paragraphcCr¼rIrirwr.r.r/Údepart_paragraph­rz LaTeXTranslator.depart_paragraphcCs&|j td¡|jrd|j_dSdS)Nú\begin{center}Trrwr.r.r/Úvisit_centered°rzLaTeXTranslator.visit_centeredcCó|j td¡dS)Nú \end{center}rirwr.r.r/Údepart_centeredµrSzLaTeXTranslator.depart_centeredcCsn|jd7_|d}|jdkr|j dt¡|j d|dt¡|j dt¡|jr5d|j_dSdS)NrÚncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z }\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}Trù)rMrdr*r.r.r/Ú visit_hlist¸s ÿ ÿzLaTeXTranslator.visit_hlistcCs"|jd8_|j dt¡dS)Nrz*\end{itemize}\raggedcolumns\end{multicols}rûrwr.r.r/Ú depart_hlistÃszLaTeXTranslator.depart_hlistcCrOrIr.rwr.r.r/Úvisit_hlistcolÇrQzLaTeXTranslator.visit_hlistcolcCrOrIr.rwr.r.r/Údepart_hlistcolÊszLaTeXTranslator.depart_hlistcolrŸr r¡cCs2zt||ƒWStyt tdƒ|¡YdSw)Nz&dimension unit %s is invalid. Ignored.)r®r§rârãr)rMr r¡r.r.r/Úlatex_image_lengthÒs   þz"LaTeXTranslator.latex_image_lengthcCst|jtjƒS)z2Check whether a node represents an inline element.)r<rur Ú TextElementrwr.r.r/Ú is_inlineÙržzLaTeXTranslator.is_inlinecCsRg}g}g}t|jtjƒ}|r| |j¡}n| |¡}d|vr>d|vr.| |d|d¡}n| |d¡}|r>| d|¡d|vrad|vrQ| |d|d¡}n| |d¡}|ra| d|¡d|vrt|st| dt|dƒd¡d|vr§d d d d d ddœ} z| | ||dfd¡| | ||dfd¡Wn ty¦Ynw|j r´| d¡| d¡|sÄ|sÄ| t d¡| t ¡|  ¡|d|j j vrÙ|j j |d} n |jrÞdS|d} |  d¡dkrëdS|j |¡d} |rüdd |¡} t | ¡\} } |jr| r|j d| | | f¡n |j d| | | f¡|j |¡dS)Nrr¡zwidth=%srŒz height=%szscale=%sr¥re)rBrB)z\raisebox{-0.5\height}{r†)z\raisebox{-\height}{r†)ú{\hspace*{\fill}ú\hspace*{\fill}})rtr3)r2r†))rÚtop)rÚmiddle)rÚbottom)rÚcenter)rÚleft)rÚrightrrz!{\sphinxunactivateextrasandspace r†r Úuriz://r rBrrr¾z,\lowercase{\sphinxincludegraphics%s}{{%s}%s}z \sphinxincludegraphics%s{{%s}%s})r<rur Ú referencer1r/rèr©ÚKeyErrorrÑr‰ÚreverserGÚimagesÚignore_missing_imagesÚfindrhrærˆrÚsplitextrÆ)rMrdÚpreÚpostÚinclude_graphics_optionsÚ has_hyperlinkr1ÚwÚhÚ align_prepostr:ÚoptionsÚbaseÚextr.r.r/Ú visit_imageÝs‚ ÿö  ÿ    ÿÿzLaTeXTranslator.visit_imagecCrOrIr.rwr.r.r/Ú depart_image,rQzLaTeXTranslator.depart_imagecCsæ|jd}|jr d}|jrVd|vr-| |d¡}|r,|j d|t¡|j dt¡n|j dt¡|j dt¡tdd„|DƒƒrL|j d ¡|j d t¡dS|  d d ¡d vr¯d}d|vrl| |d¡}nt |dt j ƒrƒd|dvrƒ| |dd¡}|j t ¡|j d|d dkr•dnd|p™dft¡|j d¡|j dt¡dS|jrÄ|j td¡|j dt¡dS|j td|t¡|j dt¡tdd„|Dƒƒré|j d t¡|j dt¡dS)NÚ figure_alignÚHrz!\begin{sphinxfigure-in-table}[%s]z \centeringz\begin{sphinxfigure-in-table}csó|] }t|tjƒVqdSrI©r<r rp©r€rŒr.r.r/r=ó€z/LaTeXTranslator.visit_figure..z \capstartz!\end{sphinxfigure-in-table}\relaxrerB)r8r9rz\begin{wrapfigure}{%s}{%s}r9ÚrÚlÚ0ptz\end{wrapfigure}r%r(z\begin{figure}[%s]csrPrIrQrRr.r.r/rRrSz \end{figure})rÖrÍr•r/rhrèr‰ÚanyrÔrir<r rzrVrÌ)rMrdreÚlengthr.r.r/Ú visit_figure/sJ €  ÿÿ zLaTeXTranslator.visit_figurecCr„rIr…rwr.r.r/Ú depart_figureVrmzLaTeXTranslator.depart_figurecCs€|jd7_t|jtƒr|j d¡dS|jr't|jtjƒr'|j d¡dS|j r8|jj dkr8|j d¡dS|j d¡dS)Nrz\sphinxSetupCaptionForVerbatim{z\captionof{figure}{Úfigurez\sphinxfigcaption{z \caption{) rÉr<ruÚcaptioned_literal_blockrhrèrÌr r[r•Útagnamerwr.r.r/Ú visit_captionYs zLaTeXTranslator.visit_captioncCsD|j d¡t|jtjƒr| |j¡}|j |¡|jd8_dS)Nr†r)rhrèr<rur r[rrÉ)rMrdrr.r.r/Údepart_captionds   zLaTeXTranslator.depart_captioncCr')Nz\begin{sphinxlegend}rirwr.r.r/Ú visit_legendkrSzLaTeXTranslator.visit_legendcCrh)Nz\end{sphinxlegend}rirwr.r.r/Ú depart_legendnrSzLaTeXTranslator.depart_legendcCs"|j td¡|jd7_dS)Nz\begin{sphinxadmonition}{note}r©rhrèr‰rÍrwr.r.r/Úvisit_admonitionqóz LaTeXTranslator.visit_admonitioncCó"|j dt¡|jd8_dS©Nz\end{sphinxadmonition}rrbrwr.r.r/Údepart_admonitionurdz!LaTeXTranslator.depart_admonitioncCs6t|j}|j td|j|f¡|jd7_dS)Nz!\begin{sphinxadmonition}{%s}{%s:}r)rr]rhrèr‰rÍrÄr.r.r/Ú_visit_named_admonitionys  ÿz'LaTeXTranslator._visit_named_admonitioncCrerfrbrwr.r.r/Ú_depart_named_admonitionrdz(LaTeXTranslator._depart_named_admonitioncCrOrIr.rwr.r.r/Úvisit_versionmodified–rQz%LaTeXTranslator.visit_versionmodifiedcCrOrIr.rwr.r.r/Údepart_versionmodified™rQz&LaTeXTranslator.depart_versionmodifiedcsèdtddf‡‡fdd„ }ˆ}t|tjƒr |jdd}t|tjƒsttˆjj  d¡ƒ}t|t ƒr1dS|  |¡r=|  |¡r=dSdˆvrCdSd ˆvrIdSˆ  d ¡rgtˆƒ}t|tjƒraˆd |d kran|ˆd ƒˆd D]}||ƒqkdS) NrrHcst| d¡rdS| d¡rdSˆj ˆ¡}|dkr)tˆj|dtjƒr)ˆj t¡ˆj }ˆj ˆj ||d¡dS)Nzindex-z equation-rrr) Ú startswithrurár<r r+rhrèr‰rÆr)rrár ©rdrMr.r/Ú add_targets    z0LaTeXTranslator.visit_target..add_targetT)ÚascendÚstdÚrefuriÚ anonymousÚrefidr)r”r<r ÚtargetÚ next_noder rrGr8Ú get_domainÚHYPERLINK_SUPPORT_NODESÚget_enumerable_node_typeÚget_numfig_titlerirr;)rMrdrnrurAÚ prev_noderr.rmr/Ú visit_targetœs,   ÿ     ÿzLaTeXTranslator.visit_targetcCrOrIr.rwr.r.r/Ú depart_targetÊrQzLaTeXTranslator.depart_targetcCs$|j tdt¡|j d¡dS)Nz\begin{flushright}z---rirwr.r.r/Úvisit_attributionÍsz!LaTeXTranslator.visit_attributioncCs|j tdt¡dS)Nz\end{flushright}rirwr.r.r/Údepart_attributionÑsz"LaTeXTranslator.depart_attributioncsÞdtdtf‡fdd„ ‰dtdtfdd„}| dd ¡s ˆj t¡|d }|D]7\}}}}}d } |r4d } z|d kr„z'‡fdd„tdd |ƒDƒ\} } || ƒ|| ƒ} } ˆj d| | | | | f¡Wnátyƒˆtdd |ƒdƒ}||ƒ}ˆj d||| f¡YnÀw|dkr³‡fdd„tdd|ƒDƒ\} } || ƒ|| ƒ} } ˆj d| | | | | | | | | | f ¡n|dkró‡fdd„tdd|ƒDƒ\} } }|| ƒ|| ƒ||ƒ} } }ˆj d| | | || || | | || || | ||| | | | | f¡nP|dkr‡fdd„tdd|ƒDƒ\} } || ƒ} ˆj d| | | f¡n,|dkr;‡fd d„tdd|ƒDƒ\} } || ƒ} ˆj d| | | f¡nt t d!ƒ|¡Wq&ty^}z t t|ƒ¡WYd}~q&d}~ww| dd ¡slˆj d"¡t j ‚)#NÚvaluerHcsVˆ |¡}| dd¡}| dd¡}| dd¡}| dd¡}| d d ¡}| d d ¡}|S) Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}ú"z""ú@z"@ú!z"!r…z \textbar{}©r"r$)rrzr.r/rÕs       z+LaTeXTranslator.visit_index..escapeÚstringcSs t |¡}|r | d¡Sd|S)Nz\\spxentry{\1}\\spxextra{\2}z \spxentry{%s})ÚEXTRA_REr¦Úexpand)r„r¦r.r.r/r ßs  z*LaTeXTranslator.visit_index..styleÚinlineTr2rBz |spxpagemÚsinglecóg|]}ˆ|ƒ‘qSr.r.©r€Úx©rr.r/r„ðóz/LaTeXTranslator.visit_index..rQz\index{%s@%s!%s@%s%s}rrz\index{%s@%s%s}Úpaircr‰r.r.rŠrŒr.r/r„ørz*\index{%s@%s!%s@%s%s}\index{%s@%s!%s@%s%s}Útriplecr‰r.r.rŠrŒr.r/r„ýrr-zS\index{%s@%s!%s %s@%s %s%s}\index{%s@%s!%s, %s@%s, %s%s}\index{%s@%s!%s %s@%s %s%s}Úseecr‰r.r.rŠrŒr.r/r„rz\index{%s@%s|see{%s}}rvcr‰r.r.rŠrŒr.r/r„ rz!unknown index entry type %s foundz\ignorespaces ) r”rirhrèr‰rr§rârãrr rw)rMrdr r2Útyper„ÚtidÚismainÚkey_ÚmÚp1Úp2ÚP1ÚP2ÚpÚPÚp3ÚP3Úerrr.)rrMr/Ú visit_indexÔsl   ýÿ þýÿ  €€ÿ zLaTeXTranslator.visit_indexcCsV| |¡s |j t¡d| dd¡ ¡vr|j | ¡¡| |¡s(|j t¡tj‚)NrÃÚformatrB) r1rhrèr‰rir{r[r rwrwr.r.r/Ú visit_raws    zLaTeXTranslator.visit_rawcCsz|js| d¡D]}|j }|j|j||d7_q| |¡s&|j t¡| dd¡}|s@| d¡r@d|jdd|d}|jsE|sM|j  d¡dS|  d¡rŠ|jdd |d d…}|j |  |¡¡|j d ¡|j j r‚|js‚|j  d | |¡¡dS|j  d ¡dS|  d¡rú| d¡}|dkr¡|d d…d}n |d d… dd ¡}|j |  |¡¡t|ƒrØt|dtjƒrØd|d dg¡vrØ|j  d ¡|j d¡dS|j d¡|j j rò|jsò|j  d | |¡¡dS|j  d ¡dSt|ƒd kr*||dkr*| d¡r|j d| |¡¡tj‚|j d| |¡¡tj‚|j d| |¡¡|j  d¡dS)NrrrqrBrsr¤r ú#r rr³z}}} (%s)z}}}z::docrzstd-termrfz\sphinxtermref{z\sphinxcrossref{Ú nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{r†)rÆrirÉrhrr1rèr‰rùrÔrlrrÝÚlatex_show_pagerefsrÇrr@r$rær<r rÚ encode_urirw)rMrdrr r:Ú hashindexr.r.r/Úvisit_referencesX      ÿ  ÿ   ÿzLaTeXTranslator.visit_referencecCs0|j |j ¡¡| |¡s|j t¡dSdSrI)rhrèrÔrÿr1r‰rwr.r.r/Údepart_referenceWs ÿz LaTeXTranslator.depart_referencecCsÞ| d¡r|jdd|d}n| dd¡dd… dd¡}| | dd ¡¡ d d ¡}d |vs4d |vrR| d d ¡ d d¡}t|ƒjd| |¡d| |¡d}n t|ƒd| |¡}d| |¡|f}|j |¡t j ‚)Nrsr r rqrBrr¢rqz%sz\%sz\{name\}z \{number\}z{name}z{number}z \nameref{%s}ú\ref{%s})r;Únumberz\hyperref[%s]{%s}) rirùr$rrr rrhrèr rw)rMrdrrqršÚhyperrefr.r.r/Úvisit_number_reference\s  ÿ z&LaTeXTranslator.visit_number_referencecCrOrIr.rwr.r.r/Úvisit_download_referenceprQz(LaTeXTranslator.visit_download_referencecCrOrIr.rwr.r.r/Údepart_download_referencesrQz)LaTeXTranslator.depart_download_referencecCrOrIr.rwr.r.r/Úvisit_pending_xrefvrQz"LaTeXTranslator.visit_pending_xrefcCrOrIr.rwr.r.r/Údepart_pending_xrefyrQz#LaTeXTranslator.depart_pending_xrefcCrY)Nz\sphinxstyleemphasis{rZrwr.r.r/Úvisit_emphasis|rzLaTeXTranslator.visit_emphasiscCrYr\rZrwr.r.r/Údepart_emphasisrzLaTeXTranslator.depart_emphasiscCrY)Nz+\sphinxstyleliteralemphasis{\sphinxupquote{rZrwr.r.r/Úvisit_literal_emphasis‚rz&LaTeXTranslator.visit_literal_emphasiscCrYrrZrwr.r.r/Údepart_literal_emphasis…rz'LaTeXTranslator.depart_literal_emphasiscCrY)Nz\sphinxstylestrong{rZrwr.r.r/Ú visit_strongˆrzLaTeXTranslator.visit_strongcCrYr\rZrwr.r.r/Ú depart_strong‹rzLaTeXTranslator.depart_strongcCrY)Nz)\sphinxstyleliteralstrong{\sphinxupquote{rZrwr.r.r/Úvisit_literal_strongŽrz$LaTeXTranslator.visit_literal_strongcCrYrrZrwr.r.r/Údepart_literal_strong‘rz%LaTeXTranslator.depart_literal_strongcCsb| ¡}|j d¡| d¡r)||jvr)|j d| |d¡¡|j |¡dS|j d¡dS)Nz\sphinxstyleabbreviation{Ú explanationz} (%s)r†)r[rhrèr´rûrÔr"Úadd)rMrdÚabbrr.r.r/Úvisit_abbreviation”s  z"LaTeXTranslator.visit_abbreviationcCr„rIr…rwr.r.r/Údepart_abbreviationžrmz#LaTeXTranslator.depart_abbreviationcCó | |¡SrI)r³rwr.r.r/Ú visit_manpage¡ó zLaTeXTranslator.visit_manpagecCr¾rI)r´rwr.r.r/Údepart_manpage¤rÀzLaTeXTranslator.depart_manpagecCrY)Nz\sphinxtitleref{rZrwr.r.r/Úvisit_title_reference§rz%LaTeXTranslator.visit_title_referencecCrYr\rZrwr.r.r/Údepart_title_referenceªrz&LaTeXTranslator.depart_title_referencecCsntttj|ƒ}dd„|Dƒ}tdd„|Dƒtd}t|ƒtkr&|dt…}|j t d|  |¡t ¡dS)Ncss |] }ttj|dƒVqdS)rN)r r rÃ)r€Úcitationr.r.r/r¯s€z8LaTeXTranslator.visit_thebibliography..csrðrIrñ)r€rÃr.r.r/r°ró)Úkeyz!\begin{sphinxthebibliography}{%s}) r rr rÄrîræÚMAX_CITATION_LABEL_LENGTHrhrèr‰r")rMrdÚ citationsrÚ longest_labelr.r.r/Úvisit_thebibliography­s   ÿ ÿz%LaTeXTranslator.visit_thebibliographycCrh)Nz\end{sphinxthebibliography}rirwr.r.r/Údepart_thebibliography¸rSz&LaTeXTranslator.depart_thebibliographycCs@ttj|dƒ}|j d| | ¡¡|d|ddf¡dS)Nrz\bibitem[%s]{%s:%s}rLr)r r rÃrhrèr"r[rÄr.r.r/Úvisit_citation»s ÿzLaTeXTranslator.visit_citationcCrOrIr.rwr.r.r/Údepart_citationÀrQzLaTeXTranslator.depart_citationcCs,|jrdS|j d|d|df¡tj‚)Nz\sphinxcite{%s:%s}rLÚrefname)rÆrhrèr rwrwr.r.r/Úvisit_citation_referenceÃsz(LaTeXTranslator.visit_citation_referencecCrOrIr.rwr.r.r/Údepart_citation_referenceÊrQz)LaTeXTranslator.depart_citation_referencecCsB|jr |j d¡dSd|dvr|j d¡dS|j d¡dS)Nz*\sphinxstyleliteralintitle{\sphinxupquote{Úkbdrfz\sphinxkeyboard{\sphinxupquote{r›)rÆrhrèrwr.r.r/Ú visit_literalÍs  zLaTeXTranslator.visit_literalcCrYrrZrwr.r.r/Údepart_literalÕrzLaTeXTranslator.depart_literalcCrÇrIrÈrwr.r.r/Úvisit_footnote_referenceØrÊz(LaTeXTranslator.visit_footnote_referencecCrY)Nz\sphinxfootnotemark[rZrwr.r.r/Úvisit_footnotemarkÛrz"LaTeXTranslator.visit_footnotemarkcCrY)Nú]rZrwr.r.r/Údepart_footnotemarkÞrz#LaTeXTranslator.depart_footnotemarkcCsTttj|dƒ}|j dt¡|j d| ¡| ¡ft¡|j dt¡dS)Nrr¤zC\begin{footnotetext}[%s]\phantomsection\label{\thesphinxscope.%s}%%rÂ)r r rÃrhrèr‰r[rÄr.r.r/Úvisit_footnotetextásþþz"LaTeXTranslator.visit_footnotetextcCs |j dt¡|j d¡dS)Nr¤z \end{footnotetext}\ignorespaces rirwr.r.r/Údepart_footnotetextész#LaTeXTranslator.depart_footnotetextcCrOrIr.rwr.r.r/Úvisit_captioned_literal_blockîrQz-LaTeXTranslator.visit_captioned_literal_blockcCrOrIr.rwr.r.r/Údepart_captioned_literal_blockñrQz.LaTeXTranslator.depart_captioned_literal_blockc Cs¼|j| ¡kr|jd7_|j dt¡dS| |¡}t|jt ƒr+|| |j¡7}|r<|j s<|j td|d¡|  dd¡}|  dd¡}|  d i¡}|  d d¡|d <|j j   |i¡}|jj|j|f|||d œ|¤Ž}|j r€|j td ¡| d d¡}n|jr’d|j_d|j_| d d¡}n| d d¡}| ¡dd…}|jr«|j s«|d7}n|d7}t|  dg¡ƒdd…}|rÇ|j td|¡|j t|t¡|rÛ|j dt¡tj‚)Nrz\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{r†rêrCÚlinenosFÚhighlight_argsÚforce)ÚoptsrÛrpz\sphinxSetupCodeBlockInFootnotez\begin{Verbatim}z\begin{sphinxVerbatim}Tz\begin{sphinxVerbatimintable}iòÿÿÿz\end{sphinxVerbatimintable}z\end{sphinxVerbatim}Úhl_linesr z\fvset{hllines={, %s,}}%%z\sphinxresetverbatimhllines)Ú rawsourcer[rÑrhrèr‰rr<rur\rÈrirÝÚhighlight_optionsròÚhighlight_blockr$r•rmroÚrstripr”r rw) rMrdrÚlangrÛrÜrÞÚhlcodeÚhllinesr.r.r/Úvisit_literal_blockôs\      ÿþþÿÿÿ  z#LaTeXTranslator.visit_literal_blockcCs&|j tdt¡|jd8_dS)Nz\end{sphinxalltt}r)rhrèr‰rÑrwr.r.r/Údepart_literal_block'sz$LaTeXTranslator.depart_literal_blockcCrY)Nz\item[] rZrwr.r.r/Ú visit_line-rzLaTeXTranslator.visit_linecCr¼rIrirwr.r.r/Ú depart_line0rzLaTeXTranslator.depart_linecCsZt|jtjƒr|j dt¡|j dt¡n |j tdt¡|jr+d|j_dSdS)Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em}T) r<rur Ú line_blockrhrèr‰r•rmrwr.r.r/Úvisit_line_block3s ÿz LaTeXTranslator.visit_line_blockcCrh)Nz\end{DUlineblock}rirwr.r.r/Údepart_line_block<rSz!LaTeXTranslator.depart_line_blockcCsfd}t|jƒdkr|jd}t|tjƒst|tjƒrd}|s/|j dt¡|j r1d|j _ dSdSdS)Nrrz \begin{quote}T) rærxr<r rõrrhrèr‰r•rm©rMrdÚdonerŒr.r.r/Úvisit_block_quote?s   ÿ ýz!LaTeXTranslator.visit_block_quotecCsTd}t|jƒdkr|jd}t|tjƒst|tjƒrd}|s(|j dt¡dSdS)Nrrz \end{quote}) rærxr<r rõrrhrèr‰rîr.r.r/Údepart_block_quoteNs   ÿÿz"LaTeXTranslator.depart_block_quotecCs|jdr |j d¡dSdS)Nr r±)rÔrhrèrwr.r.r/Ú visit_optionZs þzLaTeXTranslator.visit_optioncCs|jdd7<dS)Nr r)rÔrwr.r.r/Ú depart_option_szLaTeXTranslator.depart_optioncCs|j | dd¡¡dS)z1The delimiter between an option and its argument.Ú delimiterrsN)rhrèrirwr.r.r/Úvisit_option_argumentcsz%LaTeXTranslator.visit_option_argumentcCrOrIr.rwr.r.r/Údepart_option_argumentgrQz&LaTeXTranslator.depart_option_argumentcCs|j d¡|j d¡dS)Nz\item [r)rhrèrÔrwr.r.r/Úvisit_option_groupjs z"LaTeXTranslator.visit_option_groupcCs|j ¡|j d¡dS)Nz] )rÔrÿrhrèrwr.r.r/Údepart_option_groupos z#LaTeXTranslator.depart_option_groupcCr)Nz\begin{optionlist}{3cm}Trrwr.r.r/Úvisit_option_listsrz!LaTeXTranslator.visit_option_listcCrh)Nz\end{optionlist}rirwr.r.r/Údepart_option_listxrSz"LaTeXTranslator.depart_option_listcCrOrIr.rwr.r.r/Úvisit_option_list_item{rQz&LaTeXTranslator.visit_option_list_itemcCrOrIr.rwr.r.r/Údepart_option_list_item~rQz'LaTeXTranslator.depart_option_list_itemcCs | ¡}|j | |¡¡tj‚rI)r[rhrèr"r rw)rMrdÚostringr.r.r/Úvisit_option_stringsz#LaTeXTranslator.visit_option_stringcCrY)NrsrZrwr.r.r/Úvisit_description†rz!LaTeXTranslator.visit_descriptioncCrOrIr.rwr.r.r/Údepart_description‰rQz"LaTeXTranslator.depart_descriptioncCrY)Nz $^{\text{rZrwr.r.r/Úvisit_superscriptŒrz!LaTeXTranslator.visit_superscriptcCrY©Nz}}$rZrwr.r.r/Údepart_superscriptrz"LaTeXTranslator.depart_superscriptcCrY)Nz $_{\text{rZrwr.r.r/Úvisit_subscript’rzLaTeXTranslator.visit_subscriptcCrYrrZrwr.r.r/Údepart_subscript•rz LaTeXTranslator.depart_subscriptcCsÄ| dg¡}|dgfvr|j d¡|j d¡dS|dgfvr.|j d¡|j d¡dS|dgfvrB|j d¡|j d¡dS|rZ|jsZ|j d d  |¡¡|j d¡dS|j d ¡dS) NrfÚ menuselectionz\sphinxmenuselection{r†Úguilabelz\sphinxguilabel{Ú acceleratorz\sphinxaccelerator{z \DUrole{%s}{r¾rB)rirhrèrÔrÆrˆ)rMrdrfr.r.r/Ú visit_inline˜s        zLaTeXTranslator.visit_inlinecCr„rIr…rwr.r.r/Ú depart_inline©rmzLaTeXTranslator.depart_inlinecCrOrIr.rwr.r.r/Úvisit_generated¬rQzLaTeXTranslator.visit_generatedcCrOrIr.rwr.r.r/Údepart_generated¯rQz LaTeXTranslator.depart_generatedcCrOrIr.rwr.r.r/Úvisit_compound²rQzLaTeXTranslator.visit_compoundcCrOrIr.rwr.r.r/Údepart_compoundµrQzLaTeXTranslator.depart_compoundcCs*| dg¡}|D] }|j d|¡qdS)Nrfz \begin{sphinxuseclass}{%s}©rirhrè©rMrdrfÚcr.r.r/Úvisit_container¸s ÿzLaTeXTranslator.visit_containercCs&| dg¡}|D]}|j d¡qdS)Nrfz \end{sphinxuseclass}rrr.r.r/Údepart_container½s ÿz LaTeXTranslator.depart_containercCrOrIr.rwr.r.r/Úvisit_decorationÂrQz LaTeXTranslator.visit_decorationcCrOrIr.rwr.r.r/Údepart_decorationÅrQz!LaTeXTranslator.depart_decorationcCrÇrIrÈrwr.r.r/Ú visit_headerÊrÊzLaTeXTranslator.visit_headercCrÇrIrÈrwr.r.r/Ú visit_footerÍrÊzLaTeXTranslator.visit_footercCrÇrIrÈrwr.r.r/Ú visit_docinfoÐrÊzLaTeXTranslator.visit_docinforšcCs,| |¡}|jr| tdt¡ dd¡}|S)Nz~\\rsr˜)rrÐr$r‰©rMršr.r.r/r"Õs zLaTeXTranslator.encodecCs"| |¡ dd¡ dd¡ dd¡S)Nz\textasciitilde{}r˜z\sphinxhyphen{}ú-z\textquotesingle{}ú'rƒrr.r.r/r¥ÝsþzLaTeXTranslator.encode_uricCs| | ¡¡}|j |¡dSrI)r"r[rhrè)rMrdršr.r.r/Ú visit_TextæszLaTeXTranslator.visit_TextcCrOrIr.rwr.r.r/Ú depart_TextêrQzLaTeXTranslator.depart_TextcCrÇrIrÈrwr.r.r/Ú visit_commentírÊzLaTeXTranslator.visit_commentcCrÇrIrÈrwr.r.r/Ú visit_metaðszLaTeXTranslator.visit_metacCrOrIr.rwr.r.r/Úvisit_system_messageôrQz$LaTeXTranslator.visit_system_messagecCr¼rIrirwr.r.r/Údepart_system_message÷rz%LaTeXTranslator.depart_system_messagecCs:|jr|j d| ¡¡tj‚|j d| ¡¡tj‚)Nz\protect\(%s\protect\)z\(%s\))rÆrhrèr[r rwrwr.r.r/Ú visit_mathús ÿzLaTeXTranslator.visit_mathcCs†| d¡rd|d|df}nd}| d¡r,|r!|j d|¡|j | ¡¡tj ‚ddlm}|j || ¡||jjƒ¡tj ‚)NrÃúequation:%s:%srLÚnowrapr r)Úwrap_displaymath) rirhrèr[Úsphinx.util.mathr%rÝÚmath_number_allr rw)rMrdrÃr%r.r.r/Úvisit_math_blocks   ýÿz LaTeXTranslator.visit_math_blockc Cs¢d|d|df}|jj}|rGzd|}|j |j|d¡WdStyF}ztjtdƒ||d|j d|¡WYd}~dSd}~ww|j d|¡dS) Nr#rLrtr©)rªzInvalid math_eqref_format: %rroz \eqref{%s}) rÝÚmath_eqref_formatrhrèr r<rârãr)rMrdrÃÚ eqref_formatÚrefÚexcr.r.r/Úvisit_math_references ÿ€ýz$LaTeXTranslator.visit_math_referencecCrOrIr.rwr.r.r/Údepart_math_referencerQz%LaTeXTranslator.depart_math_referencecCstd|jjƒ‚)NzUnknown node: )ÚNotImplementedErrorrOr9rwr.r.r/Ú unknown_visit"rzLaTeXTranslator.unknown_visitrI)TT)F©rŸ(r9r:r;rGrar»r?rr rUrKrr”rþrrÛr[r“rrrrrrrrïrrrr™rcr•rNrPrRrTrWrXr[r]r_r`Ú visit_sidebarÚdepart_sidebarrarbrcrdrgrjrlrnr€r‚rƒr†r‰rŠrrŽr“r”r–r—r™ršrœrŸr£r§r¨r©rªr«r¬r­r¯r°rµr¶r·r¸r¹rºr»r½r¿rÀrÅrÆrÉrÌrÏrÒrÕrÖr×rØrÚrÞràrárärèrírïrørúrür r r r rrrrrrrrrrrrrrÚvisit_field_nameÚdepart_field_nameÚvisit_field_bodyÚdepart_field_bodyr#r$r&r)r+r,r-r.rtr/r1rLrMrYrZr^r_r`rarcrgrhriÚvisit_attentionÚdepart_attentionÚ visit_cautionÚdepart_cautionÚ visit_dangerÚ depart_dangerÚ visit_errorÚ depart_errorÚ visit_hintÚ depart_hintÚvisit_importantÚdepart_importantÚ visit_noteÚ depart_noteÚ visit_tipÚ depart_tipÚ visit_warningÚdepart_warningrjrkr{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èÚvisit_doctest_blockÚdepart_doctest_blockrérêrìrírðrñròrórõrör÷rørùrúrûrürþrÿrrrrrr r r r r rrrrrrrrr"r¥rrrrrr r!r"r(r-r.rr0rbr.r.rNr/rZs ÿÿÿ ' 0    %    "O' .B 8  3   $rZ)rwr\r"r1)Ur<r›rWÚ collectionsrÚosrÚtypingrrrrrr r r Údocutilsr r Údocutils.nodesrrrrrrÚsphinx.deprecationrÚsphinx.domainsrÚsphinx.domains.stdrÚ sphinx.errorsrÚ sphinx.localerrrÚ sphinx.utilrrrÚsphinx.util.docutilsrÚsphinx.util.nodesrrÚsphinx.util.templater Úsphinx.util.texescaper!Údocutils.utils.romanr"Ú ImportErrorÚromanÚsphinx.builders.latexr#Úsphinx.builders.latex.themingr$Ú getLoggerr9rârÆr×rr‰rVÚcompiler…r‡r8r>ÚWriterr@rcrr”rrtr®rZÚsphinx.builders.latex.nodesrwr\r"r.r.r.r/Ús€   (        þ   ûÿ   c#&