]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/parser_tools.py
Some refinements in the lyx2lyx methods
[lyx.git] / lib / lyx2lyx / parser_tools.py
index 6d64a793ce2e3861b5a922e3930f3bd0351cc005..83cf303225db2c779fd8c3f56147aef3fd728727 100644 (file)
@@ -128,7 +128,8 @@ get_containing_inset(lines, i):
   on line 306.
 
 get_containing_layout(lines, i):
-  As get_containing_inset, but for layout.
+  As get_containing_inset, but for layout. Additionally returns the
+  position of real paragraph start (after par params) as 4th value.
 
 
 find_nonempty_line(lines, start[, end):
@@ -441,7 +442,8 @@ def get_containing_layout(lines, i):
   ''' 
   Finds out what kind of layout line i is within. Returns a 
   list containing (i) what follows \begin_layout on the the line 
-  on which the layout begins, plus the starting and ending line.
+  on which the layout begins, plus the starting and ending line
+  and the start of the apargraph (after all params).
   Returns False on any kind of error.
   '''
   j = i
@@ -458,4 +460,13 @@ def get_containing_layout(lines, i):
   if lay == "":
       # shouldn't happen
       return False
-  return (lay, stlay, endlay)
+  par_params = ["\\noindent", "\\indent", "\\indent-toggle", "\\leftindent",
+                "\\start_of_appendix", "\\paragraph_spacing single",
+                "\\paragraph_spacing onehalf", "\\paragraph_spacing double",
+                "\\paragraph_spacing other", "\\align", "\\labelwidthstring"]
+  stpar = stlay
+  while True:
+      stpar += 1
+      if lines[stpar] not in par_params:
+          break
+  return (lay, stlay, endlay, stpar)