#include "support/lstrings.h"
#include "support/textutils.h"
-#include "boost/regex.hpp"
+#include "support/regex.h"
#include <set>
// unicodesymbols has things in the form: \"{u},
// whereas we may see things like: \"u. So we'll
// look for that and change it, if necessary.
- static boost::regex const reg("^\\\\\\W\\w");
- if (boost::regex_search(to_utf8(val), reg)) {
+ static lyx::regex const reg("^\\\\\\W\\w");
+ if (lyx::regex_search(to_utf8(val), reg)) {
val.insert(3, from_ascii("}"));
val.insert(2, from_ascii("{"));
}
}
else if (scanning_key)
key += char(thischar);
- else if (richtext || !scanning_rich)
+ else if (richtext) {
+ if (scanning_rich)
+ ret += thischar;
+ else {
+ // we need to escape '<' and '>'
+ if (thischar == '<')
+ ret += "<";
+ else if (thischar == '>')
+ ret += ">";
+ else
+ ret += thischar;
+ }
+ } else if (!scanning_rich /* && !richtext */)
ret += thischar;
// else the character is discarded, which will happen only if
// richtext == false and we are scanning rich text
void BiblioInfo::mergeBiblioInfo(BiblioInfo const & info)
{
bimap_.insert(info.begin(), info.end());
+ field_names_.insert(info.field_names_.begin(), info.field_names_.end());
+ entry_types_.insert(info.entry_types_.begin(), info.entry_types_.end());
}
vector<CiteStyle> citeStyles(CiteEngine engine)
{
- unsigned int nStyles = 0;
- unsigned int start = 0;
+ vector<CiteStyle> styles(0);
switch (engine) {
case ENGINE_BASIC:
- nStyles = 2;
- start = 0;
+ styles.push_back(CITE);
break;
+ case ENGINE_JURABIB:
+ styles.push_back(CITE);
case ENGINE_NATBIB_AUTHORYEAR:
- case ENGINE_NATBIB_NUMERICAL:
- nStyles = nCiteStyles - 1;
- start = 1;
+ styles.push_back(CITET);
+ styles.push_back(CITEP);
+ styles.push_back(CITEALT);
+ styles.push_back(CITEALP);
+ styles.push_back(CITEAUTHOR);
+ styles.push_back(CITEYEAR);
+ styles.push_back(CITEYEARPAR);
break;
- case ENGINE_JURABIB:
- nStyles = nCiteStyles;
- start = 0;
+ case ENGINE_NATBIB_NUMERICAL:
+ styles.push_back(CITET);
+ styles.push_back(CITEALT);
+ styles.push_back(CITEAUTHOR);
+ styles.push_back(CITEP);
+ styles.push_back(CITEALP);
+ styles.push_back(CITEYEAR);
+ styles.push_back(CITEYEARPAR);
break;
}
- vector<CiteStyle> styles(nStyles);
- size_t i = 0;
- int j = start;
- for (; i != styles.size(); ++i, ++j)
- styles[i] = citeStylesArray[j];
+ styles.push_back(NOCITE);
return styles;
}