The attached patch introduces support for the missing quotations.
It furthermore fixes a bug that the roundtrip of french quotations (guillemets) failed. Jürgen, OK also for branch? regards Uwe
Index: text.cpp =================================================================== --- text.cpp (revision 22021) +++ text.cpp (working copy) @@ -132,12 +132,16 @@ "citefield", "citetitle", "cite*", 0 }; /// LaTeX names for quotes -char const * const known_quotes[] = { "glqq", "grqq", "quotedblbase", -"textquotedblleft", "quotesinglbase", "guilsinglleft", "guilsinglright", 0}; +char const * const known_quotes[] = { "dq", "guillemotleft", "flqq", "og", +"guillemotright", "frqq", "fg", "glq", "glqq", "textquoteleft", "grq", "grqq", +"quotedblbase", "textquotedblleft", "quotesinglbase", "textquoteright", "flq", +"guilsinglleft", "frq", "guilsinglright", 0}; /// the same as known_quotes with .lyx names -char const * const known_coded_quotes[] = { "gld", "grd", "gld", -"grd", "gls", "fls", "frs", 0}; +char const * const known_coded_quotes[] = { "prd", "ard", "ard", "ard", +"ald", "ald", "ald", "gls", "gld", "els", "els", "grd", +"gld", "grd", "gls", "ers", "fls", +"fls", "frs", "frs", 0}; /// LaTeX names for font sizes char const * const known_sizes[] = { "tiny", "scriptsize", "footnotesize", @@ -1189,8 +1193,7 @@ // extended to other quotes, but is not so easy (a // left english quote is the same as a right german // quote...) - else if (t.asInput() == "`" - && p.next_token().asInput() == "`") { + else if (t.asInput() == "`" && p.next_token().asInput() == "`") { context.check_layout(os); begin_inset(os, "Quotes "); os << "eld"; @@ -1198,8 +1201,7 @@ p.get_token(); skip_braces(p); } - else if (t.asInput() == "'" - && p.next_token().asInput() == "'") { + else if (t.asInput() == "'" && p.next_token().asInput() == "'") { context.check_layout(os); begin_inset(os, "Quotes "); os << "erd"; @@ -1208,6 +1210,24 @@ skip_braces(p); } + else if (t.asInput() == ">" && p.next_token().asInput() == ">") { + context.check_layout(os); + begin_inset(os, "Quotes "); + os << "ald"; + end_inset(os); + p.get_token(); + skip_braces(p); + } + + else if (t.asInput() == "<" && p.next_token().asInput() == "<") { + context.check_layout(os); + begin_inset(os, "Quotes "); + os << "ard"; + end_inset(os); + p.get_token(); + skip_braces(p); + } + else if (t.asInput() == "<" && p.next_token().asInput() == "<" && noweb_mode) { p.get_token();