File: //proc/self/root/lib64/python2.7/Tools/scripts/texcheck.pyc
�
{�fc           @   s�   d  Z  d d l Z d d l Z d d l Z d d l m Z m Z m Z d d l Z d Z	 d �  Z
 g  d � Z d d � Z
 e d k r� e j e
 �  � n  d S(	   s�   TeXcheck.py -- rough syntax checking on Python style LaTeX documents.
   Written by Raymond D. Hettinger <python at rcn.com>
   Copyright (c) 2003 Python Software Foundation.  All rights reserved.
Designed to catch common markup errors including:
* Unbalanced or mismatched parenthesis, brackets, and braces.
* Unbalanced or mismatched \begin and \end blocks.
* Misspelled or invalid LaTeX commands.
* Use of forward slashes instead of backslashes for commands.
* Table line size mismatches.
Sample command line usage:
    python texcheck.py -k chapterheading -m lib/librandomtex *.tex
Options:
    -m          Munge parenthesis and brackets. [0,n) would normally mismatch.
    -k keyword: Keyword is a valid LaTeX command. Do not include the backslash.
    -d:         Delimiter check only (useful for non-LaTeX files).
    -h:         Help
    -s lineno:  Start at lineno (useful for skipping complex sections).
    -v:         Verbose.  Trace the matching of //begin and //end blocks.
i����N(   t   izipt   countt   islices�  
    \section \module \declaremodule \modulesynopsis \moduleauthor
    \sectionauthor \versionadded \code \class \method \begin
    \optional \var \ref \end \subsection \lineiii \hline \label
    \indexii \textrm \ldots \keyword \stindex \index \item \note
    \withsubitem \ttindex \footnote \citetitle \samp \opindex
    \noindent \exception \strong \dfn \ctype \obindex \character
    \indexiii \function \bifuncindex \refmodule \refbimodindex
    \subsubsection \nodename \member \chapter \emph \ASCII \UNIX
    \regexp \program \production \token \productioncont \term
    \grammartoken \lineii \seemodule \file \EOF \documentclass
    \usepackage \title \input \maketitle \ifhtml \fi \url \Cpp
    \tableofcontents \kbd \programopt \envvar \refstmodindex
    \cfunction \constant \NULL \moreargs \cfuncline \cdata
    \textasciicircum \n \ABC \setindexsubitem \versionchanged
    \deprecated \seetext \newcommand \POSIX \pep \warning \rfc
    \verbatiminput \methodline \textgreater \seetitle \lineiv
    \funclineni \ulink \manpage \funcline \dataline \unspecified
    \textbackslash \mimetype \mailheader \seepep \textunderscore
    \longprogramopt \infinity \plusminus \shortversion \version
    \refmodindex \seerfc \makeindex \makemodindex \renewcommand
    \indexname \appendix \protect \indexiv \mbox \textasciitilde
    \platform \seeurl \leftmargin \labelwidth \localmoduletable
    \LaTeX \copyright \memberline \backslash \pi \centerline
    \caption \vspace \textwidth \menuselection \textless
    \makevar \csimplemacro \menuselection \bfcode \sub \release
    \email \kwindex \refexmodindex \filenq \e \menuselection
    \exindex \linev \newsgroup \verbatim \setshortversion
    \author \authoraddress \paragraph \subparagraph \cmemberline
    \textbar \C \seelink
c         C   sr   y | j  �  \ } } Wn! t k
 r9 d |  | f GHd SX| | j | | g � k rY d Sd | | | |  f GHd S(   sC   Verify that closing delimiter matches most recent opening delimitersU   
Delimiter mismatch.  On line %d, encountered closing '%s' without corresponding openNsJ   
Opener '%s' on line %d was not closed before encountering '%s' on line %d(   t   popt
   IndexErrort   get(   t   c_linenot   c_symbolt   openerst   pairmapt   o_linenot   o_symbol(    (    s.   /usr/lib64/python2.7/Tools/scripts/texcheck.pyt
   matchclose?   s    
 c   #   	   C   sP  t  j d � } t  j d � } t t j �  � } x | D] } | j d | � q7 Wd | k ru i d d 6d d 6} n i d	 d 6d
 d 6} t d � } t  j d � }	 t  j d � }
 t  j d
 � } t  j d � } g  }
 g  } t  j d � } t  j d � } t  j d � } d } d } t | j d d � � } d } x�t t	 | � t
 |  | d d/ � � D]�\ } } | j �  } x� |	 j
 | � D]� \ } } } d | k r�| Gd G| G| G| Gn  | d k r�d | k r�|
 j | | f � nr | | k r|
 j | | f � nP | d k r2d | k r2t | | |
 | � n"