)7Sc@s(ddlZddlmZmZddlTdldmdndodpdqdrdsdtdudvdwdxdydzd{d|fZejd'd(fejd)d*fgZd}d~dddddddf Zd>Z y ej ejd?e fWn0ej k r ej ejd@e fnXidAe 6dBe 6dCe6dDe6dEe6ZidFe6dGe6dHe6ZidIe6dJe6ZidKd6dLdM6dNdO6dPdQ6dRdS6dTdU6Zi dVdW6dXdY6dZd[6d\d6d]d^6d_d6d`dM6dadO6dbdQ6dcdS6Zidde6dee6dfe6ZdgdhZdiZ djefdkYZ!dS(iNi(t BaseFormatt placeholder(t*s\s\textbackslash t{s\{t}s\}t%s\%t&s\&t$s\$t#s\#t_s\_t~s\~{}t^s\^{}ts$>$t[s{[}t]s{]}t's\textquotesingle{}t"s\textquotedbl{}s t u([∀-⋿■-➿]+)s {\\symbol \1}uD([⺀-㏿㐀-䶵一-鿌ꀀ-꓿ꥠ-꥿ힰ-퟿豈-龎︐-﹯＀-￯]+)s{\\japanese \1}u𐀀u𐁿tjapaneseu𛀀u𛃿u𝄀u𝇿u𝍠u𝍿u𐃷u🀀u🀯u🄀u🟿u𠀀u𫠟t japaneseextu丽u𯨟cCsq|jd}x[tD]S\}}}t|t|ksCt||kr||krd||fSqW|S(Niu{\%s %s}(tgroupt_NON_BMPtlentAssertionError(tmatchtctstarttendtfont((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt sub_non_bmp9s u ([𐀀-􏿿])u([-][-])ttextsuperscriptt textsubscripttulinetsouttfootnotetbfseriestemtttfamilyt thincentert thinrighttchaptertsectionit subsectionit subsubsectionitsubsubsubsectionit paragraphittinyit scriptsizeit footnotesizeitsmallt normalsizeitlargetLargetLARGEthugetHuget enumeratetitemizetbazquoteg(@icCs}d|kst|jds'td|jddjddjdd jdd }d |ksyt||S( Ns://t/t.s%5Es--s%20R s%2Ct:t-R(Rt startswithtreplace(turltpath((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt url_to_pathrs :t LaTeXFormatcBsGeZdZdZdZddZddZddZRS(cCs(t|_d|_d|_d|_dS(Ni(tFalsetverbatimtNonettable_row_startt row_lengtht longest_row(tself((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt__init__{s   cCsg|jr |Sx&tD]\}}|j||}qWx&tD]\}}|j||}q=W|SdS(N(RGt QUOTE_MAPRAt FONT_SUBSTStsub(RLttexttbadtrepltregexptsubst((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pytescapes ccs|j|VdS(N(RV(RLRQ((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyRQsc cs|tkrdt|Vn|tkr8dt|Vn|tkrTdt|Vn~|tkrpdt|Vnb|tkrdt|VnF|ttfkrdVn,|tkrdVn|t krdVn|t krd|j |dVn|t krdt |Vn|tkr,t|_dVn|tkr@d Vn|tkrTd Vn~|tkrd}|rd |kr|d d krd }qnd|_d|V| sd|ks|drdVt|_qt|_n|tkrt|_d|_dVn|tkrC|jd7_|jr;t|_dVqdVn|tkr|jd7_|jrxt|_dVqdVnR|tkrt|d}g}d|krt|ddr|dj}nt |dt!d}|j"d|nd|kr^t|ddr2|dj}nt |dt!d}|j"d|n|j#dts|j"dnt$|dkrddj%|}nd}d ||fVntst&|dS(!Nu\%s{u{\%s u \begin{%s} u\item tu \href{%s}{RBu\begin{verbatim} u \noindent s\textbf{\emph{\color{red}tmodetequaltxis\starttable%s tborders\hline iRs {\bfseries s & {\bfseries theighttto_strtpts height=%stwidthswidth=%stforcetkeepaspectratios[%s]t,s \includegraphics%s{%s} \ignore{('tCMD_MAPt BLOCK_MAPtSIZEt LATEX_SIZEStENV_MAPtLISTMAPt ORDERED_ITEMtUNORDERED_ITEMtBLOCKQUOTE_LINEt PARAGRAPHtLINKRVtHEADINGtLATEX_HEADINGSt CODEBLOCKtTrueRGtNOINDENTtERRORtTABLERKt tableborderRFt TABLE_ROWRIRJt TABLE_CELLt TABLE_HEADINGtIMAGERDthasattrR]tstrtPX_TO_PTtappendtgetRtjoinR( RLtttargt tabulartypeRCtparamsR\R_tparamstr((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyRs                               c cs|tks*|tks*|ttfkr2dVnZ|tkrNdt|Vn>|tkrjdt|Vn"|tttfkrdVn|t krdVn|t krdVn|t krt |_ dVn|tkrdVn|tkrdVn|tkrd}d }d }g}|rd |krA|d d j}nd |kra|d  rad}nd|krz|d}nd|kr|ddkrd}|j}qnx&t||jkr|j|qWd|||j||fVn|tkr>|j|jkr%|j|_ndV|jrdVqnN|tkrRdVn:|tkrfdVn&|tkrzdVnt st|dS(Nu}u \end{%s}u \end{%s} s RWRu \end{verbatim}s}}tlt|taligniR[tspecsRXRYRZs\endtable%s{%s%s%s} u\\ s\hline (RcRdReRnRgRhRiRjRkRlRmRpRFRGRrRsRttlowertupperRRKR}RRvRJRuRwRxRyR(RLRRRtachartbcharRt tablulartype((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyRsf*                   ccs|tkrdVn|tkr(dVn|tkr<dVn|tkrPdVn~|tkrx|jtD] }|VqlW|VxK|jtD] }|VqWn,|tkrt|Vnt st |dS(Nu\hrule{}u\\u u \noindent{}( tHRULEt LINEBREAKt ENV_BREAKRrRsRRtREFRRFR(RLRRtste((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pytentitys"        N( t__name__t __module__RMRVRQRHRRR(((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyREys    W 9(s\s\textbackslash (Rs\{(Rs\}(Rs\%(Rs\&(Rs\$(Rs\#(R s\_(R s\~{}(R s\^{}(R s$<$(R s$>$(Rs{[}(Rs{]}(Rs\textquotesingle{}(Rs\textquotedbl{}(s R(u𐀀u𐁿R(u𛀀u𛃿R(u𝄀u𝇿R(u𝍠u𝍿R(u𐀀u𐃷R(u🀀u🀯R(u🄀u🟿R(u𠀀u𫠟R(u丽u𯨟R("tretformatsRRttokensRNtcompileRORRR}terrort SUPERSCRIPTt SUBSCRIPTt UNDERLINEtSTRIKEtFOOTNOTERctBOLDtITALICt MONOSPACERdtCENTERtRIGHTRgRoRftORDEREDt UNORDEREDt BLOCKQUOTERhR|RDRE(((sE/afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyts