+ // No parameter may be named "preview", because that is a required
+ // flag for all commands.
+
+ // InsetBibitem
+ if (name == "bibitem") {
+ static const char * const paramnames[] = {"label", "key", ""};
+ static const bool isoptional[] = {true, false};
+ static const CommandInfo info = {2, paramnames, isoptional};
+ return &info;
+ }
+
+ // InsetBibtex
+ if (name == "bibtex") {
+ static const char * const paramnames[] =
+ {"options", "btprint", "bibfiles", ""};
+ static const bool isoptional[] = {true, true, false};
+ static const CommandInfo info = {3, paramnames, isoptional};
+ return &info;
+ }
+
+ // InsetCitation
+ // FIXME: Use is_possible_cite_command() in
+ // src/frontends/controllers/biblio.C, see comment in src/factory.C.
+ if (name == "cite" || name == "citet" || name == "citep" || name == "citealt" ||
+ name == "citealp" || name == "citeauthor" || name == "citeyear" ||
+ name == "citeyearpar" || name == "citet*" || name == "citep*" ||
+ name == "citealt*" || name == "citealp*" ||
+ name == "citeauthor*" || name == "Citet" || name == "Citep" ||
+ name == "Citealt" || name == "Citealp" || name == "Citeauthor" ||
+ name == "Citet*" || name == "Citep*" || name == "Citealt*" ||
+ name == "Citealp*" || name == "Citeauthor*" ||
+ name == "citefield" || name == "citetitle" || name == "cite*") {
+ // standard cite does only take one argument if jurabib is
+ // not used, but jurabib extends this to two arguments, so
+ // we have to allow both here. InsetCitation takes care that
+ // LaTeX output is nevertheless correct.
+ static const char * const paramnames[] =
+ {"after", "before", "key", ""};
+ static const bool isoptional[] = {true, true, false};
+ static const CommandInfo info = {3, paramnames, isoptional};
+ return &info;