From: Stefan Schimanski Date: Mon, 10 Mar 2008 12:57:45 +0000 (+0000) Subject: * comments X-Git-Tag: 1.6.10~5735 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=29dca708f7c9fc25f40f7db0b16ff629980072f4;p=features.git * comments git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23625 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp index ebf39a946c..733734e024 100644 --- a/src/tex2lyx/text.cpp +++ b/src/tex2lyx/text.cpp @@ -2407,13 +2407,20 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer, else if (t.cs() == "newcommandx" || t.cs() == "renewcommandx") { + // \newcommandx{\foo}[2][usedefault, addprefix=\global,1=default]{#1,#2} + + // get command name string command; if (p.next_token().cat() == catBegin) command = p.verbatim_item(); else command = "\\" + p.get_token().cs(); + // get arity, we do not check that it fits to the given + // optional parameters here. string const opt1 = p.getOpt(); + + // get options and default values for optional parameters std::vector optionalValues; int optionalsNum = 0; if (p.next_token().character() == '[') { @@ -2479,10 +2486,12 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer, p.get_token(); } + // concat the default values to the optionals string string optionals; for (unsigned i = 0; i < optionalValues.size(); ++i) optionals += "[" + optionalValues[i] + "]"; + // register and output command add_known_command(command, opt1, optionalsNum); string const ert = "\\newcommand{" + command + '}' + opt1 + optionals + '{' + p.verbatim_item() + '}';