doxy: support inline LaTeX
authordberzano <dario.berzano@cern.ch>
Wed, 10 Dec 2014 15:51:04 +0000 (16:51 +0100)
committerdberzano <dario.berzano@cern.ch>
Fri, 9 Jan 2015 15:01:09 +0000 (16:01 +0100)
doxygen/thtml2doxy.py

index 1f7ecc5..b7feed1 100755 (executable)
@@ -468,6 +468,8 @@ def refactor_comment(comment, do_strip_html=True):
   recomm = r'^(/{2,}|/\*)? ?(\s*.*?)\s*((/{2,})?\s*|\*/)$'
   regarbage = r'^(?i)\s*([\s*=-_#]+|(Begin|End)_Html)\s*$'
 
+  reinline_latex = r'(?i)(.*)BEGIN_LATEX\s+(.*?)\s+END_LATEX(.*)$'
+
   new_comment = []
   insert_blank = False
   wait_first_non_blank = True
@@ -489,6 +491,19 @@ def refactor_comment(comment, do_strip_html=True):
           new_comment.append('')
         insert_blank = False
         wait_first_non_blank = False
+
+        # Postprocessing: LaTeX formulas in ROOT format
+        # Marked by BEGIN_LATEX ... END_LATEX and they use # in place of \
+        # There can be several ROOT LaTeX forumlas per line
+        while True:
+          minline_latex = re.search( reinline_latex, new_line_comment )
+          if minline_latex:
+            new_line_comment = '%s\\f$%s\\f$%s' % \
+              ( minline_latex.group(1), minline_latex.group(2).replace('#', '\\'),
+                minline_latex.group(3) )
+          else:
+            break
+
         new_comment.append( new_line_comment )
 
     else: