{"id":5138,"date":"2017-12-15T17:55:03","date_gmt":"2017-12-15T09:55:03","guid":{"rendered":"https:\/\/lttt.vanabel.cn\/?p=5138"},"modified":"2017-12-15T17:55:03","modified_gmt":"2017-12-15T09:55:03","slug":"ultisnipzidongbuquanshuxuehuanjingyufuhao","status":"publish","type":"post","link":"https:\/\/lttt.vanabel.cn\/?p=5138","title":{"rendered":"Ultisnip\u81ea\u52a8\u8865\u5168\u6570\u5b66\u73af\u5883\u4e0e\u7b26\u53f7"},"content":{"rendered":"<p>\u4e0b\u9762\u7684\u4ee3\u7801\u53ef\u4ee5\u81ea\u52a8\u8865\u5168\u6570\u5b66\u73af\u5883\u4e0e\u7b26\u53f7.<\/p>\n<pre class=\"lang:default decode:true \" ># complete function\nglobal !p\ndef complete(t, opts):\n    if t:\n        opts = [ m[len(t):] for m in opts if m.startswith(t) ]\n    if len(opts) == 1:\n        return opts[0]\n    if len(opts) == 0:\n        return ''\n    return \"(\" + '|'.join(opts) + ')'\n# the translation function\ndef alphabeta_map(latin):\n    alphabeta={\n        'a' : '\\\\alpha',\n        'b' : '\\\\beta',\n        'c' : '\\\\gamma',\n        'd' : '\\\\delta',\n        'e' : '\\\\epsilon',\n        'f' : '\\\\phi',\n        'g' : '\\\\gamma',\n        'h' : '\\\\eta',\n        'i' : '\\\\iota',\n        'k' : '\\\\kappa',\n        'l' : '\\\\lambda',\n        'm' : '\\\\mu',\n        'n' : '\\\\nu',\n        'p' : '\\\\pi',\n        'q' : '\\\\theta',\n        'r' : '\\\\rho',\n        's' : '\\\\sigma',\n        't' : '\\\\tau',\n        'u' : '\\\\upsilon',\n        'w' : '\\\\omega',\n        'x' : '\\\\xi',\n        'y' : '\\\\psi',\n        'z' : '\\\\zeta',\n        'A' : '\\\\forall',\n        'E' : '\\\\exists',\n        'D' : '\\\\Delta',\n        'F' : '\\\\Phi',\n        'G' : '\\\\Gamma',\n        'L' : '\\\\Lambda',\n        'N' : '\\\\nabla',\n        'P' : '\\\\Pi',\n        'Q' : '\\\\Theta',\n        'S' : '\\\\Sigma',\n        'U' : '\\\\Upsiln',\n        'W' : '\\\\Omega',\n        'X' : '\\\\Xi',\n        'Y' : '\\\\Psi',\n        've': '\\\\varepsilon',\n        'vf': '\\\\varphi',\n        'vk': '\\\\varkappa',\n        'vq': '\\\\vartheta',\n        'vr': '\\\\varrho',\n        '~' : '\\\\tilde',\n        '^' : '\\\\wedge',\n        '|' : '\\\\perp',\n        '-' : '\\\\top',\n        'o' : '\\\\circ',\n        'O' : '\\\\otimes',\n        '2' : '\\\\sqrt',\n        '6' : '\\\\partial',\n        '8' : '\\\\infty',\n        '0' : '\\\\emptyset',\n        '\\\\': '\\\\setminus',\n        '=' : '\\\\equiv',\n        '.' : '\\\\cdot',\n        '*' : '\\\\times',\n        '&lt;' : '\\\\langle',\n        '&gt;' : '\\\\rangle',\n        '[' : '\\\\subseteq',\n        ']' : '\\\\supseteq',\n        '(' : '\\\\subset',\n        ')' : '\\\\supset',\n        'jj': '\\\\downarrow',\n        'jJ': '\\\\Downarrow',\n        'jk': '\\\\uparrow',\n        'jK': '\\\\Uparrow',\n        'jh': '\\\\leftarrow',\n        'jH': '\\\\Leftarrow',\n        'jl': '\\\\rightarrow',\n        'jL': '\\\\Rightarrow'\n    }\n    return alphabeta[latin]\n\nendglobal\n\n#redefine begin environment\nsnippet \"b(egin)?\" \"begin{} \/ end{}\" br\n\\begin{${1}`!p\nbenv =complete( t[1], ['equation', 'align*', 'split', 'multline*', 'cases', 'proof', 'frame', 'thm', 'lem', 'cor', 'prop', 'defn', 'rmk', 'claim'] )\nif (t[1]+benv) == 'equation':\n    labstr = 'eq'\nelse:\n    labstr = t[1]+benv\nsnip.rv =benv`}`!p\nif (t[1]+benv) in ('thm', 'lem', 'cor', 'prop', 'defn', 'equation'): \n    labstrb = '\\label{' + labstr +':'\n    labstre = '}'\nelif t[1]+benv == 'frame':\n        labstrb = '{'\n        labstre = '}'\nelse:\n    labstrb = ''\n    labstre = ''`${2:${VISUAL}`!p\nsnip.rv = labstrb`$3`!p snip.rv = labstre`}\n    ${0:${VISUAL}}\n\\end{$1`!p snip.rv=benv`}\nendsnippet\n\n\nsnippet \"\\\\la(bel)?\" \"\\label{}\" rA\n\\label{$1`!p snip.rv=complete(t[1], ['eq:', 'thm:', 'lem:', 'cor:', 'prop:', 'item:'])`$2}\nendsnippet\n\nsnippet \"`([a-zA-Z^|\\-0268\\\\=.*&lt;&gt;\\[\\]()~]+)\" \"Greeks\" rA\n`!p m= match.group(1)\nsnip.rv = alphabeta_map(m)`\nendsnippet\n\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u9762\u7684\u4ee3\u7801\u53ef\u4ee5\u81ea\u52a8\u8865\u5168\u6570\u5b66\u73af\u5883\u4e0e\u7b26\u53f7. # complete function  &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/lttt.vanabel.cn\/?p=5138\"> <span class=\"screen-reader-text\">Ultisnip\u81ea\u52a8\u8865\u5168\u6570\u5b66\u73af\u5883\u4e0e\u7b26\u53f7<\/span> \u9605\u8bfb\u66f4\u591a &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[835,834,662,836,837],"class_list":["post-5138","post","type-post","status-publish","format-standard","hentry","category-net","tag-python","tag-ultisnip","tag-vim","tag-shuxuehuanjing","tag-shuxuefuhao"],"_links":{"self":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/5138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5138"}],"version-history":[{"count":1,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/5138\/revisions"}],"predecessor-version":[{"id":5139,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=\/wp\/v2\/posts\/5138\/revisions\/5139"}],"wp:attachment":[{"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lttt.vanabel.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}