亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? __init__.py

?? Requirement =====================================================================================
?? PY
?? 第 1 頁 / 共 2 頁
字號:
# Author: Felix Wiemann# Contact: Felix_Wiemann@ososo.de# Revision: $Revision: 4242 $# Date: $Date: 2006-01-06 00:28:53 +0100 (Fri, 06 Jan 2006) $# Copyright: This module has been placed in the public domain."""LaTeX2e document tree Writer."""# Thanks to Engelbert Gruber and various contributors for the original# LaTeX writer, some code and many ideas of which have been used for# this writer.__docformat__ = 'reStructuredText'import reimport os.pathfrom types import ListTypeimport docutilsfrom docutils import nodes, writers, utilsfrom docutils.writers.newlatex2e import unicode_mapfrom docutils.transforms import writer_auxclass Writer(writers.Writer):    supported = ('newlatex', 'newlatex2e')    """Formats this writer supports."""    default_stylesheet = 'base.tex'    default_stylesheet_path = utils.relative_path(        os.path.join(os.getcwd(), 'dummy'),        os.path.join(os.path.dirname(__file__), default_stylesheet))    settings_spec = (        'LaTeX-Specific Options',        'Note that this LaTeX writer is still EXPERIMENTAL. '        'You must specify the location of the tools/stylesheets/latex.tex '        'stylesheet file contained in the Docutils distribution tarball to '        'make the LaTeX output work.',        (('Specify a stylesheet file.  The path is used verbatim to include '          'the file.  Overrides --stylesheet-path.',          ['--stylesheet'],          {'default': '', 'metavar': '<file>',           'overrides': 'stylesheet_path'}),         ('Specify a stylesheet file, relative to the current working '          'directory.  Overrides --stylesheet.  Default: "%s"'          % default_stylesheet_path,          ['--stylesheet-path'],          {'metavar': '<file>', 'overrides': 'stylesheet',           'default': default_stylesheet_path}),         ('Specify a user stylesheet file.  See --stylesheet.',          ['--user-stylesheet'],          {'default': '', 'metavar': '<file>',           'overrides': 'user_stylesheet_path'}),         ('Specify a user stylesheet file.  See --stylesheet-path.',          ['--user-stylesheet-path'],          {'metavar': '<file>', 'overrides': 'user_stylesheet'})         ),)    settings_defaults = {        # Many Unicode characters are provided by unicode_map.py.        'output_encoding': 'ascii',        'output_encoding_error_handler': 'strict',        # Since we are using superscript footnotes, it is necessary to        # trim whitespace in front of footnote references.        'trim_footnote_reference_space': 1,        # Currently unsupported:        'docinfo_xform': 0,        # During development:        'traceback': 1        }    relative_path_settings = ('stylesheet_path', 'user_stylesheet_path')    config_section = 'newlatex2e writer'    config_section_dependencies = ('writers',)    output = None    """Final translated form of `document`."""    def get_transforms(self):        return writers.Writer.get_transforms(self) + [writer_aux.Compound]    def __init__(self):        writers.Writer.__init__(self)        self.translator_class = LaTeXTranslator    def translate(self):        visitor = self.translator_class(self.document)        self.document.walkabout(visitor)        assert not visitor.context, 'context not empty: %s' % visitor.context        self.output = visitor.astext()        self.head = visitor.header        self.body = visitor.bodyclass LaTeXException(Exception):    """    Exception base class to for exceptions which influence the    automatic generation of LaTeX code.    """class SkipAttrParentLaTeX(LaTeXException):    """    Do not generate ``\Dattr`` and ``\renewcommand{\Dparent}{...}`` for this    node.    To be raised from ``before_...`` methods.    """class SkipParentLaTeX(LaTeXException):    """    Do not generate ``\renewcommand{\DNparent}{...}`` for this node.    To be raised from ``before_...`` methods.    """class LaTeXTranslator(nodes.SparseNodeVisitor):    # Country code by a.schlock.    # Partly manually converted from iso and babel stuff.    iso639_to_babel = {        'no': 'norsk',     # added by hand        'gd': 'scottish',  # added by hand        'sl': 'slovenian',        'af': 'afrikaans',        'bg': 'bulgarian',        'br': 'breton',        'ca': 'catalan',        'cs': 'czech',        'cy': 'welsh',        'da': 'danish',        'fr': 'french',        # french, francais, canadien, acadian        'de': 'ngerman',        # ngerman, naustrian, german, germanb, austrian        'el': 'greek',        'en': 'english',        # english, USenglish, american, UKenglish, british, canadian        'eo': 'esperanto',        'es': 'spanish',        'et': 'estonian',        'eu': 'basque',        'fi': 'finnish',        'ga': 'irish',        'gl': 'galician',        'he': 'hebrew',        'hr': 'croatian',        'hu': 'hungarian',        'is': 'icelandic',        'it': 'italian',        'la': 'latin',        'nl': 'dutch',        'pl': 'polish',        'pt': 'portuguese',        'ro': 'romanian',        'ru': 'russian',        'sk': 'slovak',        'sr': 'serbian',        'sv': 'swedish',        'tr': 'turkish',        'uk': 'ukrainian'    }    # Start with left double quote.    left_quote = 1    def __init__(self, document):        nodes.NodeVisitor.__init__(self, document)        self.settings = document.settings        self.header = []        self.body = []        self.context = []        self.stylesheet_path = utils.get_stylesheet_reference(            self.settings, os.path.join(os.getcwd(), 'dummy'))        if self.stylesheet_path:            self.settings.record_dependencies.add(self.stylesheet_path)        # This ugly hack will be cleaned up when refactoring the        # stylesheet mess.        self.settings.stylesheet = self.settings.user_stylesheet        self.settings.stylesheet_path = self.settings.user_stylesheet_path        self.user_stylesheet_path = utils.get_stylesheet_reference(            self.settings, os.path.join(os.getcwd(), 'dummy'))        if self.user_stylesheet_path:            self.settings.record_dependencies.add(self.user_stylesheet_path)        self.write_header()    def write_header(self):        a = self.header.append        a('%% Generated by Docutils %s <http://docutils.sourceforge.net>.'          % docutils.__version__)        a('')        a('% Docutils settings:')        lang = self.settings.language_code or ''        a(r'\providecommand{\Dlanguageiso}{%s}' % lang)        a(r'\providecommand{\Dlanguagebabel}{%s}' % self.iso639_to_babel.get(            lang, self.iso639_to_babel.get(lang.split('_')[0], '')))        a('')        if self.user_stylesheet_path:            a('% User stylesheet:')            a(r'\input{%s}' % self.user_stylesheet_path)        a('% Docutils stylesheet:')        a(r'\input{%s}' % self.stylesheet_path)        a('')        a('% Default definitions for Docutils nodes:')        for node_name in nodes.node_class_names:            a(r'\providecommand{\DN%s}[1]{#1}' % node_name.replace('_', ''))        a('')        a('% Auxiliary definitions:')        a(r'\providecommand{\Dsetattr}[2]{}')        a(r'\providecommand{\Dparent}{} % variable')        a(r'\providecommand{\Dattr}[5]{#5}')        a(r'\providecommand{\Dattrlen}{} % variable')        a(r'\providecommand{\Dtitleastext}{x} % variable')        a(r'\providecommand{\Dsinglebackref}{} % variable')        a(r'\providecommand{\Dmultiplebackrefs}{} % variable')        a(r'\providecommand{\Dparagraphindented}{false} % variable')        a('\n\n')    unicode_map = unicode_map.unicode_map # comprehensive Unicode map    # Fix problems with unimap.py.    unicode_map.update({        # We have AE or T1 encoding, so "``" etc. work.  The macros        # from unimap.py may *not* work.        u'\u201C': '{``}',        u'\u201D': "{''}",        u'\u201E': '{,,}',        })    character_map = {        '\\': r'{\textbackslash}',        '{': r'{\{}',        '}': r'{\}}',        '$': r'{\$}',        '&': r'{\&}',        '%': r'{\%}',        '#': r'{\#}',        '[': r'{[}',        ']': r'{]}',        '-': r'{-}',        '`': r'{`}',        "'": r"{'}",        ',': r'{,}',        '"': r'{"}',        '|': r'{\textbar}',        '<': r'{\textless}',        '>': r'{\textgreater}',        '^': r'{\textasciicircum}',        '~': r'{\textasciitilde}',        '_': r'{\Dtextunderscore}',        }    character_map.update(unicode_map)    #character_map.update(special_map)        # `att_map` is for encoding attributes.  According to    # <http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-164.html>,    # the following characters are special: # $ % & ~ _ ^ \ { }    # These work without special treatment in macro parameters:    # $, &, ~, _, ^    att_map = {'#': '\\#',               '%': '\\%',               # We cannot do anything about backslashes.               '\\': '',               '{': '\\{',               '}': '\\}',               # The quotation mark may be redefined by babel.               '"': '"{}',               }    att_map.update(unicode_map)    def encode(self, text, attval=None):        """        Encode special characters in ``text`` and return it.        If attval is true, preserve as much as possible verbatim (used        in attribute value encoding).  If attval is 'width' or        'height', `text` is interpreted as a length value.        """        if attval in ('width', 'height'):            match = re.match(r'([0-9.]+)(\S*)$', text)            assert match, '%s="%s" must be a length' % (attval, text)            value, unit = match.groups()            if unit == '%':                value = str(float(value) / 100)                unit = r'\Drelativeunit'            elif unit in ('', 'px'):                # If \Dpixelunit is "pt", this gives the same notion                # of pixels as graphicx.                value = str(float(value) * 0.75)                unit = '\Dpixelunit'            return '%s%s' % (value, unit)        if attval:            get = self.att_map.get        else:            get = self.character_map.get        text = ''.join([get(c, c) for c in text])        if (self.literal_block or self.inline_literal) and not attval:            # NB: We can have inline literals within literal blocks.            # Shrink '\r\n'.            text = text.replace('\r\n', '\n')            # Convert space.  If "{ }~~~~~" is wrapped (at the            # brace-enclosed space "{ }"), the following non-breaking            # spaces ("~~~~") do *not* wind up at the beginning of the            # next line.  Also note that, for some not-so-obvious            # reason, no hyphenation is done if the breaking space ("{            # }") comes *after* the non-breaking spaces.            if self.literal_block:                # Replace newlines with real newlines.                text = text.replace('\n', '\mbox{}\\\\')                replace_fn = self.encode_replace_for_literal_block_spaces            else:                replace_fn = self.encode_replace_for_inline_literal_spaces            text = re.sub(r'\s+', replace_fn, text)            # Protect hyphens; if we don't, line breaks will be            # possible at the hyphens and even the \textnhtt macro            # from the hyphenat package won't change that.            text = text.replace('-', r'\mbox{-}')            text = text.replace("'", r'{\Dtextliteralsinglequote}')            return text        else:            if not attval:                # Replace space with single protected space.                text = re.sub(r'\s+', '{ }', text)                # Replace double quotes with macro calls.                L = []                for part in text.split(self.character_map['"']):                    if L:                        # Insert quote.                        L.append(self.left_quote and r'{\Dtextleftdblquote}'                                 or r'{\Dtextrightdblquote}')                        self.left_quote = not self.left_quote                    L.append(part)                return ''.join(L)            else:                return text    def encode_replace_for_literal_block_spaces(self, match):        return '~' * len(match.group())    def encode_replace_for_inline_literal_spaces(self, match):        return '{ }' + '~' * (len(match.group()) - 1)    def astext(self):        return '\n'.join(self.header) + (''.join(self.body))    def append(self, text, newline='%\n'):        """        Append text, stripping newlines, producing nice LaTeX code.        """        lines = ['  ' * self.indentation_level + line + newline                 for line in text.splitlines(0)]        self.body.append(''.join(lines))    def visit_Text(self, node):        self.append(self.encode(node.astext()))    def depart_Text(self, node):        pass    def is_indented(self, paragraph):        """Return true if `paragraph` should be first-line-indented."""        assert isinstance(paragraph, nodes.paragraph)        siblings = [n for n in paragraph.parent if                    self.is_visible(n) and not isinstance(n, nodes.Titular)]        index = siblings.index(paragraph)        if ('continued' in paragraph['classes'] or            index > 0 and isinstance(siblings[index-1], nodes.transition)):            return 0        # Indent all but the first paragraphs.        return index > 0    def before_paragraph(self, node):        self.append(r'\renewcommand{\Dparagraphindented}{%s}'                    % (self.is_indented(node) and 'true' or 'false'))    def before_title(self, node):        self.append(r'\renewcommand{\Dtitleastext}{%s}'                    % self.encode(node.astext()))        self.append(r'\renewcommand{\Dhassubtitle}{%s}'                    % ((len(node.parent) > 2 and                        isinstance(node.parent[1], nodes.subtitle))                       and 'true' or 'false'))    def before_generated(self, node):        if 'sectnum' in node['classes']:            node[0] = node[0].strip()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网页版在线| 欧美色手机在线观看| 成人精品gif动图一区| 久久久青草青青国产亚洲免观| 18成人在线视频| 国产精品三级久久久久三级| 欧美色综合网站| 精品精品国产高清一毛片一天堂| 国产精品动漫网站| 久久国产精品露脸对白| 色94色欧美sute亚洲线路一ni| 欧美日韩国产中文| 夜夜嗨av一区二区三区| 国产成人精品免费网站| 精品国产sm最大网站免费看| 日本亚洲免费观看| 欧美日韩色综合| 综合网在线视频| 成人永久aaa| 精品国产91乱码一区二区三区| 五月开心婷婷久久| 欧美日韩中文一区| 亚洲免费av观看| 91在线视频网址| 中文字幕不卡三区| 成人av电影在线网| 久久精子c满五个校花| 久久99国产精品久久99果冻传媒| 91.com在线观看| 午夜精品国产更新| 在线成人免费观看| 日日噜噜夜夜狠狠视频欧美人 | 亚洲综合无码一区二区| 不卡电影一区二区三区| 中文字幕免费观看一区| 暴力调教一区二区三区| 亚洲欧美日韩国产中文在线| 色综合天天综合网天天看片| 亚洲一区二区三区中文字幕在线| 91网页版在线| 亚洲大片精品永久免费| 91麻豆精品国产91| 国模少妇一区二区三区| 国产日韩高清在线| 波多野结衣亚洲一区| 亚洲精品日日夜夜| 欧美人成免费网站| 国产一区二区三区久久久| 国产精品欧美一区喷水| 欧美性生活影院| 日本不卡一区二区三区 | 亚洲在线视频网站| 91麻豆精品国产自产在线观看一区| 日本欧美一区二区| 久久久久久久久伊人| 99视频超级精品| 日韩影院在线观看| 国产欧美精品一区二区色综合 | 欧美日韩国产一区二区三区地区| 视频在线在亚洲| 国产欧美一区二区精品性色| 欧美在线观看一区| 久久精品国产久精国产爱| 国产精品视频第一区| 欧美一级免费大片| 国产精品12区| 亚洲线精品一区二区三区| 精品电影一区二区| 91精品91久久久中77777| 精品在线一区二区| 亚洲精品久久嫩草网站秘色| gogo大胆日本视频一区| 日韩影院精彩在线| 中文字幕日本不卡| 欧美大尺度电影在线| 99热在这里有精品免费| 久久99精品久久久久久国产越南| 国产精品日日摸夜夜摸av| 欧美一区二区在线观看| 91香蕉国产在线观看软件| 精品一区二区三区久久久| 一区二区三区欧美日| 国产三级欧美三级| 91精选在线观看| 在线免费av一区| 国产精品1区二区.| 三级一区在线视频先锋 | 日韩欧美电影一区| 91福利在线看| 国产成人啪免费观看软件| 日韩成人一级片| 亚洲精品国产精品乱码不99 | 91麻豆精品国产91久久久| 99国产一区二区三精品乱码| 国产一区美女在线| 性久久久久久久| 亚洲男帅同性gay1069| 欧美国产一区二区在线观看| 欧美成人午夜电影| 欧美日本免费一区二区三区| 91精品福利视频| 91日韩一区二区三区| 国产suv精品一区二区6| 免费亚洲电影在线| 亚洲国产精品一区二区www| 亚洲综合色区另类av| 亚洲免费观看在线视频| 中文字幕一区二区三区色视频| 久久久777精品电影网影网 | 日韩伦理av电影| 国产精品美女视频| 国产精品亲子乱子伦xxxx裸| 亚洲国产精品国自产拍av| 国产亚洲欧美一区在线观看| 久久尤物电影视频在线观看| 久久亚洲欧美国产精品乐播| 亚洲精品在线免费播放| 久久精品亚洲麻豆av一区二区 | 亚洲午夜精品网| 日韩电影一二三区| 蜜臀av一区二区在线观看| 久久精品国产一区二区| 国产在线一区二区综合免费视频| 久久精品国产第一区二区三区| 免费人成网站在线观看欧美高清| 日本怡春院一区二区| 日韩av一区二区三区四区| 日韩不卡在线观看日韩不卡视频| 日本v片在线高清不卡在线观看| 日产欧产美韩系列久久99| 极品少妇xxxx偷拍精品少妇| 国产呦萝稀缺另类资源| 不卡视频在线观看| 欧美三级三级三级| 日韩色视频在线观看| 国产精品天干天干在观线| 国产精品成人在线观看| 亚洲国产视频在线| 久久电影网站中文字幕| 成人国产亚洲欧美成人综合网| 色哟哟在线观看一区二区三区| 欧美三级中文字幕在线观看| 日韩午夜在线播放| 国产精品久久久久久久岛一牛影视 | 蜜臀av一区二区| 成人激情校园春色| 欧美日韩国产区一| 国产丝袜在线精品| 亚洲无人区一区| 国产成人av电影在线观看| 91亚洲精品久久久蜜桃网站| 91精品国产品国语在线不卡| 国产欧美精品日韩区二区麻豆天美| 亚洲精品一卡二卡| 精久久久久久久久久久| 91久久精品日日躁夜夜躁欧美| 337p日本欧洲亚洲大胆色噜噜| 亚洲丝袜精品丝袜在线| 美女脱光内衣内裤视频久久影院| 成人一区二区三区中文字幕| 制服丝袜激情欧洲亚洲| 日本一区二区视频在线观看| 丝袜美腿一区二区三区| 成人国产免费视频| 日韩欧美黄色影院| 亚洲免费av网站| 国产精品一级片| 欧美一区二区免费| 亚洲综合久久av| 大胆亚洲人体视频| 精品久久一二三区| 亚洲午夜国产一区99re久久| 风间由美性色一区二区三区| 欧美日韩成人在线一区| ...xxx性欧美| 国产99一区视频免费| 日韩免费看的电影| 天天爽夜夜爽夜夜爽精品视频| 成人污污视频在线观看| 欧美一区二区不卡视频| 一区二区三区精品在线| av福利精品导航| 国产亲近乱来精品视频| 狠狠色狠狠色综合| 日韩精品一区二区三区在线| 三级影片在线观看欧美日韩一区二区| 在线观看日产精品| 一区二区三区不卡在线观看| 一本色道久久综合亚洲91| 亚洲国产精品v| 风流少妇一区二区| 国产精品天美传媒| www.亚洲在线| 日韩美女久久久| 99精品国产一区二区三区不卡| 国产精品拍天天在线| 99久久精品国产毛片| 亚洲欧美在线高清| 色94色欧美sute亚洲线路一久| 亚洲激情在线激情|