commit bfc749eb237ad1db8aa899279ecf32bb4847f07a
Author: Uwe Stöhr <[email protected]>
Date: Tue Nov 24 23:56:26 2015 +0100
stdlayouts.inc: support for verbatim*
fileformat change
diff --git a/development/FORMAT b/development/FORMAT
index d41b8b5..c4d9b4d 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -11,6 +11,11 @@ adjustments are made to tex2lyx and bugs are fixed in
lyx2lyx.
-----------------------
+2015-11-24 Uwe Stöhr <[email protected]>
+ * Format incremented to 503
+ No new parameters.
+ Add environment "verbatim*" to stdlayouts.inc.
+
2015-11-18 Uwe Stöhr <[email protected]>
* Format incremented to 502
No new parameters.
diff --git a/lib/layouts/stdlayouts.inc b/lib/layouts/stdlayouts.inc
index f8367eb..4612cbd 100644
--- a/lib/layouts/stdlayouts.inc
+++ b/lib/layouts/stdlayouts.inc
@@ -95,3 +95,8 @@ Style Verbatim
HTMLItem p
End
+
+Style Verbatim*
+ CopyStyle Verbatim
+ LatexName verbatim*
+End
diff --git a/lib/lyx2lyx/LyX.py b/lib/lyx2lyx/LyX.py
index 6916184..d9ad0d6 100644
--- a/lib/lyx2lyx/LyX.py
+++ b/lib/lyx2lyx/LyX.py
@@ -85,7 +85,7 @@ format_relation = [("0_06", [200], minor_versions("0.6" ,
4)),
("1_6", list(range(277,346)), minor_versions("1.6" , 10)),
("2_0", list(range(346,414)), minor_versions("2.0" , 8)),
("2_1", list(range(414,475)), minor_versions("2.1" , 0)),
- ("2_2", list(range(475,503)), minor_versions("2.2" , 0))
+ ("2_2", list(range(475,504)), minor_versions("2.2" , 0))
]
####################################################################
diff --git a/lib/lyx2lyx/lyx_2_1.py b/lib/lyx2lyx/lyx_2_1.py
index 074433f..d986493 100644
--- a/lib/lyx2lyx/lyx_2_1.py
+++ b/lib/lyx2lyx/lyx_2_1.py
@@ -814,8 +814,8 @@ def revert_cancel(document):
revert_use_package(document, "cancel", cancel_commands, False)
-def revert_verbatim(document):
- " Revert verbatim einvironments completely to TeX-code. "
+def revert_verbatim(document, starred):
+ " Revert verbatim environments completely to TeX-code. "
i = 0
consecutive = False
subst_end = ['\end_layout', '', '\\begin_layout Plain Layout',
@@ -830,14 +830,32 @@ def revert_verbatim(document):
'\\begin_layout Plain Layout', '', '', '\\backslash',
'begin{verbatim}',
'\\end_layout', '', '\\begin_layout Plain Layout', '']
+ if starred:
+ subst_end = ['\end_layout', '', '\\begin_layout Plain Layout',
+ '\end_layout', '',
+ '\\begin_layout Plain Layout', '', '',
+ '\\backslash', '',
+ 'end{verbatim*}',
+ '\\end_layout', '', '\\end_inset',
+ '', '', '\\end_layout']
+ subst_begin = ['\\begin_layout Standard', '\\noindent',
+ '\\begin_inset ERT', 'status open', '',
+ '\\begin_layout Plain Layout', '', '', '\\backslash',
+ 'begin{verbatim*}',
+ '\\end_layout', '', '\\begin_layout Plain Layout', '']
+
+ layout_name = "Verbatim"
+ if starred:
+ layout_name = "Verbatim*"
while 1:
- i = find_token(document.body, "\\begin_layout Verbatim", i)
+ i = find_token(document.body, "\\begin_layout %s" % (layout_name), i)
if i == -1:
return
j = find_end_of_layout(document.body, i)
if j == -1:
- document.warning("Malformed LyX document: Can't find end of
Verbatim layout")
+ document.warning("Malformed LyX document: Can't find end of %s
layout" \
+ % (layout_name))
i += 1
continue
# delete all line breaks insets (there are no other insets)
diff --git a/lib/lyx2lyx/lyx_2_2.py b/lib/lyx2lyx/lyx_2_2.py
index e4d5387..b9ea260 100644
--- a/lib/lyx2lyx/lyx_2_2.py
+++ b/lib/lyx2lyx/lyx_2_2.py
@@ -31,7 +31,7 @@ import sys, os
# del_token, check_token, get_option_value
from lyx2lyx_tools import add_to_preamble, put_cmd_in_ert, lyx2latex, \
- length_in_bp#, \
+ length_in_bp
# insert_to_preamble, latex_length, revert_flex_inset, \
# revert_font_attrs, hex2ratio, str2bool
@@ -2156,6 +2156,11 @@ def revert_solution(document):
i = j
+def revert_verbatim_star(document):
+ from lyx_2_1 import revert_verbatim
+ revert_verbatim(document, True)
+
+
##
# Conversion hub
#
@@ -2192,10 +2197,12 @@ convert = [
[499, [convert_moderncv]],
[500, []],
[501, [convert_fontsettings]],
- [502, []]
+ [502, []],
+ [503, []]
]
revert = [
+ [502, [revert_verbatim_star]],
[501, [revert_solution]],
[500, [revert_fontsettings]],
[499, [revert_achemso]],
diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx
index 49c8dd5..46b602a 100644
--- a/src/tex2lyx/test/CJK.lyx.lyx
+++ b/src/tex2lyx/test/CJK.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx
index 3da93b9..1db5855 100644
--- a/src/tex2lyx/test/CJKutf8.lyx.lyx
+++ b/src/tex2lyx/test/CJKutf8.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx
b/src/tex2lyx/test/DummyDocument.lyx.lyx
index 10c8258..effaf8b 100644
--- a/src/tex2lyx/test/DummyDocument.lyx.lyx
+++ b/src/tex2lyx/test/DummyDocument.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx
b/src/tex2lyx/test/Dummy~Document.lyx.lyx
index b590ee9..cf3acba 100644
--- a/src/tex2lyx/test/Dummy~Document.lyx.lyx
+++ b/src/tex2lyx/test/Dummy~Document.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
index f5fe7ea..6685a03 100644
--- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
+++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx
index 59fd2b0..9bbecd3 100644
--- a/src/tex2lyx/test/algo2e.lyx.lyx
+++ b/src/tex2lyx/test/algo2e.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
index 6492204..5f56411 100644
--- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
+++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx
b/src/tex2lyx/test/test-insets-basic.lyx.lyx
index 984660a..366f7fb 100644
--- a/src/tex2lyx/test/test-insets-basic.lyx.lyx
+++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-insets.lyx.lyx
b/src/tex2lyx/test/test-insets.lyx.lyx
index d8bac4e..5b125a3 100644
--- a/src/tex2lyx/test/test-insets.lyx.lyx
+++ b/src/tex2lyx/test/test-insets.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-memoir.lyx.lyx
b/src/tex2lyx/test/test-memoir.lyx.lyx
index d05a2e2..9be82a5 100644
--- a/src/tex2lyx/test/test-memoir.lyx.lyx
+++ b/src/tex2lyx/test/test-memoir.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-modules.lyx.lyx
b/src/tex2lyx/test/test-modules.lyx.lyx
index 1a2dca7..fb49a44 100644
--- a/src/tex2lyx/test/test-modules.lyx.lyx
+++ b/src/tex2lyx/test/test-modules.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
index 22e57d7..4a99ba8 100644
--- a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
+++ b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-scr.lyx.lyx
b/src/tex2lyx/test/test-scr.lyx.lyx
index a97578c..ac150e6 100644
--- a/src/tex2lyx/test/test-scr.lyx.lyx
+++ b/src/tex2lyx/test/test-scr.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test-structure.lyx.lyx
b/src/tex2lyx/test/test-structure.lyx.lyx
index 2f9c095..d167f37 100644
--- a/src/tex2lyx/test/test-structure.lyx.lyx
+++ b/src/tex2lyx/test/test-structure.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx
index 68b2dc6..935bced 100644
--- a/src/tex2lyx/test/test.lyx.lyx
+++ b/src/tex2lyx/test/test.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/test/verbatim.lyx.lyx
b/src/tex2lyx/test/verbatim.lyx.lyx
index 3d1f60c..4a43049 100644
--- a/src/tex2lyx/test/verbatim.lyx.lyx
+++ b/src/tex2lyx/test/verbatim.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.2
-\lyxformat 502
+\lyxformat 503
\begin_document
\begin_header
\origin roundtrip
diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index ab4c75f..ecf6bf2 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -1555,15 +1555,25 @@ void parse_environment(Parser & p, ostream & os, bool
outer,
preamble.registerAutomaticallyLoadedPackage("verbatim");
}
- else if (name == "verbatim") {
+ else if (unstarred_name == "verbatim" || name == "verbatim*") {
// FIXME: this should go in the generic code that
// handles environments defined in layout file that
// have "PassThru 1". However, the code over there is
// already too complicated for my taste.
+ string ascii_name;
+ string env_name;
+ if (unstarred_name == "verbatim") {
+ ascii_name = "Verbatim";
+ env_name = "verbatim";
+ }
+ if (name == "verbatim*") {
+ ascii_name = "Verbatim*";
+ env_name = name;
+ }
parent_context.new_paragraph(os);
Context context(true, parent_context.textclass,
-
&parent_context.textclass[from_ascii("Verbatim")]);
- string s = p.verbatimEnvironment("verbatim");
+
&parent_context.textclass[from_ascii(ascii_name)]);
+ string s = p.verbatimEnvironment(env_name);
output_ert(os, s, context);
p.skip_spaces();
}
diff --git a/src/version.h b/src/version.h
index 0871b0a..fff8c5a 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
// Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 502 // uwestoehr: new environment "solution" in theorems
-#define LYX_FORMAT_TEX2LYX 502
+#define LYX_FORMAT_LYX 503 // uwestoehr: support for verbatim* environment
+#define LYX_FORMAT_TEX2LYX 503
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER