tex2lyx: import straight quotation marks as ERT

This assures that they are output as straight quotations marks (e.g.,
babel shorthands).

Fixes: #75 [sic!]
This commit is contained in:
Juergen Spitzmueller 2018-03-04 12:08:08 +01:00
parent 5531b40c9b
commit ccb9ae9670

View File

@ -2632,6 +2632,32 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
else if (t.cat() == catSpace || (t.cat() == catNewline && ! p.isParagraph()))
check_space(p, os, context);
// babel shorthands (also used by polyglossia)
// Since these can have different meanings for different languages
// we import them as ERT (but they must be put in ERT to get output
// verbatim).
else if (t.asInput() == "\"") {
string s = "\"";
// These are known pairs. We put them together in
// one ERT inset. In other cases (such as "a), only
// the quotation mark is ERTed.
if (p.next_token().asInput() == "\""
|| p.next_token().asInput() == "|"
|| p.next_token().asInput() == "-"
|| p.next_token().asInput() == "~"
|| p.next_token().asInput() == "="
|| p.next_token().asInput() == "/"
|| p.next_token().asInput() == "~"
|| p.next_token().asInput() == "'"
|| p.next_token().asInput() == "`"
|| p.next_token().asInput() == "<"
|| p.next_token().asInput() == ">") {
s += p.next_token().asInput();
p.get_token();
}
output_ert_inset(os, s, context);
}
else if (t.character() == '[' && noweb_mode &&
p.next_token().character() == '[') {
// These can contain underscores