Why not use cite_engine = p.getEngine(); in the code below? + // FIXME the class should also provide + // the numerical/ authoryear choce + if (p.getLyXTextClass().provides(LyXTextClass::natbib) + && p.cite_engine != biblio::ENGINE_NATBIB_NUMERICAL) + cite_engine = biblio::ENGINE_NATBIB_AUTHORYEAR; + else + cite_engine = p.cite_engine;
Also, a "trick" could be to allow the value '2' for providenatbib, or add a new ProvideNumericalNatbib tag. JMarc