ó Y-Qc@s‰dZddlmZddlmZmZddlmZmZm Z dgZ d„Z dZ dZ d „Zdefd „ƒYZd S( sÛ pygments.formatters.latex ~~~~~~~~~~~~~~~~~~~~~~~~~ Formatter for LaTeX fancyvrb output. :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. iÿÿÿÿ(t Formatter(tTokentSTANDARD_TYPES(t get_bool_optt get_int_opttStringIOtLatexFormattercCs|jddƒjddƒjddƒjdd|ƒjdd|ƒjdd |ƒjd d |ƒjd d |ƒjdd|ƒjdd|ƒjdd|ƒjdd|ƒjdd|ƒjdd|ƒjdd|ƒjdd|ƒjdd|ƒjd d!|ƒS("Ns\tt{st}ss\%sZbs{}s\%sZob{}s\%sZcb{}t^s\%sZca{}t_s\%sZus{}t&s\%sZam{}ts\%sZgt{}t#s\%sZsh{}t%s\%sZpc{}t$s\%sZdl{}t-s\%sZhy{}t's\%sZsq{}t"s\%sZdq{}t~s\%sZti{}(treplace(ttextt commandprefix((sC/usr/local/lib/python2.7/site-packages/pygments/formatters/latex.pyt escape_texs$  sÈ \documentclass{%(docclass)s} \usepackage{fancyvrb} \usepackage{color} \usepackage[%(encoding)s]{inputenc} %(preamble)s %(styledefs)s \begin{document} \section*{%(title)s} %(code)s \end{document} sÝ \makeatletter \def\%(cp)s@reset{\let\%(cp)s@it=\relax \let\%(cp)s@bf=\relax%% \let\%(cp)s@ul=\relax \let\%(cp)s@tc=\relax%% \let\%(cp)s@bc=\relax \let\%(cp)s@ff=\relax} \def\%(cp)s@tok#1{\csname %(cp)s@tok@#1\endcsname} \def\%(cp)s@toks#1+{\ifx\relax#1\empty\else%% \%(cp)s@tok{#1}\expandafter\%(cp)s@toks\fi} \def\%(cp)s@do#1{\%(cp)s@bc{\%(cp)s@tc{\%(cp)s@ul{%% \%(cp)s@it{\%(cp)s@bf{\%(cp)s@ff{#1}}}}}}} \def\%(cp)s#1#2{\%(cp)s@reset\%(cp)s@toks#1+\relax+\%(cp)s@do{#2}} %(styles)s \def\%(cp)sZbs{\char`\\} \def\%(cp)sZus{\char`\_} \def\%(cp)sZob{\char`\{} \def\%(cp)sZcb{\char`\}} \def\%(cp)sZca{\char`\^} \def\%(cp)sZam{\char`\&} \def\%(cp)sZlt{\char`\<} \def\%(cp)sZgt{\char`\>} \def\%(cp)sZsh{\char`\#} \def\%(cp)sZpc{\char`\%%} \def\%(cp)sZdl{\char`\$} \def\%(cp)sZhy{\char`\-} \def\%(cp)sZsq{\char`\'} \def\%(cp)sZdq{\char`\"} \def\%(cp)sZti{\char`\~} %% for compatibility with earlier versions \def\%(cp)sZat{@} \def\%(cp)sZlb{[} \def\%(cp)sZrb{]} \makeatother cCs`tj|ƒ}|r|Sd}x6|dkrW|d|}|j}tj|ƒ}q"W||S(Ntiÿÿÿÿ(RtgettNonetparent(tttypetfnametaname((sC/usr/local/lib/python2.7/site-packages/pygments/formatters/latex.pyt_get_ttype_name…s cBsPeZdZdZddgZdgZd„Zd„Zdd„Zd „Z RS( s Format tokens as LaTeX code. This needs the `fancyvrb` and `color` standard packages. Without the `full` option, code is formatted as one ``Verbatim`` environment, like this: .. sourcecode:: latex \begin{Verbatim}[commandchars=\\{\}] \PY{k}{def }\PY{n+nf}{foo}(\PY{n}{bar}): \PY{k}{pass} \end{Verbatim} The special command used here (``\PY``) and all the other macros it needs are output by the `get_style_defs` method. With the `full` option, a complete LaTeX document is output, including the command definitions in the preamble. The `get_style_defs()` method of a `LatexFormatter` returns a string containing ``\def`` commands defining the macros needed inside the ``Verbatim`` environments. Additional options accepted: `style` The style to use, can be a string or a Style subclass (default: ``'default'``). `full` Tells the formatter to output a "full" document, i.e. a complete self-contained document (default: ``False``). `title` If `full` is true, the title that should be used to caption the document (default: ``''``). `docclass` If the `full` option is enabled, this is the document class to use (default: ``'article'``). `preamble` If the `full` option is enabled, this can be further preamble commands, e.g. ``\usepackage`` (default: ``''``). `linenos` If set to ``True``, output line numbers (default: ``False``). `linenostart` The line number for the first line (default: ``1``). `linenostep` If set to a number n > 1, only every nth line number is printed. `verboptions` Additional options given to the Verbatim environment (see the *fancyvrb* docs for possible values) (default: ``''``). `commandprefix` The LaTeX commands used to produce colored output are constructed using this prefix and some letters (default: ``'PY'``). *New in Pygments 0.7.* *New in Pygments 0.10:* the default is now ``'PY'`` instead of ``'C'``. `texcomments` If set to ``True``, enables LaTeX comment lines. That is, LaTex markup in comment tokens is not escaped so that LaTeX can render it (default: ``False``). *New in Pygments 1.2.* `mathescape` If set to ``True``, enables LaTeX math mode escape in comments. That is, ``'$...$'`` inside a comment will trigger math mode (default: ``False``). *New in Pygments 1.2.* tLaTeXtlatexttexs*.texcKsütj|||jddƒ|_|jddƒ|_t|dtƒ|_tt |ddƒƒ|_ tt |ddƒƒ|_ |jd dƒ|_ t|d tƒ|_ |jd d ƒ|_t|d tƒ|_t|dtƒ|_|jƒdS(NtdocclasstarticletpreambleRtlinenost linenostartit linenostept verboptionst nobackgroundRtPYt texcommentst mathescape(Rt__init__RR%R'RtFalseR(tabsRR)R*R+R,RR.R/t_create_stylesheet(tselftoptions((sC/usr/local/lib/python2.7/site-packages/pygments/formatters/latex.pyR0âsc Cs¤idt6}|_i}|_|j}d„}xj|jD]_\}}t|ƒ}d}|drr|d7}n|dr‰|d7}n|dr |d7}n|d r·|d 7}n|d rÎ|d 7}n|d rå|d 7}n|dr |d||dƒ7}n|dr?|d||dƒ||dƒf7}n%|drd|d||dƒ7}n|dkrvq=n|jd|ƒ}|||<||| s  $J