Ńň fŻJc @ s d Z d d k l Z d d k l Z l Z d d k l Z l Z l Z d g Z d Z d Z d Z d Z d e f d YZ d S( sŰ pygments.formatters.latex ~~~~~~~~~~~~~~~~~~~~~~~~~ Formatter for LaTeX fancyvrb output. :copyright: Copyright 2006-2009 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. i˙˙˙˙( t Formatter( t Tokent STANDARD_TYPES( t get_bool_optt get_int_optt StringIOt LatexFormatterc C sX | i d d i d d i d d i d d | i d d | i d d | S( Nt @t t [s t ]s s @%sZat[]s @%sZlb[]s @%sZrb[]( t replace( t textt commandprefix( ( s= /usr/lib/python2.6/site-packages/pygments/formatters/latex.pyt escape_tex s 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)sZat{@} \def\%(cp)sZlb{[} \def\%(cp)sZrb{]} \makeatother c C sd t i | } | o | Sd } x8 | d j o* | d | } | i } t i | } q$ W| | S( Nt i˙˙˙˙( R t gett Nonet parent( t ttypet fnamet aname( ( s= /usr/lib/python2.6/site-packages/pygments/formatters/latex.pyt _get_ttype_namef s c B sP e Z d Z d Z d d g Z d g Z d Z d Z d d Z d 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'``. t LaTeXt latext texs *.texc K sŇ t i | | | i d d | _ | i d d | _ t | d t | _ t t | d d | _ t t | d d | _ | i d d | _ t | d t | _ | i d d | _ | i d S( Nt docclasst articlet preambleR t linenost linenostarti t linenostept verboptionst nobackgroundR t PY( R t __init__R R R R t FalseR t absR R R R R! R t _create_stylesheet( t selft options( ( s= /usr/lib/python2.6/site-packages/pygments/formatters/latex.pyR# š s c C s¸ h d t 6} | _ h } | _ | i } d } x~| i D]s\ } } t | } d } | d o | d 7} n | d o | d 7} n | d o | d 7} n | d o | d 7} n | d o | d 7} n | d o | d 7} n | d o | d | | d 7} n | d o, | d | | d | | d f 7} n( | d o | d | | d 7} n | d j o q= n | i d | } | | | <| | |