<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<link rel="icon" href="/moin/extensions/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow"/>
<link rel="stylesheet" href="/moin/extensions/static/style-gitweb.css" type="text/css" />


<title>moin/extensions: data/plugin/parser/inline_latex.py@6aefd777e2dd</title>
<link rel="alternate" type="application/atom+xml"
   href="/moin/extensions/atom-log" title="Atom feed for moin/extensions"/>
<link rel="alternate" type="application/rss+xml"
   href="/moin/extensions/rss-log" title="RSS feed for moin/extensions"/>
</head>
<body>

<div class="page_header">
<a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/moin/extensions/summary">moin/extensions</a> / file revision
</div>

<div class="page_nav">
<a href="/moin/extensions/summary">summary</a> |
<a href="/moin/extensions/shortlog">shortlog</a> |
<a href="/moin/extensions/log">changelog</a> |
<a href="/moin/extensions/graph">graph</a> |
<a href="/moin/extensions/tags">tags</a> |
<a href="/moin/extensions/branches">branches</a> |
<a href="/moin/extensions/file/6aefd777e2dd/data/plugin/parser/">files</a> |
<a href="/moin/extensions/rev/6aefd777e2dd">changeset</a> |
file |
<a href="/moin/extensions/file/tip/data/plugin/parser/inline_latex.py">latest</a> |
<a href="/moin/extensions/log/6aefd777e2dd/data/plugin/parser/inline_latex.py">revisions</a> |
<a href="/moin/extensions/annotate/6aefd777e2dd/data/plugin/parser/inline_latex.py">annotate</a> |
<a href="/moin/extensions/diff/6aefd777e2dd/data/plugin/parser/inline_latex.py">diff</a> |
<a href="/moin/extensions/raw-file/6aefd777e2dd/data/plugin/parser/inline_latex.py">raw</a><br/>
</div>

<div class="title">data/plugin/parser/inline_latex.py</div>

<div class="title_text">
<table cellspacing="0">
<tr>
 <td>author</td>
 <td>&#82;&#101;&#105;&#109;&#97;&#114;&#32;&#66;&#97;&#117;&#101;&#114;&#32;&#60;&#114;&#98;&#46;&#112;&#114;&#111;&#106;&#32;&#65;&#84;&#32;&#103;&#111;&#111;&#103;&#108;&#101;&#109;&#97;&#105;&#108;&#32;&#68;&#79;&#84;&#32;&#99;&#111;&#109;&#62;</td></tr>
<tr>
 <td></td>
 <td>Tue Jun 07 08:35:12 2011 +0200 (2 weeks ago)</td></tr>

<tr>
 <td>changeset 564</td>
 <td style="font-family:monospace"><a class="list" href="/moin/extensions/rev/6aefd777e2dd">6aefd777e2dd</a></td></tr>

<tr>
<td>parent 360</td>
<td style="font-family:monospace">
<a class="list" href="/moin/extensions/file/f57de7994cf6/data/plugin/parser/inline_latex.py">
f57de7994cf6
</a>
</td>
</tr>

<tr>
 <td>permissions</td>
 <td style="font-family:monospace">-rw-r--r--</td></tr>
</table>
</div>

<div class="page_path">
ListPages: list_type of content introduced. It renders the selected pages content instead of the page titles.
</div>

<div class="page_body">

<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l1" id="l1">     1</a> &quot;&quot;&quot;
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l2" id="l2">     2</a> inline_latex is a parser that allows regular moin moin wiki syntax,
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l3" id="l3">     3</a> but also latex style inline formulas like $...$ and latex style
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l4" id="l4">     4</a> paragraph formulas like $$...$$. Note that in the latter case, you
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l5" id="l5">     5</a> are (unlike in latex) limited to a single line. If you absolutely
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l6" id="l6">     6</a> need multiple lines, use the parser directly.
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l7" id="l7">     7</a> 
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l8" id="l8">     8</a> Copyright 2005 Johannes Berg &lt;johannes@sipsolutions.net&gt;
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l9" id="l9">     9</a>           2009 <a href="http://moinmo.in/ReimarBauer">MoinMoin:ReimarBauer</a> changed for 1.7.2/1.8 and the mathtran extension
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l10" id="l10">    10</a> Released under GPLv2.
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l11" id="l11">    11</a> &quot;&quot;&quot;
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l12" id="l12">    12</a> import re
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l13" id="l13">    13</a> from MoinMoin.parser import text_moin_wiki as wiki
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l14" id="l14">    14</a> from MoinMoin import wikiutil
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l15" id="l15">    15</a> 
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l16" id="l16">    16</a> class Parser(wiki.Parser):
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l17" id="l17">    17</a>     extensions = '*.tex'
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l18" id="l18">    18</a>     scan_rules = wiki.Parser.scan_rules
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l19" id="l19">    19</a>     scan_rules += ur'|(?P&lt;latex_formula&gt;\$[^$].*?(?&lt;!\\)\$)'
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l20" id="l20">    20</a>     scan_rules += ur'|(?P&lt;latex_formula_para&gt;\$\$.*?(?&lt;!\\)\$\$)'
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l21" id="l21">    21</a> 
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l22" id="l22">    22</a>     scan_re = re.compile(scan_rules, re.UNICODE|re.VERBOSE)
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l23" id="l23">    23</a> 
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l24" id="l24">    24</a>     def __init__(self, raw, request, **kw):
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l25" id="l25">    25</a>         wiki.Parser.__init__(self, raw, request, **kw)
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l26" id="l26">    26</a>         self.formatter = request.formatter
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l27" id="l27">    27</a>         self.request = request
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l28" id="l28">    28</a>         self.args = kw.get('format_args', '')
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l29" id="l29">    29</a>         self.mathtran_parser = wikiutil.importPlugin(self.request.cfg, 'parser', 'text_x_mathtran', 'Parser')
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l30" id="l30">    30</a> 
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l31" id="l31">    31</a>     def _latex_formula_repl(self, word, groups):
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l32" id="l32">    32</a>         word = word[1:len(word)-1]
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l33" id="l33">    33</a>         mp = self.mathtran_parser(word, self.request, format_args=self.args)
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l34" id="l34">    34</a>         if mp.init_settings:
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l35" id="l35">    35</a>             return mp.render(self.formatter)
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l36" id="l36">    36</a> 
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l37" id="l37">    37</a>     def _latex_formula_para_repl(self, word, groups):
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l38" id="l38">    38</a>         mp = self.mathtran_parser(word, self.request, format_args=self.args)
</pre>
</div>
<div style="font-family:monospace" class="parity0">
<pre><a class="linenr" href="#l39" id="l39">    39</a>         if mp.init_settings:
</pre>
</div>
<div style="font-family:monospace" class="parity1">
<pre><a class="linenr" href="#l40" id="l40">    40</a>             return &quot;%s%s%s&quot; % (self.formatter.paragraph(1), mp.render(self.formatter), self.formatter.paragraph(0))
</pre>
</div>
</div>

<div class="page_footer">
<div class="page_footer_text">moin/extensions</div>
<div class="rss_logo">
<a href="/moin/extensions/rss-log">RSS</a>
<a href="/moin/extensions/atom-log">Atom</a>
</div>
<br />

</div>
</body>
</html>

