output_ert_inset(os, "\\", parent_context);
else if (*it == '$')
output_ert_inset(os, "$", parent_context);
+ else if (*it == '\n' && it + 1 != et && s.begin() + 1 != it)
+ os << "\n ";
else
os << *it;
}
begin_inset(os, "Flex ");
os << to_utf8(newinsetlayout->name()) << '\n'
<< "status collapsed\n";
- parse_text_in_inset(p, os, FLAG_END, false, parent_context, newinsetlayout);
+ if (newinsetlayout->isPassThru()) {
+ string const arg = p.verbatimEnvironment(name);
+ Context context(true, parent_context.textclass,
+ &parent_context.textclass.plainLayout(),
+ parent_context.layout);
+ output_ert(os, arg, parent_context);
+ } else
+ parse_text_in_inset(p, os, FLAG_END, false, parent_context, newinsetlayout);
end_inset(os);
}
}
// the TIPA Combining diacritical marks
- else if (is_known(t.cs(), known_tipa_marks)) {
+ else if (is_known(t.cs(), known_tipa_marks) || t.cs() == "textvertline") {
+ preamble.registerAutomaticallyLoadedPackage("tipa");
+ preamble.registerAutomaticallyLoadedPackage("tipx");
context.check_layout(os);
+ if (t.cs() == "textvertline") {
+ os << "|";
+ skip_braces(p);
+ continue;
+ }
// try to see whether the string is in unicodesymbols
bool termination;
docstring rem;
<< ", result is " << to_utf8(s)
<< "+" << to_utf8(rem) << endl;
os << content << to_utf8(s);
- // tipa is already registered because of the surrounding IPA environment
- // or \textipa but it does not harm to register it again if necessary
- for (set<string>::const_iterator it = req.begin(); it != req.end(); ++it)
- preamble.registerAutomaticallyLoadedPackage(*it);
} else
// we did not find a non-ert version
output_ert_inset(os, command, context);
output_ert_inset(os, command, context);
}
- else if (t.cs() == "textvertline" ) {
- // this TIPA character does not occur in
- // unicodesymbols because it is in the ASCII range
- context.check_layout(os);
- os << "|";
- skip_braces(p);
- }
-
else if (t.cs() == "phantom" || t.cs() == "hphantom" ||
t.cs() == "vphantom") {
context.check_layout(os);
begin_inset(os, "Flex ");
os << to_utf8(newinsetlayout->name()) << '\n'
<< "status collapsed\n";
- parse_text_in_inset(p, os, FLAG_ITEM, false, context, newinsetlayout);
+ if (newinsetlayout->isPassThru()) {
+ // set catcodes to verbatim early, just in case.
+ p.setCatcodes(VERBATIM_CATCODES);
+ string delim = p.get_token().asInput();
+ if (delim != "{")
+ cerr << "Warning: bad delimiter for command " << t.asInput() << endl;
+ string const arg = p.verbatimStuff("}");
+ Context newcontext(true, context.textclass);
+ if (newinsetlayout->forcePlainLayout())
+ newcontext.layout = &context.textclass.plainLayout();
+ output_ert(os, arg, newcontext);
+ } else
+
+ parse_text_in_inset(p, os, FLAG_ITEM, false, context, newinsetlayout);
end_inset(os);
}