
)7Sc           @   s(  d  d l  Z  d d l m Z m Z d d l Tdl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| f Z e  j d'  d( f e  j d)  d* f g Z d} d~ d d d d d d d f	 Z d>   Z	 y  e j
 e  j d?  e	 f  Wn0 e  j k
 re j
 e  j d@  e	 f  n Xi dA e 6dB e 6dC e 6dD e 6dE e 6Z i dF e 6dG e 6dH e 6Z i dI e 6dJ e 6Z i dK d 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6Z i
 dV dW 6dX dY 6dZ d[ 6d\ d  6d] d^ 6d_ d 6d` dM 6da dO 6db dQ 6dc dS 6Z i dd e 6de e 6df e 6Z dg dh Z di   Z  dj e f dk     YZ! d S(   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   \^{}t   <s   $<$t   >s   $>$t   [s   {[}t   ]s   {]}t   's   \textquotesingle{}t   "s   \textquotedbl{}s   
t    u   ([∀-⋿■-➿]+)s   {\\symbol \1}uD   ([⺀-㏿㐀-䶵一-鿌ꀀ-꓿ꥠ-꥿ힰ-퟿豈-龎︐-﹯＀-￯]+)s   {\\japanese \1}u   𐀀u   𐁿t   japaneseu   𛀀u   𛃿u   𝄀u   𝇿u   𝍠u   𝍿u   𐃷u   🀀u   🀯u   🄀u   🟿u   𠀀u   𫠟t   japaneseextu   丽u   𯨟c         C   sq   |  j  d  } x[ t D]S \ } } } t |  t |  k sC t  | | k r | | k r d | | f Sq W| S(   Ni   u   {\%s %s}(   t   groupt   _NON_BMPt   lent   AssertionError(   t   matcht   ct   startt   endt   font(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt   sub_non_bmp9   s    u   ([𐀀-􏿿])u   ([-][-])t   textsuperscriptt   textsubscriptt   ulinet   soutt   footnotet   bfseriest   emt   ttfamilyt
   thincentert	   thinrightt   chaptert   sectioni   t
   subsectioni   t   subsubsectioni   t   subsubsubsectioni   t	   paragraphi   t   tinyit
   scriptsizeit   footnotesizeit   smallt
   normalsizei    t   larget   Larget   LARGEt   huget   Huget	   enumeratet   itemizet   bazquoteg      (@i   c         C   s}   d |  k s t   |  j d  s' t   d |  j d d  j d d  j d d	  j d d
  } d | k sy t  |   | S(   Ns   ://t   /t   .s   %5Es   --s   %20R	   s   %2Ct   :t   -R   (   R   t
   startswitht   replace(   t   urlt   path(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt   url_to_pathr   s
    :t   LaTeXFormatc           B   sG   e  Z d    Z d   Z d   Z d d  Z d d  Z d d  Z RS(   c         C   s(   t  |  _ d  |  _ d |  _ d |  _ d  S(   Ni    (   t   Falset   verbatimt   Nonet   table_row_startt
   row_lengtht   longest_row(   t   self(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt   __init__{   s    			c         C   sg   |  j  r | Sx& t D] \ } } | j | |  } q Wx& t D] \ } } | j | |  } q= W| Sd  S(   N(   RG   t	   QUOTE_MAPRA   t   FONT_SUBSTSt   sub(   RL   t   textt   badt   replt   regexpt   subst(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt   escape   s    	c         c   s   |  j  |  Vd  S(   N(   RV   (   RL   RQ   (    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyRQ      s    c   	      c   s  | t  k r d t  | Vn| t k r8 d t | Vn| t k rT d t | Vn~| t k rp d t | Vnb| t k r d t | VnF| t t f k r d Vn,| t k r d Vn| t	 k r d Vn| t
 k r d |  j | d  Vn| t k rd t | Vn| t k r,t |  _ d Vn| t k r@d	 Vn| t k rTd
 Vn~| t k rd } | rd | k r| d d k rd } qn  d |  _ d | V| sd | k s| d rd Vt |  _ qt |  _ n| t k rt |  _ d |  _ d Vn| t k rC|  j d 7_ |  j r;t |  _ d Vqd Vn| t k r|  j d 7_ |  j rxt |  _ d Vqd VnR| t k rt | d  } g  } d | k r t | d d  r| d j   } n t  | d t!  d } | j" d |  n  d | k r^t | d d  r2| d j   } n t  | d t!  d } | j" d |  n  | j# d t  s| j" d  n  t$ |  d k rd d j% |  } n d } d  | | f Vn t st& |   d  S(!   Nu   \%s{u   {\%s u   \begin{%s}
u   \item t    u
   \href{%s}{RB   u   \begin{verbatim}
u   

\noindent
s   \textbf{\emph{\color{red}t   modet   equalt   xi    s   \starttable%s
t   borders   \hline
i   R   s   {\bfseries s   & {\bfseries t   heightt   to_strt   pts	   height=%st   widths   width=%st   forcet   keepaspectratios   [%s]t   ,s    
\includegraphics%s{%s}
\ignore{('   t   CMD_MAPt	   BLOCK_MAPt   SIZEt   LATEX_SIZESt   ENV_MAPt   LISTMAPt   ORDERED_ITEMt   UNORDERED_ITEMt   BLOCKQUOTE_LINEt	   PARAGRAPHt   LINKRV   t   HEADINGt   LATEX_HEADINGSt	   CODEBLOCKt   TrueRG   t   NOINDENTt   ERRORt   TABLERK   t   tableborderRF   t	   TABLE_ROWRI   RJ   t
   TABLE_CELLt   TABLE_HEADINGt   IMAGERD   t   hasattrR]   t   strt   PX_TO_PTt   appendt   getR   t   joinR   (	   RL   t   tt   argt   tabulartypeRC   t   paramsR\   R_   t   paramstr(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyR      s    									c      	   c   s  | t  k s* | t k s* | t t f k r2 d VnZ| t k rN d t | Vn>| t k rj d t | Vn"| t t t f k r d Vn| t	 k r d Vn| t
 k r d Vn| t k r t |  _ d Vn| t k r d Vn| t k r d Vn| t k rd } d	 } d
 } g  } | rd | k rA| d d j   } n  d | k ra| d rad } n  d | k rz| d } n  d | k r| d d k rd } | j   } qn  x& t |  |  j k  r| j |  qWd | | | j |  | f Vn | t k r>|  j |  j k r%|  j |  _ n  d V|  j rd VqnN | t k rRd Vn: | t k rfd Vn& | t k rzd Vn t st |   d  S(   Nu   }u	   
\end{%s}u	   \end{%s}
s   
RW   R   u   
\end{verbatim}s   }}t   lt   |t   aligni    R[   t   specsRX   RY   RZ   s   \endtable%s{%s%s%s}
u   \\
s   \hline
(   Rc   Rd   Re   Rn   Rg   Rh   Ri   Rj   Rk   Rl   Rm   Rp   RF   RG   Rr   Rs   Rt   t   lowert   upperR   RK   R}   R   Rv   RJ   Ru   Rw   Rx   Ry   R   (   RL   R   R   R   t   achart   bcharR   t   tablulartype(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyR      sf    *			c         c   s   | t  k r d Vn | t k r( d Vn | t k r< d Vn | t k rP d Vn~ | t k r x |  j t  D] } | Vql W| VxK |  j t  D] } | Vq Wn, | t k r t |  Vn t	 s t
 |   d  S(   Nu   \hrule{}u   \\u   

u   \noindent{}(   t   HRULEt	   LINEBREAKt	   ENV_BREAKRr   Rs   R   R   t   REFR   RF   R   (   RL   R   R   t   st   e(    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt   entity  s"    	N(	   t   __name__t
   __module__RM   RV   RQ   RH   R   R   R   (    (    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyRE   y   s   		
	W9(   s   \s   \textbackslash (   R   s   \{(   R   s   \}(   R   s   \%(   R   s   \&(   R   s   \$(   R   s   \#(   R	   s   \_(   R
   s   \~{}(   R   s   \^{}(   R   s   $<$(   R   s   $>$(   R   s   {[}(   R   s   {]}(   R   s   \textquotesingle{}(   R   s   \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   ("   t   ret   formatsR    R   t   tokensRN   t   compileRO   R   R   R}   t   errort   SUPERSCRIPTt	   SUBSCRIPTt	   UNDERLINEt   STRIKEt   FOOTNOTERc   t   BOLDt   ITALICt	   MONOSPACERd   t   CENTERt   RIGHTRg   Ro   Rf   t   ORDEREDt	   UNORDEREDt
   BLOCKQUOTERh   R|   RD   RE   (    (    (    sE   /afs/athena.mit.edu/user/x/a/xavid/Public/bazki/lib/redbeans/latex.pyt   <module>   s   
				










	