mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
tex2lyx: support for beamer text styles with overlays
E.g. things like \textbf<article>{foo} have to be imported as insets. Part of #11068
This commit is contained in:
parent
e51265b5f3
commit
c74e399981
@ -453,7 +453,7 @@ bool Parser::good()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Parser::hasOpt()
|
bool Parser::hasOpt(string const l)
|
||||||
{
|
{
|
||||||
// An optional argument can occur in any of the following forms:
|
// An optional argument can occur in any of the following forms:
|
||||||
// - \foo[bar]
|
// - \foo[bar]
|
||||||
@ -479,7 +479,7 @@ bool Parser::hasOpt()
|
|||||||
putback();
|
putback();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
bool const retval = (next_token().asInput() == "[");
|
bool const retval = (next_token().asInput() == l);
|
||||||
pos_ = oldpos;
|
pos_ = oldpos;
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -214,7 +214,7 @@ public:
|
|||||||
void dump() const;
|
void dump() const;
|
||||||
|
|
||||||
/// Does an optional argument follow after the current token?
|
/// Does an optional argument follow after the current token?
|
||||||
bool hasOpt();
|
bool hasOpt(std::string const l = "[");
|
||||||
///
|
///
|
||||||
typedef std::pair<bool, std::string> Arg;
|
typedef std::pair<bool, std::string> Arg;
|
||||||
/*!
|
/*!
|
||||||
|
@ -3646,14 +3646,16 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((where = is_known(t.cs(), known_text_font_series))) {
|
// beamer has a \textbf<overlay>{} inset
|
||||||
|
if (!p.hasOpt("<") && (where = is_known(t.cs(), known_text_font_series))) {
|
||||||
parse_text_attributes(p, os, FLAG_ITEM, outer,
|
parse_text_attributes(p, os, FLAG_ITEM, outer,
|
||||||
context, "\\series", context.font.series,
|
context, "\\series", context.font.series,
|
||||||
known_coded_font_series[where - known_text_font_series]);
|
known_coded_font_series[where - known_text_font_series]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((where = is_known(t.cs(), known_text_font_shapes))) {
|
// beamer has a \textit<overlay>{} inset
|
||||||
|
if (!p.hasOpt("<") && (where = is_known(t.cs(), known_text_font_shapes))) {
|
||||||
parse_text_attributes(p, os, FLAG_ITEM, outer,
|
parse_text_attributes(p, os, FLAG_ITEM, outer,
|
||||||
context, "\\shape", context.font.shape,
|
context, "\\shape", context.font.shape,
|
||||||
known_coded_font_shapes[where - known_text_font_shapes]);
|
known_coded_font_shapes[where - known_text_font_shapes]);
|
||||||
@ -3732,9 +3734,10 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t.cs() == "uuline" || t.cs() == "uwave"
|
// beamer has an \emph<overlay>{} inset
|
||||||
|
if ((t.cs() == "uuline" || t.cs() == "uwave"
|
||||||
|| t.cs() == "emph" || t.cs() == "noun"
|
|| t.cs() == "emph" || t.cs() == "noun"
|
||||||
|| t.cs() == "xout") {
|
|| t.cs() == "xout") && !p.hasOpt("<")) {
|
||||||
context.check_layout(os);
|
context.check_layout(os);
|
||||||
os << "\n\\" << t.cs() << " on\n";
|
os << "\n\\" << t.cs() << " on\n";
|
||||||
parse_text_snippet(p, os, FLAG_ITEM, outer, context);
|
parse_text_snippet(p, os, FLAG_ITEM, outer, context);
|
||||||
|
Loading…
Reference in New Issue
Block a user