+ escape_map.push_back(pair<string, string>("\\sim", "~"));
+ }
+ return escape_map;
+}
+
+/// A map of escapes turning a regexp matching text to one matching latex.
+Escapes const & get_regexp_latex_escapes() {
+ static Escapes escape_map;
+ if (escape_map.empty()) {
+ escape_map.push_back(pair<string, string>("\\\\", "(?:\\\\\\\\|\\\\backslash|\\\\textbackslash\\{\\})"));
+ escape_map.push_back(pair<string, string>("(<?!\\\\\\\\textbackslash)\\{", "\\\\\\{"));
+ escape_map.push_back(pair<string, string>("(<?!\\\\\\\\textbackslash\\\\\\{)\\}", "\\\\\\}"));
+ escape_map.push_back(pair<string, string>("\\[", "\\{\\[\\}"));
+ escape_map.push_back(pair<string, string>("\\]", "\\{\\]\\}"));
+ escape_map.push_back(pair<string, string>("\\^", "(?:\\^|\\\\textasciicircum\\{\\}|\\\\mathcircumflex)"));
+ escape_map.push_back(pair<string, string>("%", "\\\\\\%"));