Skip to content

Instantly share code, notes, and snippets.

@lmullen
Created November 3, 2012 16:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lmullen/4007844 to your computer and use it in GitHub Desktop.
Save lmullen/4007844 to your computer and use it in GitHub Desktop.
customized BibTeX exporter for Zotero
{
"translatorID": "9cb70025-a888-4a29-a210-93ec52da40d4",
"translatorType": 3,
"label": "BibTeX",
"creator": "Simon Kornblith and Richard Karnesky",
"target": "bib",
"minVersion": "2.1.9",
"maxVersion": null,
"priority": 200,
"inRepository": true,
"browserSupport": "gcsv",
"displayOptions": {
"exportCharset": "UTF-8",
"exportNotes": true,
"exportFileData": false
},
"lastUpdated": "2012-11-02 10:00:00"
}
function detectImport() {
var maxChars = 1048576; // 1MB
var inComment = false;
var block = "";
var buffer = "";
var chr = "";
var charsRead = 0;
var re = /^\s*@[a-zA-Z]+[\(\{]/;
while((buffer = Zotero.read(4096)) && charsRead < maxChars) {
Zotero.debug("Scanning " + buffer.length + " characters for BibTeX");
charsRead += buffer.length;
for (var i=0; i<buffer.length; i++) {
chr = buffer[i];
if (inComment && chr != "\r" && chr != "\n") {
continue;
}
inComment = false;
if(chr == "%") {
// read until next newline
block = "";
inComment = true;
} else if((chr == "\n" || chr == "\r"
// allow one-line entries
|| i == (buffer.length - 1))
&& block) {
// check if this is a BibTeX entry
if(re.test(block)) {
return true;
}
block = "";
} else if(" \n\r\t".indexOf(chr) == -1) {
block += chr;
}
}
}
}
//%a = first author surname
//%y = year
//%t = first word of title
var citeKeyFormat = "%a%y%t";
var fieldMap = {
address:"place",
chapter:"section",
edition:"edition",
type:"type",
series:"series",
title:"title",
volume:"volume",
shorttitle:"shortTitle",
url:"url",
doi:"DOI",
};
var inputFieldMap = {
booktitle :"publicationTitle",
school:"publisher",
institution:"publisher",
publisher:"publisher",
issue:"issue"
};
var zotero2bibtexTypeMap = {
"book":"book",
"bookSection":"incollection",
"journalArticle":"article",
"magazineArticle":"article",
"newspaperArticle":"article",
"thesis":"phdthesis",
"letter":"misc",
"manuscript":"unpublished",
"patent" :"patent",
"interview":"misc",
"film":"misc",
"artwork":"misc",
"webpage":"misc",
"conferencePaper":"inproceedings",
"report":"techreport"
};
var bibtex2zoteroTypeMap = {
"book":"book", // or booklet, proceedings
"inbook":"bookSection",
"incollection":"bookSection",
"article":"journalArticle", // or magazineArticle or newspaperArticle
"patent" :"patent",
"phdthesis":"thesis",
"unpublished":"manuscript",
"inproceedings":"conferencePaper", // check for conference also
"conference":"conferencePaper",
"techreport":"report",
"booklet":"book",
"manual":"book",
"mastersthesis":"thesis",
"misc":"book",
"proceedings":"book"
};
/*
* three-letter month abbreviations. i assume these are the same ones that the
* docs say are defined in some appendix of the LaTeX book. (i don't have the
* LaTeX book.)
*/
var months = ["jan", "feb", "mar", "apr", "may", "jun",
"jul", "aug", "sep", "oct", "nov", "dec"];
/*
* new mapping table based on that from Matthias Steffens,
* then enhanced with some fields generated from the unicode table.
*/
var mappingTable = {
" ":"~", // NO-BREAK SPACE
"¡":"{\\textexclamdown}", // INVERTED EXCLAMATION MARK
"¢":"{\\textcent}", // CENT SIGN
"£":"{\\textsterling}", // POUND SIGN
"¥":"{\\textyen}", // YEN SIGN
"¦":"{\\textbrokenbar}", // BROKEN BAR
"§":"{\\textsection}", // SECTION SIGN
"¨":"{\\textasciidieresis}", // DIAERESIS
"©":"{\\textcopyright}", // COPYRIGHT SIGN
"ª":"{\\textordfeminine}", // FEMININE ORDINAL INDICATOR
"«":"{\\guillemotleft}", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
"¬":"{\\textlnot}", // NOT SIGN
"­":"-", // SOFT HYPHEN
"®":"{\\textregistered}", // REGISTERED SIGN
"¯":"{\\textasciimacron}", // MACRON
"°":"{\\textdegree}", // DEGREE SIGN
"±":"{\\textpm}", // PLUS-MINUS SIGN
"²":"{\\texttwosuperior}", // SUPERSCRIPT TWO
"³":"{\\textthreesuperior}", // SUPERSCRIPT THREE
"´":"{\\textasciiacute}", // ACUTE ACCENT
"µ":"{\\textmu}", // MICRO SIGN
"¶":"{\\textparagraph}", // PILCROW SIGN
"·":"{\\textperiodcentered}", // MIDDLE DOT
"¸":"{\\c\\ }", // CEDILLA
"¹":"{\\textonesuperior}", // SUPERSCRIPT ONE
"º":"{\\textordmasculine}", // MASCULINE ORDINAL INDICATOR
"»":"{\\guillemotright}", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
"¼":"{\\textonequarter}", // VULGAR FRACTION ONE QUARTER
"½":"{\\textonehalf}", // VULGAR FRACTION ONE HALF
"¾":"{\\textthreequarters}", // VULGAR FRACTION THREE QUARTERS
"¿":"{\\textquestiondown}", // INVERTED QUESTION MARK
"Æ":"{\\AE}", // LATIN CAPITAL LETTER AE
"Ð":"{\\DH}", // LATIN CAPITAL LETTER ETH
"×":"{\\texttimes}", // MULTIPLICATION SIGN
"Ø":"{\\O}", // LATIN CAPITAL LETTER O WITH STROKE
"Þ":"{\\TH}", // LATIN CAPITAL LETTER THORN
"ß":"{\\ss}", // LATIN SMALL LETTER SHARP S
"æ":"{\\ae}", // LATIN SMALL LETTER AE
"ð":"{\\dh}", // LATIN SMALL LETTER ETH
"÷":"{\\textdiv}", // DIVISION SIGN
"ø":"{\\o}", // LATIN SMALL LETTER O WITH STROKE
"þ":"{\\th}", // LATIN SMALL LETTER THORN
"ı":"{\\i}", // LATIN SMALL LETTER DOTLESS I
"IJ":"IJ", // LATIN CAPITAL LIGATURE IJ
"ij":"ij", // LATIN SMALL LIGATURE IJ
"ĸ":"k", // LATIN SMALL LETTER KRA
"ʼn":"'n", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
"Ŋ":"{\\NG}", // LATIN CAPITAL LETTER ENG
"ŋ":"{\\ng}", // LATIN SMALL LETTER ENG
"Œ":"{\\OE}", // LATIN CAPITAL LIGATURE OE
"œ":"{\\oe}", // LATIN SMALL LIGATURE OE
"ſ":"s", // LATIN SMALL LETTER LONG S
"ʹ":"'", // MODIFIER LETTER PRIME
"ʻ":"'", // MODIFIER LETTER TURNED COMMA
"ʼ":"'", // MODIFIER LETTER APOSTROPHE
"ʽ":"'", // MODIFIER LETTER REVERSED COMMA
"ˆ":"{\\textasciicircum}", // MODIFIER LETTER CIRCUMFLEX ACCENT
"ˈ":"'", // MODIFIER LETTER VERTICAL LINE
"ˉ":"-", // MODIFIER LETTER MACRON
"ˌ":",", // MODIFIER LETTER LOW VERTICAL LINE
"ː":":", // MODIFIER LETTER TRIANGULAR COLON
"˚":"o", // RING ABOVE
"˜":"\\~{}", // SMALL TILDE
"˝":"{\\textacutedbl}", // DOUBLE ACUTE ACCENT
"ʹ":"'", // GREEK NUMERAL SIGN
"͵":",", // GREEK LOWER NUMERAL SIGN
";":";", // GREEK QUESTION MARK
" ":" ", // EN QUAD
" ":" ", // EM QUAD
" ":" ", // EN SPACE
" ":" ", // EM SPACE
" ":" ", // THREE-PER-EM SPACE
" ":" ", // FOUR-PER-EM SPACE
" ":" ", // SIX-PER-EM SPACE
" ":" ", // FIGURE SPACE
" ":" ", // PUNCTUATION SPACE
" ":" ", // THIN SPACE
"‐":"-", // HYPHEN
"‑":"-", // NON-BREAKING HYPHEN
"‒":"-", // FIGURE DASH
"–":"{\\textendash}", // EN DASH
"—":"{\\textemdash}", // EM DASH
"―":"{\\textemdash}", // HORIZONTAL BAR or QUOTATION DASH (not in LaTeX -- use EM DASH)
"‖":"{\\textbardbl}", // DOUBLE VERTICAL LINE
"‗":"{\\textunderscore}", // DOUBLE LOW LINE
"‘":"{\\textquoteleft}", // LEFT SINGLE QUOTATION MARK
"’":"{\\textquoteright}", // RIGHT SINGLE QUOTATION MARK
"`" : "‘", // LEFT SINGLE QUOTATION MARK
"'" : "’", // RIGHT SINGLE QUOTATION MARK
"‚":"{\\quotesinglbase}", // SINGLE LOW-9 QUOTATION MARK
"‛":"'", // SINGLE HIGH-REVERSED-9 QUOTATION MARK
"“":"{\\textquotedblleft}", // LEFT DOUBLE QUOTATION MARK
"”":"{\\textquotedblright}", // RIGHT DOUBLE QUOTATION MARK
"„":"{\\quotedblbase}", // DOUBLE LOW-9 QUOTATION MARK
"‟":"{\\quotedblbase}", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
"†":"{\\textdagger}", // DAGGER
"‡":"{\\textdaggerdbl}", // DOUBLE DAGGER
"•":"{\\textbullet}", // BULLET
"‣":">", // TRIANGULAR BULLET
"․":".", // ONE DOT LEADER
"‥":"..", // TWO DOT LEADER
"…":"{\\textellipsis}", // HORIZONTAL ELLIPSIS
"‧":"-", // HYPHENATION POINT
" ":" ", // NARROW NO-BREAK SPACE
"‰":"{\\textperthousand}", // PER MILLE SIGN
"′":"'", // PRIME
"″":"'", // DOUBLE PRIME
"‴":"'''", // TRIPLE PRIME
"‵":"`", // REVERSED PRIME
"‶":"``", // REVERSED DOUBLE PRIME
"‷":"```", // REVERSED TRIPLE PRIME
"‹":"{\\guilsinglleft}", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
"›":"{\\guilsinglright}", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
"‼":"!!", // DOUBLE EXCLAMATION MARK
"‾":"-", // OVERLINE
"⁃":"-", // HYPHEN BULLET
"⁄":"{\\textfractionsolidus}", // FRACTION SLASH
"⁈":"?!", // QUESTION EXCLAMATION MARK
"⁉":"!?", // EXCLAMATION QUESTION MARK
"⁊":"7", // TIRONIAN SIGN ET
"⁰":"$^{0}$", // SUPERSCRIPT ZERO
"⁴":"$^{4}$", // SUPERSCRIPT FOUR
"⁵":"$^{5}$", // SUPERSCRIPT FIVE
"⁶":"$^{6}$", // SUPERSCRIPT SIX
"⁷":"$^{7}$", // SUPERSCRIPT SEVEN
"⁸":"$^{8}$", // SUPERSCRIPT EIGHT
"⁹":"$^{9}$", // SUPERSCRIPT NINE
"⁺":"$^{+}$", // SUPERSCRIPT PLUS SIGN
"⁻":"$^{-}$", // SUPERSCRIPT MINUS
"⁼":"$^{=}$", // SUPERSCRIPT EQUALS SIGN
"⁽":"$^{(}$", // SUPERSCRIPT LEFT PARENTHESIS
"⁾":"$^{)}$", // SUPERSCRIPT RIGHT PARENTHESIS
"ⁿ":"$^{n}$", // SUPERSCRIPT LATIN SMALL LETTER N
"₀":"$_{0}$", // SUBSCRIPT ZERO
"₁":"$_{1}$", // SUBSCRIPT ONE
"₂":"$_{2}$", // SUBSCRIPT TWO
"₃":"$_{3}$", // SUBSCRIPT THREE
"₄":"$_{4}$", // SUBSCRIPT FOUR
"₅":"$_{5}$", // SUBSCRIPT FIVE
"₆":"$_{6}$", // SUBSCRIPT SIX
"₇":"$_{7}$", // SUBSCRIPT SEVEN
"₈":"$_{8}$", // SUBSCRIPT EIGHT
"₉":"$_{9}$", // SUBSCRIPT NINE
"₊":"$_{+}$", // SUBSCRIPT PLUS SIGN
"₋":"$_{-}$", // SUBSCRIPT MINUS
"₌":"$_{=}$", // SUBSCRIPT EQUALS SIGN
"₍":"$_{(}$", // SUBSCRIPT LEFT PARENTHESIS
"₎":"$_{)}$", // SUBSCRIPT RIGHT PARENTHESIS
"€":"{\\texteuro}", // EURO SIGN
"℀":"a/c", // ACCOUNT OF
"℁":"a/s", // ADDRESSED TO THE SUBJECT
"℃":"{\\textcelsius}", // DEGREE CELSIUS
"℅":"c/o", // CARE OF
"℆":"c/u", // CADA UNA
"℉":"F", // DEGREE FAHRENHEIT
"ℓ":"l", // SCRIPT SMALL L
"№":"{\\textnumero}", // NUMERO SIGN
"℗":"{\\textcircledP}", // SOUND RECORDING COPYRIGHT
"℠":"{\\textservicemark}", // SERVICE MARK
"℡":"TEL", // TELEPHONE SIGN
"™":"{\\texttrademark}", // TRADE MARK SIGN
"Ω":"{\\textohm}", // OHM SIGN
"K":"K", // KELVIN SIGN
"Å":"A", // ANGSTROM SIGN
"℮":"{\\textestimated}", // ESTIMATED SYMBOL
"⅓":" 1/3", // VULGAR FRACTION ONE THIRD
"⅔":" 2/3", // VULGAR FRACTION TWO THIRDS
"⅕":" 1/5", // VULGAR FRACTION ONE FIFTH
"⅖":" 2/5", // VULGAR FRACTION TWO FIFTHS
"⅗":" 3/5", // VULGAR FRACTION THREE FIFTHS
"⅘":" 4/5", // VULGAR FRACTION FOUR FIFTHS
"⅙":" 1/6", // VULGAR FRACTION ONE SIXTH
"⅚":" 5/6", // VULGAR FRACTION FIVE SIXTHS
"⅛":" 1/8", // VULGAR FRACTION ONE EIGHTH
"⅜":" 3/8", // VULGAR FRACTION THREE EIGHTHS
"⅝":" 5/8", // VULGAR FRACTION FIVE EIGHTHS
"⅞":" 7/8", // VULGAR FRACTION SEVEN EIGHTHS
"⅟":" 1/", // FRACTION NUMERATOR ONE
"Ⅰ":"I", // ROMAN NUMERAL ONE
"Ⅱ":"II", // ROMAN NUMERAL TWO
"Ⅲ":"III", // ROMAN NUMERAL THREE
"Ⅳ":"IV", // ROMAN NUMERAL FOUR
"Ⅴ":"V", // ROMAN NUMERAL FIVE
"Ⅵ":"VI", // ROMAN NUMERAL SIX
"Ⅶ":"VII", // ROMAN NUMERAL SEVEN
"Ⅷ":"VIII", // ROMAN NUMERAL EIGHT
"Ⅸ":"IX", // ROMAN NUMERAL NINE
"Ⅹ":"X", // ROMAN NUMERAL TEN
"Ⅺ":"XI", // ROMAN NUMERAL ELEVEN
"Ⅻ":"XII", // ROMAN NUMERAL TWELVE
"Ⅼ":"L", // ROMAN NUMERAL FIFTY
"Ⅽ":"C", // ROMAN NUMERAL ONE HUNDRED
"Ⅾ":"D", // ROMAN NUMERAL FIVE HUNDRED
"Ⅿ":"M", // ROMAN NUMERAL ONE THOUSAND
"ⅰ":"i", // SMALL ROMAN NUMERAL ONE
"ⅱ":"ii", // SMALL ROMAN NUMERAL TWO
"ⅲ":"iii", // SMALL ROMAN NUMERAL THREE
"ⅳ":"iv", // SMALL ROMAN NUMERAL FOUR
"ⅴ":"v", // SMALL ROMAN NUMERAL FIVE
"ⅵ":"vi", // SMALL ROMAN NUMERAL SIX
"ⅶ":"vii", // SMALL ROMAN NUMERAL SEVEN
"ⅷ":"viii", // SMALL ROMAN NUMERAL EIGHT
"ⅸ":"ix", // SMALL ROMAN NUMERAL NINE
"ⅹ":"x", // SMALL ROMAN NUMERAL TEN
"ⅺ":"xi", // SMALL ROMAN NUMERAL ELEVEN
"ⅻ":"xii", // SMALL ROMAN NUMERAL TWELVE
"ⅼ":"l", // SMALL ROMAN NUMERAL FIFTY
"ⅽ":"c", // SMALL ROMAN NUMERAL ONE HUNDRED
"ⅾ":"d", // SMALL ROMAN NUMERAL FIVE HUNDRED
"ⅿ":"m", // SMALL ROMAN NUMERAL ONE THOUSAND
"←":"{\\textleftarrow}", // LEFTWARDS ARROW
"↑":"{\\textuparrow}", // UPWARDS ARROW
"→":"{\\textrightarrow}", // RIGHTWARDS ARROW
"↓":"{\\textdownarrow}", // DOWNWARDS ARROW
"↔":"<->", // LEFT RIGHT ARROW
"⇐":"<=", // LEFTWARDS DOUBLE ARROW
"⇒":"=>", // RIGHTWARDS DOUBLE ARROW
"⇔":"<=>", // LEFT RIGHT DOUBLE ARROW
"−":"-", // MINUS SIGN
"∕":"/", // DIVISION SLASH
"∖":"\\", // SET MINUS
"∗":"*", // ASTERISK OPERATOR
"∘":"o", // RING OPERATOR
"∙":".", // BULLET OPERATOR
"∞":"$\\infty$", // INFINITY
"∣":"|", // DIVIDES
"∥":"||", // PARALLEL TO
"∶":":", // RATIO
"∼":"\\~{}", // TILDE OPERATOR
"≠":"/=", // NOT EQUAL TO
"≡":"=", // IDENTICAL TO
"≤":"<=", // LESS-THAN OR EQUAL TO
"≥":">=", // GREATER-THAN OR EQUAL TO
"≪":"<<", // MUCH LESS-THAN
"≫":">>", // MUCH GREATER-THAN
"⊕":"(+)", // CIRCLED PLUS
"⊖":"(-)", // CIRCLED MINUS
"⊗":"(x)", // CIRCLED TIMES
"⊘":"(/)", // CIRCLED DIVISION SLASH
"⊢":"|-", // RIGHT TACK
"⊣":"-|", // LEFT TACK
"⊦":"|-", // ASSERTION
"⊧":"|=", // MODELS
"⊨":"|=", // TRUE
"⊩":"||-", // FORCES
"⋅":".", // DOT OPERATOR
"⋆":"*", // STAR OPERATOR
"⋕":"$\\#$", // EQUAL AND PARALLEL TO
"⋘":"<<<", // VERY MUCH LESS-THAN
"⋙":">>>", // VERY MUCH GREATER-THAN
"〈":"{\\textlangle}", // LEFT-POINTING ANGLE BRACKET
"〉":"{\\textrangle}", // RIGHT-POINTING ANGLE BRACKET
"␀":"NUL", // SYMBOL FOR NULL
"␁":"SOH", // SYMBOL FOR START OF HEADING
"␂":"STX", // SYMBOL FOR START OF TEXT
"␃":"ETX", // SYMBOL FOR END OF TEXT
"␄":"EOT", // SYMBOL FOR END OF TRANSMISSION
"␅":"ENQ", // SYMBOL FOR ENQUIRY
"␆":"ACK", // SYMBOL FOR ACKNOWLEDGE
"␇":"BEL", // SYMBOL FOR BELL
"␈":"BS", // SYMBOL FOR BACKSPACE
"␉":"HT", // SYMBOL FOR HORIZONTAL TABULATION
"␊":"LF", // SYMBOL FOR LINE FEED
"␋":"VT", // SYMBOL FOR VERTICAL TABULATION
"␌":"FF", // SYMBOL FOR FORM FEED
"␍":"CR", // SYMBOL FOR CARRIAGE RETURN
"␎":"SO", // SYMBOL FOR SHIFT OUT
"␏":"SI", // SYMBOL FOR SHIFT IN
"␐":"DLE", // SYMBOL FOR DATA LINK ESCAPE
"␑":"DC1", // SYMBOL FOR DEVICE CONTROL ONE
"␒":"DC2", // SYMBOL FOR DEVICE CONTROL TWO
"␓":"DC3", // SYMBOL FOR DEVICE CONTROL THREE
"␔":"DC4", // SYMBOL FOR DEVICE CONTROL FOUR
"␕":"NAK", // SYMBOL FOR NEGATIVE ACKNOWLEDGE
"␖":"SYN", // SYMBOL FOR SYNCHRONOUS IDLE
"␗":"ETB", // SYMBOL FOR END OF TRANSMISSION BLOCK
"␘":"CAN", // SYMBOL FOR CANCEL
"␙":"EM", // SYMBOL FOR END OF MEDIUM
"␚":"SUB", // SYMBOL FOR SUBSTITUTE
"␛":"ESC", // SYMBOL FOR ESCAPE
"␜":"FS", // SYMBOL FOR FILE SEPARATOR
"␝":"GS", // SYMBOL FOR GROUP SEPARATOR
"␞":"RS", // SYMBOL FOR RECORD SEPARATOR
"␟":"US", // SYMBOL FOR UNIT SEPARATOR
"␠":"SP", // SYMBOL FOR SPACE
"␡":"DEL", // SYMBOL FOR DELETE
"␣":"{\\textvisiblespace}", // OPEN BOX
"␤":"NL", // SYMBOL FOR NEWLINE
"␥":"///", // SYMBOL FOR DELETE FORM TWO
"␦":"?", // SYMBOL FOR SUBSTITUTE FORM TWO
"①":"(1)", // CIRCLED DIGIT ONE
"②":"(2)", // CIRCLED DIGIT TWO
"③":"(3)", // CIRCLED DIGIT THREE
"④":"(4)", // CIRCLED DIGIT FOUR
"⑤":"(5)", // CIRCLED DIGIT FIVE
"⑥":"(6)", // CIRCLED DIGIT SIX
"⑦":"(7)", // CIRCLED DIGIT SEVEN
"⑧":"(8)", // CIRCLED DIGIT EIGHT
"⑨":"(9)", // CIRCLED DIGIT NINE
"⑩":"(10)", // CIRCLED NUMBER TEN
"⑪":"(11)", // CIRCLED NUMBER ELEVEN
"⑫":"(12)", // CIRCLED NUMBER TWELVE
"⑬":"(13)", // CIRCLED NUMBER THIRTEEN
"⑭":"(14)", // CIRCLED NUMBER FOURTEEN
"⑮":"(15)", // CIRCLED NUMBER FIFTEEN
"⑯":"(16)", // CIRCLED NUMBER SIXTEEN
"⑰":"(17)", // CIRCLED NUMBER SEVENTEEN
"⑱":"(18)", // CIRCLED NUMBER EIGHTEEN
"⑲":"(19)", // CIRCLED NUMBER NINETEEN
"⑳":"(20)", // CIRCLED NUMBER TWENTY
"⑴":"(1)", // PARENTHESIZED DIGIT ONE
"⑵":"(2)", // PARENTHESIZED DIGIT TWO
"⑶":"(3)", // PARENTHESIZED DIGIT THREE
"⑷":"(4)", // PARENTHESIZED DIGIT FOUR
"⑸":"(5)", // PARENTHESIZED DIGIT FIVE
"⑹":"(6)", // PARENTHESIZED DIGIT SIX
"⑺":"(7)", // PARENTHESIZED DIGIT SEVEN
"⑻":"(8)", // PARENTHESIZED DIGIT EIGHT
"⑼":"(9)", // PARENTHESIZED DIGIT NINE
"⑽":"(10)", // PARENTHESIZED NUMBER TEN
"⑾":"(11)", // PARENTHESIZED NUMBER ELEVEN
"⑿":"(12)", // PARENTHESIZED NUMBER TWELVE
"⒀":"(13)", // PARENTHESIZED NUMBER THIRTEEN
"⒁":"(14)", // PARENTHESIZED NUMBER FOURTEEN
"⒂":"(15)", // PARENTHESIZED NUMBER FIFTEEN
"⒃":"(16)", // PARENTHESIZED NUMBER SIXTEEN
"⒄":"(17)", // PARENTHESIZED NUMBER SEVENTEEN
"⒅":"(18)", // PARENTHESIZED NUMBER EIGHTEEN
"⒆":"(19)", // PARENTHESIZED NUMBER NINETEEN
"⒇":"(20)", // PARENTHESIZED NUMBER TWENTY
"⒈":"1.", // DIGIT ONE FULL STOP
"⒉":"2.", // DIGIT TWO FULL STOP
"⒊":"3.", // DIGIT THREE FULL STOP
"⒋":"4.", // DIGIT FOUR FULL STOP
"⒌":"5.", // DIGIT FIVE FULL STOP
"⒍":"6.", // DIGIT SIX FULL STOP
"⒎":"7.", // DIGIT SEVEN FULL STOP
"⒏":"8.", // DIGIT EIGHT FULL STOP
"⒐":"9.", // DIGIT NINE FULL STOP
"⒑":"10.", // NUMBER TEN FULL STOP
"⒒":"11.", // NUMBER ELEVEN FULL STOP
"⒓":"12.", // NUMBER TWELVE FULL STOP
"⒔":"13.", // NUMBER THIRTEEN FULL STOP
"⒕":"14.", // NUMBER FOURTEEN FULL STOP
"⒖":"15.", // NUMBER FIFTEEN FULL STOP
"⒗":"16.", // NUMBER SIXTEEN FULL STOP
"⒘":"17.", // NUMBER SEVENTEEN FULL STOP
"⒙":"18.", // NUMBER EIGHTEEN FULL STOP
"⒚":"19.", // NUMBER NINETEEN FULL STOP
"⒛":"20.", // NUMBER TWENTY FULL STOP
"⒜":"(a)", // PARENTHESIZED LATIN SMALL LETTER A
"⒝":"(b)", // PARENTHESIZED LATIN SMALL LETTER B
"⒞":"(c)", // PARENTHESIZED LATIN SMALL LETTER C
"⒟":"(d)", // PARENTHESIZED LATIN SMALL LETTER D
"⒠":"(e)", // PARENTHESIZED LATIN SMALL LETTER E
"⒡":"(f)", // PARENTHESIZED LATIN SMALL LETTER F
"⒢":"(g)", // PARENTHESIZED LATIN SMALL LETTER G
"⒣":"(h)", // PARENTHESIZED LATIN SMALL LETTER H
"⒤":"(i)", // PARENTHESIZED LATIN SMALL LETTER I
"⒥":"(j)", // PARENTHESIZED LATIN SMALL LETTER J
"⒦":"(k)", // PARENTHESIZED LATIN SMALL LETTER K
"⒧":"(l)", // PARENTHESIZED LATIN SMALL LETTER L
"⒨":"(m)", // PARENTHESIZED LATIN SMALL LETTER M
"⒩":"(n)", // PARENTHESIZED LATIN SMALL LETTER N
"⒪":"(o)", // PARENTHESIZED LATIN SMALL LETTER O
"⒫":"(p)", // PARENTHESIZED LATIN SMALL LETTER P
"⒬":"(q)", // PARENTHESIZED LATIN SMALL LETTER Q
"⒭":"(r)", // PARENTHESIZED LATIN SMALL LETTER R
"⒮":"(s)", // PARENTHESIZED LATIN SMALL LETTER S
"⒯":"(t)", // PARENTHESIZED LATIN SMALL LETTER T
"⒰":"(u)", // PARENTHESIZED LATIN SMALL LETTER U
"⒱":"(v)", // PARENTHESIZED LATIN SMALL LETTER V
"⒲":"(w)", // PARENTHESIZED LATIN SMALL LETTER W
"⒳":"(x)", // PARENTHESIZED LATIN SMALL LETTER X
"⒴":"(y)", // PARENTHESIZED LATIN SMALL LETTER Y
"⒵":"(z)", // PARENTHESIZED LATIN SMALL LETTER Z
"Ⓐ":"(A)", // CIRCLED LATIN CAPITAL LETTER A
"Ⓑ":"(B)", // CIRCLED LATIN CAPITAL LETTER B
"Ⓒ":"(C)", // CIRCLED LATIN CAPITAL LETTER C
"Ⓓ":"(D)", // CIRCLED LATIN CAPITAL LETTER D
"Ⓔ":"(E)", // CIRCLED LATIN CAPITAL LETTER E
"Ⓕ":"(F)", // CIRCLED LATIN CAPITAL LETTER F
"Ⓖ":"(G)", // CIRCLED LATIN CAPITAL LETTER G
"Ⓗ":"(H)", // CIRCLED LATIN CAPITAL LETTER H
"Ⓘ":"(I)", // CIRCLED LATIN CAPITAL LETTER I
"Ⓙ":"(J)", // CIRCLED LATIN CAPITAL LETTER J
"Ⓚ":"(K)", // CIRCLED LATIN CAPITAL LETTER K
"Ⓛ":"(L)", // CIRCLED LATIN CAPITAL LETTER L
"Ⓜ":"(M)", // CIRCLED LATIN CAPITAL LETTER M
"Ⓝ":"(N)", // CIRCLED LATIN CAPITAL LETTER N
"Ⓞ":"(O)", // CIRCLED LATIN CAPITAL LETTER O
"Ⓟ":"(P)", // CIRCLED LATIN CAPITAL LETTER P
"Ⓠ":"(Q)", // CIRCLED LATIN CAPITAL LETTER Q
"Ⓡ":"(R)", // CIRCLED LATIN CAPITAL LETTER R
"Ⓢ":"(S)", // CIRCLED LATIN CAPITAL LETTER S
"Ⓣ":"(T)", // CIRCLED LATIN CAPITAL LETTER T
"Ⓤ":"(U)", // CIRCLED LATIN CAPITAL LETTER U
"Ⓥ":"(V)", // CIRCLED LATIN CAPITAL LETTER V
"Ⓦ":"(W)", // CIRCLED LATIN CAPITAL LETTER W
"Ⓧ":"(X)", // CIRCLED LATIN CAPITAL LETTER X
"Ⓨ":"(Y)", // CIRCLED LATIN CAPITAL LETTER Y
"Ⓩ":"(Z)", // CIRCLED LATIN CAPITAL LETTER Z
"ⓐ":"(a)", // CIRCLED LATIN SMALL LETTER A
"ⓑ":"(b)", // CIRCLED LATIN SMALL LETTER B
"ⓒ":"(c)", // CIRCLED LATIN SMALL LETTER C
"ⓓ":"(d)", // CIRCLED LATIN SMALL LETTER D
"ⓔ":"(e)", // CIRCLED LATIN SMALL LETTER E
"ⓕ":"(f)", // CIRCLED LATIN SMALL LETTER F
"ⓖ":"(g)", // CIRCLED LATIN SMALL LETTER G
"ⓗ":"(h)", // CIRCLED LATIN SMALL LETTER H
"ⓘ":"(i)", // CIRCLED LATIN SMALL LETTER I
"ⓙ":"(j)", // CIRCLED LATIN SMALL LETTER J
"ⓚ":"(k)", // CIRCLED LATIN SMALL LETTER K
"ⓛ":"(l)", // CIRCLED LATIN SMALL LETTER L
"ⓜ":"(m)", // CIRCLED LATIN SMALL LETTER M
"ⓝ":"(n)", // CIRCLED LATIN SMALL LETTER N
"ⓞ":"(o)", // CIRCLED LATIN SMALL LETTER O
"ⓟ":"(p)", // CIRCLED LATIN SMALL LETTER P
"ⓠ":"(q)", // CIRCLED LATIN SMALL LETTER Q
"ⓡ":"(r)", // CIRCLED LATIN SMALL LETTER R
"ⓢ":"(s)", // CIRCLED LATIN SMALL LETTER S
"ⓣ":"(t)", // CIRCLED LATIN SMALL LETTER T
"ⓤ":"(u)", // CIRCLED LATIN SMALL LETTER U
"ⓥ":"(v)", // CIRCLED LATIN SMALL LETTER V
"ⓦ":"(w)", // CIRCLED LATIN SMALL LETTER W
"ⓧ":"(x)", // CIRCLED LATIN SMALL LETTER X
"ⓨ":"(y)", // CIRCLED LATIN SMALL LETTER Y
"ⓩ":"(z)", // CIRCLED LATIN SMALL LETTER Z
"⓪":"(0)", // CIRCLED DIGIT ZERO
"─":"-", // BOX DRAWINGS LIGHT HORIZONTAL
"━":"=", // BOX DRAWINGS HEAVY HORIZONTAL
"│":"|", // BOX DRAWINGS LIGHT VERTICAL
"┃":"|", // BOX DRAWINGS HEAVY VERTICAL
"┄":"-", // BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
"┅":"=", // BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
"┆":"|", // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
"┇":"|", // BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
"┈":"-", // BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
"┉":"=", // BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
"┊":"|", // BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
"┋":"|", // BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
"┌":"+", // BOX DRAWINGS LIGHT DOWN AND RIGHT
"┍":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
"┎":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
"┏":"+", // BOX DRAWINGS HEAVY DOWN AND RIGHT
"┐":"+", // BOX DRAWINGS LIGHT DOWN AND LEFT
"┑":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
"┒":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
"┓":"+", // BOX DRAWINGS HEAVY DOWN AND LEFT
"└":"+", // BOX DRAWINGS LIGHT UP AND RIGHT
"┕":"+", // BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
"┖":"+", // BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
"┗":"+", // BOX DRAWINGS HEAVY UP AND RIGHT
"┘":"+", // BOX DRAWINGS LIGHT UP AND LEFT
"┙":"+", // BOX DRAWINGS UP LIGHT AND LEFT HEAVY
"┚":"+", // BOX DRAWINGS UP HEAVY AND LEFT LIGHT
"┛":"+", // BOX DRAWINGS HEAVY UP AND LEFT
"├":"+", // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
"┝":"+", // BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
"┞":"+", // BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
"┟":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
"┠":"+", // BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
"┡":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
"┢":"+", // BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
"┣":"+", // BOX DRAWINGS HEAVY VERTICAL AND RIGHT
"┤":"+", // BOX DRAWINGS LIGHT VERTICAL AND LEFT
"┥":"+", // BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
"┦":"+", // BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
"┧":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
"┨":"+", // BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
"┩":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
"┪":"+", // BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
"┫":"+", // BOX DRAWINGS HEAVY VERTICAL AND LEFT
"┬":"+", // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
"┭":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
"┮":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
"┯":"+", // BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
"┰":"+", // BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
"┱":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
"┲":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
"┳":"+", // BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
"┴":"+", // BOX DRAWINGS LIGHT UP AND HORIZONTAL
"┵":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
"┶":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
"┷":"+", // BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
"┸":"+", // BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
"┹":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
"┺":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
"┻":"+", // BOX DRAWINGS HEAVY UP AND HORIZONTAL
"┼":"+", // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
"┽":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
"┾":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
"┿":"+", // BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
"╀":"+", // BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
"╁":"+", // BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
"╂":"+", // BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
"╃":"+", // BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
"╄":"+", // BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
"╅":"+", // BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
"╆":"+", // BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
"╇":"+", // BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
"╈":"+", // BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
"╉":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
"╊":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
"╋":"+", // BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
"╌":"-", // BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
"╍":"=", // BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
"╎":"|", // BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
"╏":"|", // BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
"═":"=", // BOX DRAWINGS DOUBLE HORIZONTAL
"║":"|", // BOX DRAWINGS DOUBLE VERTICAL
"╒":"+", // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
"╓":"+", // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
"╔":"+", // BOX DRAWINGS DOUBLE DOWN AND RIGHT
"╕":"+", // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
"╖":"+", // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
"╗":"+", // BOX DRAWINGS DOUBLE DOWN AND LEFT
"╘":"+", // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
"╙":"+", // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
"╚":"+", // BOX DRAWINGS DOUBLE UP AND RIGHT
"╛":"+", // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
"╜":"+", // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
"╝":"+", // BOX DRAWINGS DOUBLE UP AND LEFT
"╞":"+", // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
"╟":"+", // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
"╠":"+", // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
"╡":"+", // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
"╢":"+", // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
"╣":"+", // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
"╤":"+", // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
"╥":"+", // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
"╦":"+", // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
"╧":"+", // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
"╨":"+", // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
"╩":"+", // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
"╪":"+", // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
"╫":"+", // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
"╬":"+", // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
"╭":"+", // BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
"╮":"+", // BOX DRAWINGS LIGHT ARC DOWN AND LEFT
"╯":"+", // BOX DRAWINGS LIGHT ARC UP AND LEFT
"╰":"+", // BOX DRAWINGS LIGHT ARC UP AND RIGHT
"╱":"/", // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
"╲":"\\", // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
"╳":"X", // BOX DRAWINGS LIGHT DIAGONAL CROSS
"╼":"-", // BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
"╽":"|", // BOX DRAWINGS LIGHT UP AND HEAVY DOWN
"╾":"-", // BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
"╿":"|", // BOX DRAWINGS HEAVY UP AND LIGHT DOWN
"○":"o", // WHITE CIRCLE
"◦":"{\\textopenbullet}", // WHITE BULLET
"★":"*", // BLACK STAR
"☆":"*", // WHITE STAR
"☒":"X", // BALLOT BOX WITH X
"☓":"X", // SALTIRE
"☹":":-(", // WHITE FROWNING FACE
"☺":":-)", // WHITE SMILING FACE
"☻":"(-:", // BLACK SMILING FACE
"♭":"b", // MUSIC FLAT SIGN
"♯":"$\\#$", // MUSIC SHARP SIGN
"✁":"$\\%<$", // UPPER BLADE SCISSORS
"✂":"$\\%<$", // BLACK SCISSORS
"✃":"$\\%<$", // LOWER BLADE SCISSORS
"✄":"$\\%<$", // WHITE SCISSORS
"✌":"V", // VICTORY HAND
"✓":"v", // CHECK MARK
"✔":"V", // HEAVY CHECK MARK
"✕":"x", // MULTIPLICATION X
"✖":"x", // HEAVY MULTIPLICATION X
"✗":"X", // BALLOT X
"✘":"X", // HEAVY BALLOT X
"✙":"+", // OUTLINED GREEK CROSS
"✚":"+", // HEAVY GREEK CROSS
"✛":"+", // OPEN CENTRE CROSS
"✜":"+", // HEAVY OPEN CENTRE CROSS
"✝":"+", // LATIN CROSS
"✞":"+", // SHADOWED WHITE LATIN CROSS
"✟":"+", // OUTLINED LATIN CROSS
"✠":"+", // MALTESE CROSS
"✡":"*", // STAR OF DAVID
"✢":"+", // FOUR TEARDROP-SPOKED ASTERISK
"✣":"+", // FOUR BALLOON-SPOKED ASTERISK
"✤":"+", // HEAVY FOUR BALLOON-SPOKED ASTERISK
"✥":"+", // FOUR CLUB-SPOKED ASTERISK
"✦":"+", // BLACK FOUR POINTED STAR
"✧":"+", // WHITE FOUR POINTED STAR
"✩":"*", // STRESS OUTLINED WHITE STAR
"✪":"*", // CIRCLED WHITE STAR
"✫":"*", // OPEN CENTRE BLACK STAR
"✬":"*", // BLACK CENTRE WHITE STAR
"✭":"*", // OUTLINED BLACK STAR
"✮":"*", // HEAVY OUTLINED BLACK STAR
"✯":"*", // PINWHEEL STAR
"✰":"*", // SHADOWED WHITE STAR
"✱":"*", // HEAVY ASTERISK
"✲":"*", // OPEN CENTRE ASTERISK
"✳":"*", // EIGHT SPOKED ASTERISK
"✴":"*", // EIGHT POINTED BLACK STAR
"✵":"*", // EIGHT POINTED PINWHEEL STAR
"✶":"*", // SIX POINTED BLACK STAR
"✷":"*", // EIGHT POINTED RECTILINEAR BLACK STAR
"✸":"*", // HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
"✹":"*", // TWELVE POINTED BLACK STAR
"✺":"*", // SIXTEEN POINTED ASTERISK
"✻":"*", // TEARDROP-SPOKED ASTERISK
"✼":"*", // OPEN CENTRE TEARDROP-SPOKED ASTERISK
"✽":"*", // HEAVY TEARDROP-SPOKED ASTERISK
"✾":"*", // SIX PETALLED BLACK AND WHITE FLORETTE
"✿":"*", // BLACK FLORETTE
"❀":"*", // WHITE FLORETTE
"❁":"*", // EIGHT PETALLED OUTLINED BLACK FLORETTE
"❂":"*", // CIRCLED OPEN CENTRE EIGHT POINTED STAR
"❃":"*", // HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
"❄":"*", // SNOWFLAKE
"❅":"*", // TIGHT TRIFOLIATE SNOWFLAKE
"❆":"*", // HEAVY CHEVRON SNOWFLAKE
"❇":"*", // SPARKLE
"❈":"*", // HEAVY SPARKLE
"❉":"*", // BALLOON-SPOKED ASTERISK
"❊":"*", // EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
"❋":"*", // HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
"ff":"ff", // LATIN SMALL LIGATURE FF
"fi":"fi", // LATIN SMALL LIGATURE FI
"fl":"fl", // LATIN SMALL LIGATURE FL
"ffi":"ffi", // LATIN SMALL LIGATURE FFI
"ffl":"ffl", // LATIN SMALL LIGATURE FFL
"ſt":"st", // LATIN SMALL LIGATURE LONG S T
"st":"st", // LATIN SMALL LIGATURE ST
/* Derived accented characters */
/* These two require the "semtrans" package to work; uncomment to enable */
/* "ʿ":"\{\\Ayn}", // MGR Ayn
"ʾ":"\{\\Alif}", // MGR Alif/Hamza
*/
"À":"{\\`A}", // LATIN CAPITAL LETTER A WITH GRAVE
"Á":"{\\'A}", // LATIN CAPITAL LETTER A WITH ACUTE
"Â":"{\\^A}", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
"Ã":"{\\~A}", // LATIN CAPITAL LETTER A WITH TILDE
"Ä":"{\\\"A}", // LATIN CAPITAL LETTER A WITH DIAERESIS
"Å":"{\\r A}", // LATIN CAPITAL LETTER A WITH RING ABOVE
"Ç":"{\\c C}", // LATIN CAPITAL LETTER C WITH CEDILLA
"È":"{\\`E}", // LATIN CAPITAL LETTER E WITH GRAVE
"É":"{\\'E}", // LATIN CAPITAL LETTER E WITH ACUTE
"Ê":"{\\^E}", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
"Ë":"{\\\"E}", // LATIN CAPITAL LETTER E WITH DIAERESIS
"Ì":"{\\`I}", // LATIN CAPITAL LETTER I WITH GRAVE
"Í":"{\\'I}", // LATIN CAPITAL LETTER I WITH ACUTE
"Î":"{\\^I}", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
"Ï":"{\\\"I}", // LATIN CAPITAL LETTER I WITH DIAERESIS
"Ñ":"{\\~N}", // LATIN CAPITAL LETTER N WITH TILDE
"Ò":"{\\`O}", // LATIN CAPITAL LETTER O WITH GRAVE
"Ó":"{\\'O}", // LATIN CAPITAL LETTER O WITH ACUTE
"Ô":"{\\^O}", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
"Õ":"{\\~O}", // LATIN CAPITAL LETTER O WITH TILDE
"Ö":"{\\\"O}", // LATIN CAPITAL LETTER O WITH DIAERESIS
"Ù":"{\\`U}", // LATIN CAPITAL LETTER U WITH GRAVE
"Ú":"{\\'U}", // LATIN CAPITAL LETTER U WITH ACUTE
"Û":"{\\^U}", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
"Ü":"{\\\"U}", // LATIN CAPITAL LETTER U WITH DIAERESIS
"Ý":"{\\'Y}", // LATIN CAPITAL LETTER Y WITH ACUTE
"à":"{\\`a}", // LATIN SMALL LETTER A WITH GRAVE
"á":"{\\'a}", // LATIN SMALL LETTER A WITH ACUTE
"â":"{\\^a}", // LATIN SMALL LETTER A WITH CIRCUMFLEX
"ã":"{\\~a}", // LATIN SMALL LETTER A WITH TILDE
"ä":"{\\\"a}", // LATIN SMALL LETTER A WITH DIAERESIS
"å":"{\\r a}", // LATIN SMALL LETTER A WITH RING ABOVE
"ç":"{\\c c}", // LATIN SMALL LETTER C WITH CEDILLA
"è":"{\\`e}", // LATIN SMALL LETTER E WITH GRAVE
"é":"{\\'e}", // LATIN SMALL LETTER E WITH ACUTE
"ê":"{\\^e}", // LATIN SMALL LETTER E WITH CIRCUMFLEX
"ë":"{\\\"e}", // LATIN SMALL LETTER E WITH DIAERESIS
"ì":"{\\`i}", // LATIN SMALL LETTER I WITH GRAVE
"í":"{\\'i}", // LATIN SMALL LETTER I WITH ACUTE
"î":"{\\^i}", // LATIN SMALL LETTER I WITH CIRCUMFLEX
"ï":"{\\\"i}", // LATIN SMALL LETTER I WITH DIAERESIS
"ñ":"{\\~n}", // LATIN SMALL LETTER N WITH TILDE
"ò":"{\\`o}", // LATIN SMALL LETTER O WITH GRAVE
"ó":"{\\'o}", // LATIN SMALL LETTER O WITH ACUTE
"ô":"{\\^o}", // LATIN SMALL LETTER O WITH CIRCUMFLEX
"õ":"{\\~o}", // LATIN SMALL LETTER O WITH TILDE
"ö":"{\\\"o}", // LATIN SMALL LETTER O WITH DIAERESIS
"ù":"{\\`u}", // LATIN SMALL LETTER U WITH GRAVE
"ú":"{\\'u}", // LATIN SMALL LETTER U WITH ACUTE
"û":"{\\^u}", // LATIN SMALL LETTER U WITH CIRCUMFLEX
"ü":"{\\\"u}", // LATIN SMALL LETTER U WITH DIAERESIS
"ý":"{\\'y}", // LATIN SMALL LETTER Y WITH ACUTE
"ÿ":"{\\\"y}", // LATIN SMALL LETTER Y WITH DIAERESIS
"Ā":"{\\=A}", // LATIN CAPITAL LETTER A WITH MACRON
"ā":"{\\=a}", // LATIN SMALL LETTER A WITH MACRON
"Ă":"{\\u A}", // LATIN CAPITAL LETTER A WITH BREVE
"ă":"{\\u a}", // LATIN SMALL LETTER A WITH BREVE
"Ą":"{\\k A}", // LATIN CAPITAL LETTER A WITH OGONEK
"ą":"{\\k a}", // LATIN SMALL LETTER A WITH OGONEK
"Ć":"{\\'C}", // LATIN CAPITAL LETTER C WITH ACUTE
"ć":"{\\'c}", // LATIN SMALL LETTER C WITH ACUTE
"Ĉ":"{\\^C}", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
"ĉ":"{\\^c}", // LATIN SMALL LETTER C WITH CIRCUMFLEX
"Ċ":"{\\.C}", // LATIN CAPITAL LETTER C WITH DOT ABOVE
"ċ":"{\\.c}", // LATIN SMALL LETTER C WITH DOT ABOVE
"Č":"{\\v C}", // LATIN CAPITAL LETTER C WITH CARON
"č":"{\\v c}", // LATIN SMALL LETTER C WITH CARON
"Ď":"{\\v D}", // LATIN CAPITAL LETTER D WITH CARON
"ď":"{\\v d}", // LATIN SMALL LETTER D WITH CARON
"Ē":"{\\=E}", // LATIN CAPITAL LETTER E WITH MACRON
"ē":"{\\=e}", // LATIN SMALL LETTER E WITH MACRON
"Ĕ":"{\\u E}", // LATIN CAPITAL LETTER E WITH BREVE
"ĕ":"{\\u e}", // LATIN SMALL LETTER E WITH BREVE
"Ė":"{\\.E}", // LATIN CAPITAL LETTER E WITH DOT ABOVE
"ė":"{\\.e}", // LATIN SMALL LETTER E WITH DOT ABOVE
"Ę":"{\\k E}", // LATIN CAPITAL LETTER E WITH OGONEK
"ę":"{\\k e}", // LATIN SMALL LETTER E WITH OGONEK
"Ě":"{\\v E}", // LATIN CAPITAL LETTER E WITH CARON
"ě":"{\\v e}", // LATIN SMALL LETTER E WITH CARON
"Ĝ":"{\\^G}", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
"ĝ":"{\\^g}", // LATIN SMALL LETTER G WITH CIRCUMFLEX
"Ğ":"{\\u G}", // LATIN CAPITAL LETTER G WITH BREVE
"ğ":"{\\u g}", // LATIN SMALL LETTER G WITH BREVE
"Ġ":"{\\.G}", // LATIN CAPITAL LETTER G WITH DOT ABOVE
"ġ":"{\\.g}", // LATIN SMALL LETTER G WITH DOT ABOVE
"Ģ":"{\\c G}", // LATIN CAPITAL LETTER G WITH CEDILLA
"ģ":"{\\c g}", // LATIN SMALL LETTER G WITH CEDILLA
"Ĥ":"{\\^H}", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
"ĥ":"{\\^h}", // LATIN SMALL LETTER H WITH CIRCUMFLEX
"Ĩ":"{\\~I}", // LATIN CAPITAL LETTER I WITH TILDE
"ĩ":"{\\~i}", // LATIN SMALL LETTER I WITH TILDE
"Ī":"{\\=I}", // LATIN CAPITAL LETTER I WITH MACRON
"ī":"{\\=\\i}", // LATIN SMALL LETTER I WITH MACRON
"Ĭ":"{\\u I}", // LATIN CAPITAL LETTER I WITH BREVE
"ĭ":"{\\u i}", // LATIN SMALL LETTER I WITH BREVE
"Į":"{\\k I}", // LATIN CAPITAL LETTER I WITH OGONEK
"į":"{\\k i}", // LATIN SMALL LETTER I WITH OGONEK
"İ":"{\\.I}", // LATIN CAPITAL LETTER I WITH DOT ABOVE
"Ĵ":"{\\^J}", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
"ĵ":"{\\^j}", // LATIN SMALL LETTER J WITH CIRCUMFLEX
"Ķ":"{\\c K}", // LATIN CAPITAL LETTER K WITH CEDILLA
"ķ":"{\\c k}", // LATIN SMALL LETTER K WITH CEDILLA
"Ĺ":"{\\'L}", // LATIN CAPITAL LETTER L WITH ACUTE
"ĺ":"{\\'l}", // LATIN SMALL LETTER L WITH ACUTE
"Ļ":"{\\c L}", // LATIN CAPITAL LETTER L WITH CEDILLA
"ļ":"{\\c l}", // LATIN SMALL LETTER L WITH CEDILLA
"Ľ":"{\\v L}", // LATIN CAPITAL LETTER L WITH CARON
"ľ":"{\\v l}", // LATIN SMALL LETTER L WITH CARON
"Ł":"{\\L }", //LATIN CAPITAL LETTER L WITH STROKE
"ł":"{\\l }", //LATIN SMALL LETTER L WITH STROKE
"Ń":"{\\'N}", // LATIN CAPITAL LETTER N WITH ACUTE
"ń":"{\\'n}", // LATIN SMALL LETTER N WITH ACUTE
"Ņ":"{\\c N}", // LATIN CAPITAL LETTER N WITH CEDILLA
"ņ":"{\\c n}", // LATIN SMALL LETTER N WITH CEDILLA
"Ň":"{\\v N}", // LATIN CAPITAL LETTER N WITH CARON
"ň":"{\\v n}", // LATIN SMALL LETTER N WITH CARON
"Ō":"{\\=O}", // LATIN CAPITAL LETTER O WITH MACRON
"ō":"{\\=o}", // LATIN SMALL LETTER O WITH MACRON
"Ŏ":"{\\u O}", // LATIN CAPITAL LETTER O WITH BREVE
"ŏ":"{\\u o}", // LATIN SMALL LETTER O WITH BREVE
"Ő":"{\\H O}", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
"ő":"{\\H o}", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
"Ŕ":"{\\'R}", // LATIN CAPITAL LETTER R WITH ACUTE
"ŕ":"{\\'r}", // LATIN SMALL LETTER R WITH ACUTE
"Ŗ":"{\\c R}", // LATIN CAPITAL LETTER R WITH CEDILLA
"ŗ":"{\\c r}", // LATIN SMALL LETTER R WITH CEDILLA
"Ř":"{\\v R}", // LATIN CAPITAL LETTER R WITH CARON
"ř":"{\\v r}", // LATIN SMALL LETTER R WITH CARON
"Ś":"{\\'S}", // LATIN CAPITAL LETTER S WITH ACUTE
"ś":"{\\'s}", // LATIN SMALL LETTER S WITH ACUTE
"Ŝ":"{\\^S}", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
"ŝ":"{\\^s}", // LATIN SMALL LETTER S WITH CIRCUMFLEX
"Ş":"{\\c S}", // LATIN CAPITAL LETTER S WITH CEDILLA
"ş":"{\\c s}", // LATIN SMALL LETTER S WITH CEDILLA
"Š":"{\\v S}", // LATIN CAPITAL LETTER S WITH CARON
"š":"{\\v s}", // LATIN SMALL LETTER S WITH CARON
"Ţ":"{\\c T}", // LATIN CAPITAL LETTER T WITH CEDILLA
"ţ":"{\\c t}", // LATIN SMALL LETTER T WITH CEDILLA
"Ť":"{\\v T}", // LATIN CAPITAL LETTER T WITH CARON
"ť":"{\\v t}", // LATIN SMALL LETTER T WITH CARON
"Ũ":"{\\~U}", // LATIN CAPITAL LETTER U WITH TILDE
"ũ":"{\\~u}", // LATIN SMALL LETTER U WITH TILDE
"Ū":"{\\=U}", // LATIN CAPITAL LETTER U WITH MACRON
"ū":"{\\=u}", // LATIN SMALL LETTER U WITH MACRON
"Ŭ":"{\\u U}", // LATIN CAPITAL LETTER U WITH BREVE
"ŭ":"{\\u u}", // LATIN SMALL LETTER U WITH BREVE
"Ű":"{\\H U}", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
"ű":"{\\H u}", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
"Ų":"{\\k U}", // LATIN CAPITAL LETTER U WITH OGONEK
"ų":"{\\k u}", // LATIN SMALL LETTER U WITH OGONEK
"Ŵ":"{\\^W}", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
"ŵ":"{\\^w}", // LATIN SMALL LETTER W WITH CIRCUMFLEX
"Ŷ":"{\\^Y}", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
"ŷ":"{\\^y}", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
"Ÿ":"{\\\"Y}", // LATIN CAPITAL LETTER Y WITH DIAERESIS
"Ź":"{\\'Z}", // LATIN CAPITAL LETTER Z WITH ACUTE
"ź":"{\\'z}", // LATIN SMALL LETTER Z WITH ACUTE
"Ż":"{\\.Z}", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
"ż":"{\\.z}", // LATIN SMALL LETTER Z WITH DOT ABOVE
"Ž":"{\\v Z}", // LATIN CAPITAL LETTER Z WITH CARON
"ž":"{\\v z}", // LATIN SMALL LETTER Z WITH CARON
"Ǎ":"{\\v A}", // LATIN CAPITAL LETTER A WITH CARON
"ǎ":"{\\v a}", // LATIN SMALL LETTER A WITH CARON
"Ǐ":"{\\v I}", // LATIN CAPITAL LETTER I WITH CARON
"ǐ":"{\\v i}", // LATIN SMALL LETTER I WITH CARON
"Ǒ":"{\\v O}", // LATIN CAPITAL LETTER O WITH CARON
"ǒ":"{\\v o}", // LATIN SMALL LETTER O WITH CARON
"Ǔ":"{\\v U}", // LATIN CAPITAL LETTER U WITH CARON
"ǔ":"{\\v u}", // LATIN SMALL LETTER U WITH CARON
"Ǧ":"{\\v G}", // LATIN CAPITAL LETTER G WITH CARON
"ǧ":"{\\v g}", // LATIN SMALL LETTER G WITH CARON
"Ǩ":"{\\v K}", // LATIN CAPITAL LETTER K WITH CARON
"ǩ":"{\\v k}", // LATIN SMALL LETTER K WITH CARON
"Ǫ":"{\\k O}", // LATIN CAPITAL LETTER O WITH OGONEK
"ǫ":"{\\k o}", // LATIN SMALL LETTER O WITH OGONEK
"ǰ":"{\\v j}", // LATIN SMALL LETTER J WITH CARON
"Ǵ":"{\\'G}", // LATIN CAPITAL LETTER G WITH ACUTE
"ǵ":"{\\'g}", // LATIN SMALL LETTER G WITH ACUTE
"Ḃ":"{\\.B}", // LATIN CAPITAL LETTER B WITH DOT ABOVE
"ḃ":"{\\.b}", // LATIN SMALL LETTER B WITH DOT ABOVE
"Ḅ":"{\\d B}", // LATIN CAPITAL LETTER B WITH DOT BELOW
"ḅ":"{\\d b}", // LATIN SMALL LETTER B WITH DOT BELOW
"Ḇ":"{\\b B}", // LATIN CAPITAL LETTER B WITH LINE BELOW
"ḇ":"{\\b b}", // LATIN SMALL LETTER B WITH LINE BELOW
"Ḋ":"{\\.D}", // LATIN CAPITAL LETTER D WITH DOT ABOVE
"ḋ":"{\\.d}", // LATIN SMALL LETTER D WITH DOT ABOVE
"Ḍ":"{\\d D}", // LATIN CAPITAL LETTER D WITH DOT BELOW
"ḍ":"{\\d d}", // LATIN SMALL LETTER D WITH DOT BELOW
"Ḏ":"{\\b D}", // LATIN CAPITAL LETTER D WITH LINE BELOW
"ḏ":"{\\b d}", // LATIN SMALL LETTER D WITH LINE BELOW
"Ḑ":"{\\c D}", // LATIN CAPITAL LETTER D WITH CEDILLA
"ḑ":"{\\c d}", // LATIN SMALL LETTER D WITH CEDILLA
"Ḟ":"{\\.F}", // LATIN CAPITAL LETTER F WITH DOT ABOVE
"ḟ":"{\\.f}", // LATIN SMALL LETTER F WITH DOT ABOVE
"Ḡ":"{\\=G}", // LATIN CAPITAL LETTER G WITH MACRON
"ḡ":"{\\=g}", // LATIN SMALL LETTER G WITH MACRON
"Ḣ":"{\\.H}", // LATIN CAPITAL LETTER H WITH DOT ABOVE
"ḣ":"{\\.h}", // LATIN SMALL LETTER H WITH DOT ABOVE
"Ḥ":"{\\d H}", // LATIN CAPITAL LETTER H WITH DOT BELOW
"ḥ":"{\\d h}", // LATIN SMALL LETTER H WITH DOT BELOW
"Ḧ":"{\\\"H}", // LATIN CAPITAL LETTER H WITH DIAERESIS
"ḧ":"{\\\"h}", // LATIN SMALL LETTER H WITH DIAERESIS
"Ḩ":"{\\c H}", // LATIN CAPITAL LETTER H WITH CEDILLA
"ḩ":"{\\c h}", // LATIN SMALL LETTER H WITH CEDILLA
"Ḱ":"{\\'K}", // LATIN CAPITAL LETTER K WITH ACUTE
"ḱ":"{\\'k}", // LATIN SMALL LETTER K WITH ACUTE
"Ḳ":"{\\d K}", // LATIN CAPITAL LETTER K WITH DOT BELOW
"ḳ":"{\\d k}", // LATIN SMALL LETTER K WITH DOT BELOW
"Ḵ":"{\\b K}", // LATIN CAPITAL LETTER K WITH LINE BELOW
"ḵ":"{\\b k}", // LATIN SMALL LETTER K WITH LINE BELOW
"Ḷ":"{\\d L}", // LATIN CAPITAL LETTER L WITH DOT BELOW
"ḷ":"{\\d l}", // LATIN SMALL LETTER L WITH DOT BELOW
"Ḻ":"{\\b L}", // LATIN CAPITAL LETTER L WITH LINE BELOW
"ḻ":"{\\b l}", // LATIN SMALL LETTER L WITH LINE BELOW
"Ḿ":"{\\'M}", // LATIN CAPITAL LETTER M WITH ACUTE
"ḿ":"{\\'m}", // LATIN SMALL LETTER M WITH ACUTE
"Ṁ":"{\\.M}", // LATIN CAPITAL LETTER M WITH DOT ABOVE
"ṁ":"{\\.m}", // LATIN SMALL LETTER M WITH DOT ABOVE
"Ṃ":"{\\d M}", // LATIN CAPITAL LETTER M WITH DOT BELOW
"ṃ":"{\\d m}", // LATIN SMALL LETTER M WITH DOT BELOW
"Ṅ":"{\\.N}", // LATIN CAPITAL LETTER N WITH DOT ABOVE
"ṅ":"{\\.n}", // LATIN SMALL LETTER N WITH DOT ABOVE
"Ṇ":"{\\d N}", // LATIN CAPITAL LETTER N WITH DOT BELOW
"ṇ":"{\\d n}", // LATIN SMALL LETTER N WITH DOT BELOW
"Ṉ":"{\\b N}", // LATIN CAPITAL LETTER N WITH LINE BELOW
"ṉ":"{\\b n}", // LATIN SMALL LETTER N WITH LINE BELOW
"Ṕ":"{\\'P}", // LATIN CAPITAL LETTER P WITH ACUTE
"ṕ":"{\\'p}", // LATIN SMALL LETTER P WITH ACUTE
"Ṗ":"{\\.P}", // LATIN CAPITAL LETTER P WITH DOT ABOVE
"ṗ":"{\\.p}", // LATIN SMALL LETTER P WITH DOT ABOVE
"Ṙ":"{\\.R}", // LATIN CAPITAL LETTER R WITH DOT ABOVE
"ṙ":"{\\.r}", // LATIN SMALL LETTER R WITH DOT ABOVE
"Ṛ":"{\\d R}", // LATIN CAPITAL LETTER R WITH DOT BELOW
"ṛ":"{\\d r}", // LATIN SMALL LETTER R WITH DOT BELOW
"Ṟ":"{\\b R}", // LATIN CAPITAL LETTER R WITH LINE BELOW
"ṟ":"{\\b r}", // LATIN SMALL LETTER R WITH LINE BELOW
"Ṡ":"{\\.S}", // LATIN CAPITAL LETTER S WITH DOT ABOVE
"ṡ":"{\\.s}", // LATIN SMALL LETTER S WITH DOT ABOVE
"Ṣ":"{\\d S}", // LATIN CAPITAL LETTER S WITH DOT BELOW
"ṣ":"{\\d s}", // LATIN SMALL LETTER S WITH DOT BELOW
"Ṫ":"{\\.T}", // LATIN CAPITAL LETTER T WITH DOT ABOVE
"ṫ":"{\\.t}", // LATIN SMALL LETTER T WITH DOT ABOVE
"Ṭ":"{\\d T}", // LATIN CAPITAL LETTER T WITH DOT BELOW
"ṭ":"{\\d t}", // LATIN SMALL LETTER T WITH DOT BELOW
"Ṯ":"{\\b T}", // LATIN CAPITAL LETTER T WITH LINE BELOW
"ṯ":"{\\b t}", // LATIN SMALL LETTER T WITH LINE BELOW
"Ṽ":"{\\~V}", // LATIN CAPITAL LETTER V WITH TILDE
"ṽ":"{\\~v}", // LATIN SMALL LETTER V WITH TILDE
"Ṿ":"{\\d V}", // LATIN CAPITAL LETTER V WITH DOT BELOW
"ṿ":"{\\d v}", // LATIN SMALL LETTER V WITH DOT BELOW
"Ẁ":"{\\`W}", // LATIN CAPITAL LETTER W WITH GRAVE
"ẁ":"{\\`w}", // LATIN SMALL LETTER W WITH GRAVE
"Ẃ":"{\\'W}", // LATIN CAPITAL LETTER W WITH ACUTE
"ẃ":"{\\'w}", // LATIN SMALL LETTER W WITH ACUTE
"Ẅ":"{\\\"W}", // LATIN CAPITAL LETTER W WITH DIAERESIS
"ẅ":"{\\\"w}", // LATIN SMALL LETTER W WITH DIAERESIS
"Ẇ":"{\\.W}", // LATIN CAPITAL LETTER W WITH DOT ABOVE
"ẇ":"{\\.w}", // LATIN SMALL LETTER W WITH DOT ABOVE
"Ẉ":"{\\d W}", // LATIN CAPITAL LETTER W WITH DOT BELOW
"ẉ":"{\\d w}", // LATIN SMALL LETTER W WITH DOT BELOW
"Ẋ":"{\\.X}", // LATIN CAPITAL LETTER X WITH DOT ABOVE
"ẋ":"{\\.x}", // LATIN SMALL LETTER X WITH DOT ABOVE
"Ẍ":"{\\\"X}", // LATIN CAPITAL LETTER X WITH DIAERESIS
"ẍ":"{\\\"x}", // LATIN SMALL LETTER X WITH DIAERESIS
"Ẏ":"{\\.Y}", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
"ẏ":"{\\.y}", // LATIN SMALL LETTER Y WITH DOT ABOVE
"Ẑ":"{\\^Z}", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
"ẑ":"{\\^z}", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
"Ẓ":"{\\d Z}", // LATIN CAPITAL LETTER Z WITH DOT BELOW
"ẓ":"{\\d z}", // LATIN SMALL LETTER Z WITH DOT BELOW
"Ẕ":"{\\b Z}", // LATIN CAPITAL LETTER Z WITH LINE BELOW
"ẕ":"{\\b z}", // LATIN SMALL LETTER Z WITH LINE BELOW
"ẖ":"{\\b h}", // LATIN SMALL LETTER H WITH LINE BELOW
"ẗ":"{\\\"t}", // LATIN SMALL LETTER T WITH DIAERESIS
"Ạ":"{\\d A}", // LATIN CAPITAL LETTER A WITH DOT BELOW
"ạ":"{\\d a}", // LATIN SMALL LETTER A WITH DOT BELOW
"Ẹ":"{\\d E}", // LATIN CAPITAL LETTER E WITH DOT BELOW
"ẹ":"{\\d e}", // LATIN SMALL LETTER E WITH DOT BELOW
"Ẽ":"{\\~E}", // LATIN CAPITAL LETTER E WITH TILDE
"ẽ":"{\\~e}", // LATIN SMALL LETTER E WITH TILDE
"Ị":"{\\d I}", // LATIN CAPITAL LETTER I WITH DOT BELOW
"ị":"{\\d i}", // LATIN SMALL LETTER I WITH DOT BELOW
"Ọ":"{\\d O}", // LATIN CAPITAL LETTER O WITH DOT BELOW
"ọ":"{\\d o}", // LATIN SMALL LETTER O WITH DOT BELOW
"Ụ":"{\\d U}", // LATIN CAPITAL LETTER U WITH DOT BELOW
"ụ":"{\\d u}", // LATIN SMALL LETTER U WITH DOT BELOW
"Ỳ":"{\\`Y}", // LATIN CAPITAL LETTER Y WITH GRAVE
"ỳ":"{\\`y}", // LATIN SMALL LETTER Y WITH GRAVE
"Ỵ":"{\\d Y}", // LATIN CAPITAL LETTER Y WITH DOT BELOW
"ỵ":"{\\d y}", // LATIN SMALL LETTER Y WITH DOT BELOW
"Ỹ":"{\\~Y}", // LATIN CAPITAL LETTER Y WITH TILDE
"ỹ":"{\\~y}" // LATIN SMALL LETTER Y WITH TILDE
};
/* unfortunately the mapping isn't reversible - hence this second table - sigh! */
var reversemappingTable = {
"\\url" : "", // strip 'url'
"\\href" : "", // strip 'href'
"{\\textexclamdown}" : "¡", // INVERTED EXCLAMATION MARK
"{\\textcent}" : "¢", // CENT SIGN
"{\\textsterling}" : "£", // POUND SIGN
"{\\textyen}" : "¥", // YEN SIGN
"{\\textbrokenbar}" : "¦", // BROKEN BAR
"{\\textsection}" : "§", // SECTION SIGN
"{\\textasciidieresis}" : "¨", // DIAERESIS
"{\\textcopyright}" : "©", // COPYRIGHT SIGN
"{\\textordfeminine}" : "ª", // FEMININE ORDINAL INDICATOR
"{\\guillemotleft}" : "«", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
"{\\textlnot}" : "¬", // NOT SIGN
"{\\textregistered}" : "®", // REGISTERED SIGN
"{\\textasciimacron}" : "¯", // MACRON
"{\\textdegree}" : "°", // DEGREE SIGN
"{\\textpm}" : "±", // PLUS-MINUS SIGN
"{\\texttwosuperior}" : "²", // SUPERSCRIPT TWO
"{\\textthreesuperior}" : "³", // SUPERSCRIPT THREE
"{\\textasciiacute}" : "´", // ACUTE ACCENT
"{\\textmu}" : "µ", // MICRO SIGN
"{\\textparagraph}" : "¶", // PILCROW SIGN
"{\\textperiodcentered}" : "·", // MIDDLE DOT
"{\\c\\ }" : "¸", // CEDILLA
"{\\textonesuperior}" : "¹", // SUPERSCRIPT ONE
"{\\textordmasculine}" : "º", // MASCULINE ORDINAL INDICATOR
"{\\guillemotright}" : "»", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
"{\\textonequarter}" : "¼", // VULGAR FRACTION ONE QUARTER
"{\\textonehalf}" : "½", // VULGAR FRACTION ONE HALF
"{\\textthreequarters}" : "¾", // VULGAR FRACTION THREE QUARTERS
"{\\textquestiondown}" : "¿", // INVERTED QUESTION MARK
"{\\AE}" : "Æ", // LATIN CAPITAL LETTER AE
"{\\DH}" : "Ð", // LATIN CAPITAL LETTER ETH
"{\\texttimes}" : "×", // MULTIPLICATION SIGN
"{\\O}" : "Ø", // LATIN SMALL LETTER O WITH STROKE
"{\\TH}" : "Þ", // LATIN CAPITAL LETTER THORN
"{\\ss}" : "ß", // LATIN SMALL LETTER SHARP S
"{\\ae}" : "æ", // LATIN SMALL LETTER AE
"{\\dh}" : "ð", // LATIN SMALL LETTER ETH
"{\\textdiv}" : "÷", // DIVISION SIGN
"{\\o}" : "ø", // LATIN SMALL LETTER O WITH STROKE
"{\\th}" : "þ", // LATIN SMALL LETTER THORN
"{\\i}" : "ı", // LATIN SMALL LETTER DOTLESS I
//"'n" : "ʼn", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
"{\\NG}" : "Ŋ", // LATIN CAPITAL LETTER ENG
"{\\ng}" : "ŋ", // LATIN SMALL LETTER ENG
"{\\OE}" : "Œ", // LATIN CAPITAL LIGATURE OE
"{\\oe}" : "œ", // LATIN SMALL LIGATURE OE
"{\\textasciicircum}" : "ˆ", // MODIFIER LETTER CIRCUMFLEX ACCENT
// "\\~{}" : "˜", // SMALL TILDE
"{\\textacutedbl}" : "˝", // DOUBLE ACUTE ACCENT
"{\\textendash}" : "–", // EN DASH
"{\\textemdash}" : "—", // EM DASH
"---" : "—", // EM DASH
"--" : "–", // EN DASH
"{\\textbardbl}" : "‖", // DOUBLE VERTICAL LINE
"{\\textunderscore}" : "‗", // DOUBLE LOW LINE
"{\\textquoteleft}" : "‘", // LEFT SINGLE QUOTATION MARK
"{\\textquoteright}" : "’", // RIGHT SINGLE QUOTATION MARK
"{\\quotesinglbase}" : "‚", // SINGLE LOW-9 QUOTATION MARK
"{\\textquotedblleft}" : "“", // LEFT DOUBLE QUOTATION MARK
"{\\textquotedblright}" : "”", // RIGHT DOUBLE QUOTATION MARK
"{\\quotedblbase}" : "„", // DOUBLE LOW-9 QUOTATION MARK
// "{\\quotedblbase}" : "‟", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
"{\\textdagger}" : "†", // DAGGER
"{\\textdaggerdbl}" : "‡", // DOUBLE DAGGER
"{\\textbullet}" : "•", // BULLET
"{\\textellipsis}" : "…", // HORIZONTAL ELLIPSIS
"{\\textperthousand}" : "‰", // PER MILLE SIGN
"'''" : "‴", // TRIPLE PRIME
"''" : "”", // RIGHT DOUBLE QUOTATION MARK (could be a double prime)
"``" : "“", // LEFT DOUBLE QUOTATION MARK (could be a reversed double prime)
"```" : "‷", // REVERSED TRIPLE PRIME
"{\\guilsinglleft}" : "‹", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
"{\\guilsinglright}" : "›", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
"!!" : "‼", // DOUBLE EXCLAMATION MARK
"{\\textfractionsolidus}" : "⁄", // FRACTION SLASH
"?!" : "⁈", // QUESTION EXCLAMATION MARK
"!?" : "⁉", // EXCLAMATION QUESTION MARK
"$^{0}$" : "⁰", // SUPERSCRIPT ZERO
"$^{4}$" : "⁴", // SUPERSCRIPT FOUR
"$^{5}$" : "⁵", // SUPERSCRIPT FIVE
"$^{6}$" : "⁶", // SUPERSCRIPT SIX
"$^{7}$" : "⁷", // SUPERSCRIPT SEVEN
"$^{8}$" : "⁸", // SUPERSCRIPT EIGHT
"$^{9}$" : "⁹", // SUPERSCRIPT NINE
"$^{+}$" : "⁺", // SUPERSCRIPT PLUS SIGN
"$^{-}$" : "⁻", // SUPERSCRIPT MINUS
"$^{=}$" : "⁼", // SUPERSCRIPT EQUALS SIGN
"$^{(}$" : "⁽", // SUPERSCRIPT LEFT PARENTHESIS
"$^{)}$" : "⁾", // SUPERSCRIPT RIGHT PARENTHESIS
"$^{n}$" : "ⁿ", // SUPERSCRIPT LATIN SMALL LETTER N
"$_{0}$" : "₀", // SUBSCRIPT ZERO
"$_{1}$" : "₁", // SUBSCRIPT ONE
"$_{2}$" : "₂", // SUBSCRIPT TWO
"$_{3}$" : "₃", // SUBSCRIPT THREE
"$_{4}$" : "₄", // SUBSCRIPT FOUR
"$_{5}$" : "₅", // SUBSCRIPT FIVE
"$_{6}$" : "₆", // SUBSCRIPT SIX
"$_{7}$" : "₇", // SUBSCRIPT SEVEN
"$_{8}$" : "₈", // SUBSCRIPT EIGHT
"$_{9}$" : "₉", // SUBSCRIPT NINE
"$_{+}$" : "₊", // SUBSCRIPT PLUS SIGN
"$_{-}$" : "₋", // SUBSCRIPT MINUS
"$_{=}$" : "₌", // SUBSCRIPT EQUALS SIGN
"$_{(}$" : "₍", // SUBSCRIPT LEFT PARENTHESIS
"$_{)}$" : "₎", // SUBSCRIPT RIGHT PARENTHESIS
"{\\texteuro}" : "€", // EURO SIGN
//"a/c" : "℀", // ACCOUNT OF
//"a/s" : "℁", // ADDRESSED TO THE SUBJECT
"{\\textcelsius}" : "℃", // DEGREE CELSIUS
//"c/o" : "℅", // CARE OF
//"c/u" : "℆", // CADA UNA
"{\\textnumero}" : "№", // NUMERO SIGN
"{\\textcircledP}" : "℗", // SOUND RECORDING COPYRIGHT
"{\\textservicemark}" : "℠", // SERVICE MARK
"{TEL}" : "℡", // TELEPHONE SIGN
"{\\texttrademark}" : "™", // TRADE MARK SIGN
"{\\textohm}" : "Ω", // OHM SIGN
"{\\textestimated}" : "℮", // ESTIMATED SYMBOL
/*" 1/3" : "⅓", // VULGAR FRACTION ONE THIRD
" 2/3" : "⅔", // VULGAR FRACTION TWO THIRDS
" 1/5" : "⅕", // VULGAR FRACTION ONE FIFTH
" 2/5" : "⅖", // VULGAR FRACTION TWO FIFTHS
" 3/5" : "⅗", // VULGAR FRACTION THREE FIFTHS
" 4/5" : "⅘", // VULGAR FRACTION FOUR FIFTHS
" 1/6" : "⅙", // VULGAR FRACTION ONE SIXTH
" 5/6" : "⅚", // VULGAR FRACTION FIVE SIXTHS
" 1/8" : "⅛", // VULGAR FRACTION ONE EIGHTH
" 3/8" : "⅜", // VULGAR FRACTION THREE EIGHTHS
" 5/8" : "⅝", // VULGAR FRACTION FIVE EIGHTHS
" 7/8" : "⅞", // VULGAR FRACTION SEVEN EIGHTHS
" 1/" : "⅟", // FRACTION NUMERATOR ONE */
"{\\textleftarrow}" : "←", // LEFTWARDS ARROW
"{\\textuparrow}" : "↑", // UPWARDS ARROW
"{\\textrightarrow}" : "→", // RIGHTWARDS ARROW
"{\\textdownarrow}" : "↓", // DOWNWARDS ARROW
/*"<->" : "↔", // LEFT RIGHT ARROW
"<=" : "⇐", // LEFTWARDS DOUBLE ARROW
"=>" : "⇒", // RIGHTWARDS DOUBLE ARROW
"<=>" : "⇔", // LEFT RIGHT DOUBLE ARROW */
"$\\infty$" : "∞", // INFINITY
/*"||" : "∥", // PARALLEL TO
"/=" : "≠", // NOT EQUAL TO
"<=" : "≤", // LESS-THAN OR EQUAL TO
">=" : "≥", // GREATER-THAN OR EQUAL TO
"<<" : "≪", // MUCH LESS-THAN
">>" : "≫", // MUCH GREATER-THAN
"(+)" : "⊕", // CIRCLED PLUS
"(-)" : "⊖", // CIRCLED MINUS
"(x)" : "⊗", // CIRCLED TIMES
"(/)" : "⊘", // CIRCLED DIVISION SLASH
"|-" : "⊢", // RIGHT TACK
"-|" : "⊣", // LEFT TACK
"|-" : "⊦", // ASSERTION
"|=" : "⊧", // MODELS
"|=" : "⊨", // TRUE
"||-" : "⊩", // FORCES */
"$\\#$" : "⋕", // EQUAL AND PARALLEL TO
//"<<<" : "⋘", // VERY MUCH LESS-THAN
//">>>" : "⋙", // VERY MUCH GREATER-THAN
"{\\textlangle}" : "〈", // LEFT-POINTING ANGLE BRACKET
"{\\textrangle}" : "〉", // RIGHT-POINTING ANGLE BRACKET
"{\\textvisiblespace}" : "␣", // OPEN BOX
//"///" : "␥", // SYMBOL FOR DELETE FORM TWO
"{\\textopenbullet}" : "◦", // WHITE BULLET
//":-(" : "☹", // WHITE FROWNING FACE
//":-)" : "☺", // WHITE SMILING FACE
//"(-: " : "☻", // BLACK SMILING FACE
// "$\\#$" : "♯", // MUSIC SHARP SIGN
"$\\%<$" : "✁", // UPPER BLADE SCISSORS
/* "$\\%<$" : "✂", // BLACK SCISSORS
"$\\%<$" : "✃", // LOWER BLADE SCISSORS
"$\\%<$" : "✄", // WHITE SCISSORS */
/* Derived accented characters */
"{\\`A}" : "À", // LATIN CAPITAL LETTER A WITH GRAVE
"{\\'A}" : "Á", // LATIN CAPITAL LETTER A WITH ACUTE
"{\\^A}" : "Â", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
"{\\~A}" : "Ã", // LATIN CAPITAL LETTER A WITH TILDE
"{\\\"A}" : "Ä", // LATIN CAPITAL LETTER A WITH DIAERESIS
"{\\r A}" : "Å", // LATIN CAPITAL LETTER A WITH RING ABOVE
"{\\c C}" : "Ç", // LATIN CAPITAL LETTER C WITH CEDILLA
"{\\`E}" : "È", // LATIN CAPITAL LETTER E WITH GRAVE
"{\\'E}" : "É", // LATIN CAPITAL LETTER E WITH ACUTE
"{\\^E}" : "Ê", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
"{\\\"E}" : "Ë", // LATIN CAPITAL LETTER E WITH DIAERESIS
"{\\`I}" : "Ì", // LATIN CAPITAL LETTER I WITH GRAVE
"{\\'I}" : "Í", // LATIN CAPITAL LETTER I WITH ACUTE
"{\\^I}" : "Î", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
"{\\\"I}" : "Ï", // LATIN CAPITAL LETTER I WITH DIAERESIS
"{\\~N}" : "Ñ", // LATIN CAPITAL LETTER N WITH TILDE
"{\\`O}" : "Ò", // LATIN CAPITAL LETTER O WITH GRAVE
"{\\'O}" : "Ó", // LATIN CAPITAL LETTER O WITH ACUTE
"{\\^O}" : "Ô", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
"{\\~O}" : "Õ", // LATIN CAPITAL LETTER O WITH TILDE
"{\\\"O}" : "Ö", // LATIN CAPITAL LETTER O WITH DIAERESIS
"{\\`U}" : "Ù", // LATIN CAPITAL LETTER U WITH GRAVE
"{\\'U}" : "Ú", // LATIN CAPITAL LETTER U WITH ACUTE
"{\\^U}" : "Û", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
"{\\\"U}" : "Ü", // LATIN CAPITAL LETTER U WITH DIAERESIS
"{\\'Y}" : "Ý", // LATIN CAPITAL LETTER Y WITH ACUTE
"{\\`a}" : "à", // LATIN SMALL LETTER A WITH GRAVE
"{\\'a}" : "á", // LATIN SMALL LETTER A WITH ACUTE
"{\\^a}" : "â", // LATIN SMALL LETTER A WITH CIRCUMFLEX
"{\\~a}" : "ã", // LATIN SMALL LETTER A WITH TILDE
"{\\\"a}" : "ä", // LATIN SMALL LETTER A WITH DIAERESIS
"{\\r a}" : "å", // LATIN SMALL LETTER A WITH RING ABOVE
"{\\c c}" : "ç", // LATIN SMALL LETTER C WITH CEDILLA
"{\\`e}" : "è", // LATIN SMALL LETTER E WITH GRAVE
"{\\'e}" : "é", // LATIN SMALL LETTER E WITH ACUTE
"{\\^e}" : "ê", // LATIN SMALL LETTER E WITH CIRCUMFLEX
"{\\\"e}" : "ë", // LATIN SMALL LETTER E WITH DIAERESIS
"{\\`i}" : "ì", // LATIN SMALL LETTER I WITH GRAVE
"{\\'i}" : "í", // LATIN SMALL LETTER I WITH ACUTE
"{\\^i}" : "î", // LATIN SMALL LETTER I WITH CIRCUMFLEX
"{\\\"i}" : "ï", // LATIN SMALL LETTER I WITH DIAERESIS
"{\\~n}" : "ñ", // LATIN SMALL LETTER N WITH TILDE
"{\\`o}" : "ò", // LATIN SMALL LETTER O WITH GRAVE
"{\\'o}" : "ó", // LATIN SMALL LETTER O WITH ACUTE
"{\\^o}" : "ô", // LATIN SMALL LETTER O WITH CIRCUMFLEX
"{\\~o}" : "õ", // LATIN SMALL LETTER O WITH TILDE
"{\\\"o}" : "ö", // LATIN SMALL LETTER O WITH DIAERESIS
"{\\`u}" : "ù", // LATIN SMALL LETTER U WITH GRAVE
"{\\'u}" : "ú", // LATIN SMALL LETTER U WITH ACUTE
"{\\^u}" : "û", // LATIN SMALL LETTER U WITH CIRCUMFLEX
"{\\\"u}" : "ü", // LATIN SMALL LETTER U WITH DIAERESIS
"{\\'y}" : "ý", // LATIN SMALL LETTER Y WITH ACUTE
"{\\\"y}" : "ÿ", // LATIN SMALL LETTER Y WITH DIAERESIS
"{\\=A}" : "Ā", // LATIN CAPITAL LETTER A WITH MACRON
"{\\=a}" : "ā", // LATIN SMALL LETTER A WITH MACRON
"{\\u A}" : "Ă", // LATIN CAPITAL LETTER A WITH BREVE
"{\\u a}" : "ă", // LATIN SMALL LETTER A WITH BREVE
"{\\k A}" : "Ą", // LATIN CAPITAL LETTER A WITH OGONEK
"{\\k a}" : "ą", // LATIN SMALL LETTER A WITH OGONEK
"{\\'C}" : "Ć", // LATIN CAPITAL LETTER C WITH ACUTE
"{\\'c}" : "ć", // LATIN SMALL LETTER C WITH ACUTE
"{\\^C}" : "Ĉ", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
"{\\^c}" : "ĉ", // LATIN SMALL LETTER C WITH CIRCUMFLEX
"{\\.C}" : "Ċ", // LATIN CAPITAL LETTER C WITH DOT ABOVE
"{\\.c}" : "ċ", // LATIN SMALL LETTER C WITH DOT ABOVE
"{\\v C}" : "Č", // LATIN CAPITAL LETTER C WITH CARON
"{\\v c}" : "č", // LATIN SMALL LETTER C WITH CARON
"{\\v D}" : "Ď", // LATIN CAPITAL LETTER D WITH CARON
"{\\v d}" : "ď", // LATIN SMALL LETTER D WITH CARON
"{\\=E}" : "Ē", // LATIN CAPITAL LETTER E WITH MACRON
"{\\=e}" : "ē", // LATIN SMALL LETTER E WITH MACRON
"{\\u E}" : "Ĕ", // LATIN CAPITAL LETTER E WITH BREVE
"{\\u e}" : "ĕ", // LATIN SMALL LETTER E WITH BREVE
"{\\.E}" : "Ė", // LATIN CAPITAL LETTER E WITH DOT ABOVE
"{\\.e}" : "ė", // LATIN SMALL LETTER E WITH DOT ABOVE
"{\\k E}" : "Ę", // LATIN CAPITAL LETTER E WITH OGONEK
"{\\k e}" : "ę", // LATIN SMALL LETTER E WITH OGONEK
"{\\v E}" : "Ě", // LATIN CAPITAL LETTER E WITH CARON
"{\\v e}" : "ě", // LATIN SMALL LETTER E WITH CARON
"{\\^G}" : "Ĝ", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
"{\\^g}" : "ĝ", // LATIN SMALL LETTER G WITH CIRCUMFLEX
"{\\u G}" : "Ğ", // LATIN CAPITAL LETTER G WITH BREVE
"{\\u g}" : "ğ", // LATIN SMALL LETTER G WITH BREVE
"{\\.G}" : "Ġ", // LATIN CAPITAL LETTER G WITH DOT ABOVE
"{\\.g}" : "ġ", // LATIN SMALL LETTER G WITH DOT ABOVE
"{\\c G}" : "Ģ", // LATIN CAPITAL LETTER G WITH CEDILLA
"{\\c g}" : "ģ", // LATIN SMALL LETTER G WITH CEDILLA
"{\\^H}" : "Ĥ", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
"{\\^h}" : "ĥ", // LATIN SMALL LETTER H WITH CIRCUMFLEX
"{\\~I}" : "Ĩ", // LATIN CAPITAL LETTER I WITH TILDE
"{\\~i}" : "ĩ", // LATIN SMALL LETTER I WITH TILDE
"{\\=I}" : "Ī", // LATIN CAPITAL LETTER I WITH MACRON
"{\\=i}" : "ī", // LATIN SMALL LETTER I WITH MACRON
"{\\=\\i}" : "ī", // LATIN SMALL LETTER I WITH MACRON
"{\\u I}" : "Ĭ", // LATIN CAPITAL LETTER I WITH BREVE
"{\\u i}" : "ĭ", // LATIN SMALL LETTER I WITH BREVE
"{\\k I}" : "Į", // LATIN CAPITAL LETTER I WITH OGONEK
"{\\k i}" : "į", // LATIN SMALL LETTER I WITH OGONEK
"{\\.I}" : "İ", // LATIN CAPITAL LETTER I WITH DOT ABOVE
"{\\^J}" : "Ĵ", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
"{\\^j}" : "ĵ", // LATIN SMALL LETTER J WITH CIRCUMFLEX
"{\\c K}" : "Ķ", // LATIN CAPITAL LETTER K WITH CEDILLA
"{\\c k}" : "ķ", // LATIN SMALL LETTER K WITH CEDILLA
"{\\'L}" : "Ĺ", // LATIN CAPITAL LETTER L WITH ACUTE
"{\\'l}" : "ĺ", // LATIN SMALL LETTER L WITH ACUTE
"{\\c L}" : "Ļ", // LATIN CAPITAL LETTER L WITH CEDILLA
"{\\c l}" : "ļ", // LATIN SMALL LETTER L WITH CEDILLA
"{\\v L}" : "Ľ", // LATIN CAPITAL LETTER L WITH CARON
"{\\v l}" : "ľ", // LATIN SMALL LETTER L WITH CARON
"{\\L }" : "Ł", //LATIN CAPITAL LETTER L WITH STROKE
"{\\l }" : "ł", //LATIN SMALL LETTER L WITH STROKE
"{\\'N}" : "Ń", // LATIN CAPITAL LETTER N WITH ACUTE
"{\\'n}" : "ń", // LATIN SMALL LETTER N WITH ACUTE
"{\\c N}" : "Ņ", // LATIN CAPITAL LETTER N WITH CEDILLA
"{\\c n}" : "ņ", // LATIN SMALL LETTER N WITH CEDILLA
"{\\v N}" : "Ň", // LATIN CAPITAL LETTER N WITH CARON
"{\\v n}" : "ň", // LATIN SMALL LETTER N WITH CARON
"{\\=O}" : "Ō", // LATIN CAPITAL LETTER O WITH MACRON
"{\\=o}" : "ō", // LATIN SMALL LETTER O WITH MACRON
"{\\u O}" : "Ŏ", // LATIN CAPITAL LETTER O WITH BREVE
"{\\u o}" : "ŏ", // LATIN SMALL LETTER O WITH BREVE
"{\\H O}" : "Ő", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
"{\\H o}" : "ő", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
"{\\'R}" : "Ŕ", // LATIN CAPITAL LETTER R WITH ACUTE
"{\\'r}" : "ŕ", // LATIN SMALL LETTER R WITH ACUTE
"{\\c R}" : "Ŗ", // LATIN CAPITAL LETTER R WITH CEDILLA
"{\\c r}" : "ŗ", // LATIN SMALL LETTER R WITH CEDILLA
"{\\v R}" : "Ř", // LATIN CAPITAL LETTER R WITH CARON
"{\\v r}" : "ř", // LATIN SMALL LETTER R WITH CARON
"{\\'S}" : "Ś", // LATIN CAPITAL LETTER S WITH ACUTE
"{\\'s}" : "ś", // LATIN SMALL LETTER S WITH ACUTE
"{\\^S}" : "Ŝ", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
"{\\^s}" : "ŝ", // LATIN SMALL LETTER S WITH CIRCUMFLEX
"{\\c S}" : "Ş", // LATIN CAPITAL LETTER S WITH CEDILLA
"{\\c s}" : "ş", // LATIN SMALL LETTER S WITH CEDILLA
"{\\v S}" : "Š", // LATIN CAPITAL LETTER S WITH CARON
"{\\v s}" : "š", // LATIN SMALL LETTER S WITH CARON
"{\\c T}" : "Ţ", // LATIN CAPITAL LETTER T WITH CEDILLA
"{\\c t}" : "ţ", // LATIN SMALL LETTER T WITH CEDILLA
"{\\v T}" : "Ť", // LATIN CAPITAL LETTER T WITH CARON
"{\\v t}" : "ť", // LATIN SMALL LETTER T WITH CARON
"{\\~U}" : "Ũ", // LATIN CAPITAL LETTER U WITH TILDE
"{\\~u}" : "ũ", // LATIN SMALL LETTER U WITH TILDE
"{\\=U}" : "Ū", // LATIN CAPITAL LETTER U WITH MACRON
"{\\=u}" : "ū", // LATIN SMALL LETTER U WITH MACRON
"{\\u U}" : "Ŭ", // LATIN CAPITAL LETTER U WITH BREVE
"{\\u u}" : "ŭ", // LATIN SMALL LETTER U WITH BREVE
"{\\H U}" : "Ű", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
"{\\H u}" : "ű", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
"{\\k U}" : "Ų", // LATIN CAPITAL LETTER U WITH OGONEK
"{\\k u}" : "ų", // LATIN SMALL LETTER U WITH OGONEK
"{\\^W}" : "Ŵ", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
"{\\^w}" : "ŵ", // LATIN SMALL LETTER W WITH CIRCUMFLEX
"{\\^Y}" : "Ŷ", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
"{\\^y}" : "ŷ", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
"{\\\"Y}" : "Ÿ", // LATIN CAPITAL LETTER Y WITH DIAERESIS
"{\\'Z}" : "Ź", // LATIN CAPITAL LETTER Z WITH ACUTE
"{\\'z}" : "ź", // LATIN SMALL LETTER Z WITH ACUTE
"{\\.Z}" : "Ż", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
"{\\.z}" : "ż", // LATIN SMALL LETTER Z WITH DOT ABOVE
"{\\v Z}" : "Ž", // LATIN CAPITAL LETTER Z WITH CARON
"{\\v z}" : "ž", // LATIN SMALL LETTER Z WITH CARON
"{\\v A}" : "Ǎ", // LATIN CAPITAL LETTER A WITH CARON
"{\\v a}" : "ǎ", // LATIN SMALL LETTER A WITH CARON
"{\\v I}" : "Ǐ", // LATIN CAPITAL LETTER I WITH CARON
"{\\v i}" : "ǐ", // LATIN SMALL LETTER I WITH CARON
"{\\v O}" : "Ǒ", // LATIN CAPITAL LETTER O WITH CARON
"{\\v o}" : "ǒ", // LATIN SMALL LETTER O WITH CARON
"{\\v U}" : "Ǔ", // LATIN CAPITAL LETTER U WITH CARON
"{\\v u}" : "ǔ", // LATIN SMALL LETTER U WITH CARON
"{\\v G}" : "Ǧ", // LATIN CAPITAL LETTER G WITH CARON
"{\\v g}" : "ǧ", // LATIN SMALL LETTER G WITH CARON
"{\\v K}" : "Ǩ", // LATIN CAPITAL LETTER K WITH CARON
"{\\v k}" : "ǩ", // LATIN SMALL LETTER K WITH CARON
"{\\k O}" : "Ǫ", // LATIN CAPITAL LETTER O WITH OGONEK
"{\\k o}" : "ǫ", // LATIN SMALL LETTER O WITH OGONEK
"{\\v j}" : "ǰ", // LATIN SMALL LETTER J WITH CARON
"{\\'G}" : "Ǵ", // LATIN CAPITAL LETTER G WITH ACUTE
"{\\'g}" : "ǵ", // LATIN SMALL LETTER G WITH ACUTE
"{\\.B}" : "Ḃ", // LATIN CAPITAL LETTER B WITH DOT ABOVE
"{\\.b}" : "ḃ", // LATIN SMALL LETTER B WITH DOT ABOVE
"{\\d B}" : "Ḅ", // LATIN CAPITAL LETTER B WITH DOT BELOW
"{\\d b}" : "ḅ", // LATIN SMALL LETTER B WITH DOT BELOW
"{\\b B}" : "Ḇ", // LATIN CAPITAL LETTER B WITH LINE BELOW
"{\\b b}" : "ḇ", // LATIN SMALL LETTER B WITH LINE BELOW
"{\\.D}" : "Ḋ", // LATIN CAPITAL LETTER D WITH DOT ABOVE
"{\\.d}" : "ḋ", // LATIN SMALL LETTER D WITH DOT ABOVE
"{\\d D}" : "Ḍ", // LATIN CAPITAL LETTER D WITH DOT BELOW
"{\\d d}" : "ḍ", // LATIN SMALL LETTER D WITH DOT BELOW
"{\\b D}" : "Ḏ", // LATIN CAPITAL LETTER D WITH LINE BELOW
"{\\b d}" : "ḏ", // LATIN SMALL LETTER D WITH LINE BELOW
"{\\c D}" : "Ḑ", // LATIN CAPITAL LETTER D WITH CEDILLA
"{\\c d}" : "ḑ", // LATIN SMALL LETTER D WITH CEDILLA
"{\\.F}" : "Ḟ", // LATIN CAPITAL LETTER F WITH DOT ABOVE
"{\\.f}" : "ḟ", // LATIN SMALL LETTER F WITH DOT ABOVE
"{\\=G}" : "Ḡ", // LATIN CAPITAL LETTER G WITH MACRON
"{\\=g}" : "ḡ", // LATIN SMALL LETTER G WITH MACRON
"{\\.H}" : "Ḣ", // LATIN CAPITAL LETTER H WITH DOT ABOVE
"{\\.h}" : "ḣ", // LATIN SMALL LETTER H WITH DOT ABOVE
"{\\d H}" : "Ḥ", // LATIN CAPITAL LETTER H WITH DOT BELOW
"{\\d h}" : "ḥ", // LATIN SMALL LETTER H WITH DOT BELOW
"{\\\"H}" : "Ḧ", // LATIN CAPITAL LETTER H WITH DIAERESIS
"{\\\"h}" : "ḧ", // LATIN SMALL LETTER H WITH DIAERESIS
"{\\c H}" : "Ḩ", // LATIN CAPITAL LETTER H WITH CEDILLA
"{\\c h}" : "ḩ", // LATIN SMALL LETTER H WITH CEDILLA
"{\\'K}" : "Ḱ", // LATIN CAPITAL LETTER K WITH ACUTE
"{\\'k}" : "ḱ", // LATIN SMALL LETTER K WITH ACUTE
"{\\d K}" : "Ḳ", // LATIN CAPITAL LETTER K WITH DOT BELOW
"{\\d k}" : "ḳ", // LATIN SMALL LETTER K WITH DOT BELOW
"{\\b K}" : "Ḵ", // LATIN CAPITAL LETTER K WITH LINE BELOW
"{\\b k}" : "ḵ", // LATIN SMALL LETTER K WITH LINE BELOW
"{\\d L}" : "Ḷ", // LATIN CAPITAL LETTER L WITH DOT BELOW
"{\\d l}" : "ḷ", // LATIN SMALL LETTER L WITH DOT BELOW
"{\\b L}" : "Ḻ", // LATIN CAPITAL LETTER L WITH LINE BELOW
"{\\b l}" : "ḻ", // LATIN SMALL LETTER L WITH LINE BELOW
"{\\'M}" : "Ḿ", // LATIN CAPITAL LETTER M WITH ACUTE
"{\\'m}" : "ḿ", // LATIN SMALL LETTER M WITH ACUTE
"{\\.M}" : "Ṁ", // LATIN CAPITAL LETTER M WITH DOT ABOVE
"{\\.m}" : "ṁ", // LATIN SMALL LETTER M WITH DOT ABOVE
"{\\d M}" : "Ṃ", // LATIN CAPITAL LETTER M WITH DOT BELOW
"{\\d m}" : "ṃ", // LATIN SMALL LETTER M WITH DOT BELOW
"{\\.N}" : "Ṅ", // LATIN CAPITAL LETTER N WITH DOT ABOVE
"{\\.n}" : "ṅ", // LATIN SMALL LETTER N WITH DOT ABOVE
"{\\d N}" : "Ṇ", // LATIN CAPITAL LETTER N WITH DOT BELOW
"{\\d n}" : "ṇ", // LATIN SMALL LETTER N WITH DOT BELOW
"{\\b N}" : "Ṉ", // LATIN CAPITAL LETTER N WITH LINE BELOW
"{\\b n}" : "ṉ", // LATIN SMALL LETTER N WITH LINE BELOW
"{\\'P}" : "Ṕ", // LATIN CAPITAL LETTER P WITH ACUTE
"{\\'p}" : "ṕ", // LATIN SMALL LETTER P WITH ACUTE
"{\\.P}" : "Ṗ", // LATIN CAPITAL LETTER P WITH DOT ABOVE
"{\\.p}" : "ṗ", // LATIN SMALL LETTER P WITH DOT ABOVE
"{\\.R}" : "Ṙ", // LATIN CAPITAL LETTER R WITH DOT ABOVE
"{\\.r}" : "ṙ", // LATIN SMALL LETTER R WITH DOT ABOVE
"{\\d R}" : "Ṛ", // LATIN CAPITAL LETTER R WITH DOT BELOW
"{\\d r}" : "ṛ", // LATIN SMALL LETTER R WITH DOT BELOW
"{\\b R}" : "Ṟ", // LATIN CAPITAL LETTER R WITH LINE BELOW
"{\\b r}" : "ṟ", // LATIN SMALL LETTER R WITH LINE BELOW
"{\\.S}" : "Ṡ", // LATIN CAPITAL LETTER S WITH DOT ABOVE
"{\\.s}" : "ṡ", // LATIN SMALL LETTER S WITH DOT ABOVE
"{\\d S}" : "Ṣ", // LATIN CAPITAL LETTER S WITH DOT BELOW
"{\\d s}" : "ṣ", // LATIN SMALL LETTER S WITH DOT BELOW
"{\\.T}" : "Ṫ", // LATIN CAPITAL LETTER T WITH DOT ABOVE
"{\\.t}" : "ṫ", // LATIN SMALL LETTER T WITH DOT ABOVE
"{\\d T}" : "Ṭ", // LATIN CAPITAL LETTER T WITH DOT BELOW
"{\\d t}" : "ṭ", // LATIN SMALL LETTER T WITH DOT BELOW
"{\\b T}" : "Ṯ", // LATIN CAPITAL LETTER T WITH LINE BELOW
"{\\b t}" : "ṯ", // LATIN SMALL LETTER T WITH LINE BELOW
"{\\~V}" : "Ṽ", // LATIN CAPITAL LETTER V WITH TILDE
"{\\~v}" : "ṽ", // LATIN SMALL LETTER V WITH TILDE
"{\\d V}" : "Ṿ", // LATIN CAPITAL LETTER V WITH DOT BELOW
"{\\d v}" : "ṿ", // LATIN SMALL LETTER V WITH DOT BELOW
"{\\`W}" : "Ẁ", // LATIN CAPITAL LETTER W WITH GRAVE
"{\\`w}" : "ẁ", // LATIN SMALL LETTER W WITH GRAVE
"{\\'W}" : "Ẃ", // LATIN CAPITAL LETTER W WITH ACUTE
"{\\'w}" : "ẃ", // LATIN SMALL LETTER W WITH ACUTE
"{\\\"W}" : "Ẅ", // LATIN CAPITAL LETTER W WITH DIAERESIS
"{\\\"w}" : "ẅ", // LATIN SMALL LETTER W WITH DIAERESIS
"{\\.W}" : "Ẇ", // LATIN CAPITAL LETTER W WITH DOT ABOVE
"{\\.w}" : "ẇ", // LATIN SMALL LETTER W WITH DOT ABOVE
"{\\d W}" : "Ẉ", // LATIN CAPITAL LETTER W WITH DOT BELOW
"{\\d w}" : "ẉ", // LATIN SMALL LETTER W WITH DOT BELOW
"{\\.X}" : "Ẋ", // LATIN CAPITAL LETTER X WITH DOT ABOVE
"{\\.x}" : "ẋ", // LATIN SMALL LETTER X WITH DOT ABOVE
"{\\\"X}" : "Ẍ", // LATIN CAPITAL LETTER X WITH DIAERESIS
"{\\\"x}" : "ẍ", // LATIN SMALL LETTER X WITH DIAERESIS
"{\\.Y}" : "Ẏ", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
"{\\.y}" : "ẏ", // LATIN SMALL LETTER Y WITH DOT ABOVE
"{\\^Z}" : "Ẑ", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
"{\\^z}" : "ẑ", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
"{\\d Z}" : "Ẓ", // LATIN CAPITAL LETTER Z WITH DOT BELOW
"{\\d z}" : "ẓ", // LATIN SMALL LETTER Z WITH DOT BELOW
"{\\b Z}" : "Ẕ", // LATIN CAPITAL LETTER Z WITH LINE BELOW
"{\\b z}" : "ẕ", // LATIN SMALL LETTER Z WITH LINE BELOW
"{\\b h}" : "ẖ", // LATIN SMALL LETTER H WITH LINE BELOW
"{\\\"t}" : "ẗ", // LATIN SMALL LETTER T WITH DIAERESIS
"{\\d A}" : "Ạ", // LATIN CAPITAL LETTER A WITH DOT BELOW
"{\\d a}" : "ạ", // LATIN SMALL LETTER A WITH DOT BELOW
"{\\d E}" : "Ẹ", // LATIN CAPITAL LETTER E WITH DOT BELOW
"{\\d e}" : "ẹ", // LATIN SMALL LETTER E WITH DOT BELOW
"{\\~E}" : "Ẽ", // LATIN CAPITAL LETTER E WITH TILDE
"{\\~e}" : "ẽ", // LATIN SMALL LETTER E WITH TILDE
"{\\d I}" : "Ị", // LATIN CAPITAL LETTER I WITH DOT BELOW
"{\\d i}" : "ị", // LATIN SMALL LETTER I WITH DOT BELOW
"{\\d O}" : "Ọ", // LATIN CAPITAL LETTER O WITH DOT BELOW
"{\\d o}" : "ọ", // LATIN SMALL LETTER O WITH DOT BELOW
"{\\d U}" : "Ụ", // LATIN CAPITAL LETTER U WITH DOT BELOW
"{\\d u}" : "ụ", // LATIN SMALL LETTER U WITH DOT BELOW
"{\\`Y}" : "Ỳ", // LATIN CAPITAL LETTER Y WITH GRAVE
"{\\`y}" : "ỳ", // LATIN SMALL LETTER Y WITH GRAVE
"{\\d Y}" : "Ỵ", // LATIN CAPITAL LETTER Y WITH DOT BELOW
"{\\d y}" : "ỵ", // LATIN SMALL LETTER Y WITH DOT BELOW
"{\\~Y}" : "Ỹ", // LATIN CAPITAL LETTER Y WITH TILDE
"{\\~y}" : "ỹ", // LATIN SMALL LETTER Y WITH TILDE
"{\\~}" : "∼", // TILDE OPERATOR
"~" : " " // NO-BREAK SPACE
};
var alwaysMap = {
"|":"{\\textbar}",
"<":"{\\textless}",
">":"{\\textgreater}",
"~":"{\\textasciitilde}",
"^":"{\\textasciicircum}",
"\\":"{\\textbackslash}"
};
var strings = {};
var keyRe = /[a-zA-Z0-9\-]/;
var keywordSplitOnSpace = true;
var keywordDelimRe = ',\\s*';
var keywordDelimReFlags = '';
function setKeywordSplitOnSpace( val ) {
keywordSplitOnSpace = val;
}
function setKeywordDelimRe( val, flags ) {
//expect string, but it could be RegExp
if(typeof(val) != 'string') {
keywordDelimRe = val.toString().slice(1, val.toString().lastIndexOf('/'));
keywordDelimReFlags = val.toString().slice(val.toString().lastIndexOf('/')+1);
} else {
keywordDelimRe = val;
keywordDelimReFlags = flags;
}
}
function processField(item, field, value) {
if(Zotero.Utilities.trim(value) == '') return null;
if(fieldMap[field]) {
item[fieldMap[field]] = value;
} else if(inputFieldMap[field]) {
item[inputFieldMap[field]] = value;
} else if(field == "journal") {
if(item.publicationTitle) {
item.journalAbbreviation = value;
} else {
item.publicationTitle = value;
}
} else if(field == "fjournal") {
if(item.publicationTitle) {
// move publicationTitle to abbreviation
item.journalAbbreviation = value;
}
item.publicationTitle = value;
} else if(field == "author" || field == "editor" || field == "translator") {
// parse authors/editors/translators
var names = value.split(/ and /i); // now case insensitive
for(var i in names) {
var name = names[i];
// skip empty names
if (name.trim() == '') {
continue;
}
// Names in BibTeX can have three commas
pieces = name.split(',');
var creator = {};
if (pieces.length > 1) {
creator.firstName = pieces.pop().trim();
creator.lastName = pieces.join(',').trim();
creator.creatorType = field;
} else {
creator = Zotero.Utilities.cleanAuthor(name, field, false);
}
item.creators.push(creator);
}
} else if(field == "institution" || field == "organization") {
item.backupPublisher = value;
} else if(field == "number"){ // fix for techreport
if (item.itemType == "report") {
item.reportNumber = value;
} else if (item.itemType == "book" || item.itemType == "bookSection") {
item.seriesNumber = value;
} else if (item.itemType == "patent"){
item.patentNumber = value;
} else {
item.issue = value;
}
} else if(field == "month") {
var monthIndex = months.indexOf(value.toLowerCase());
if(monthIndex != -1) {
value = Zotero.Utilities.formatDate({month:monthIndex});
} else {
value += " ";
}
if(item.date) {
if(value.indexOf(item.date) != -1) {
// value contains year and more
item.date = value;
} else {
item.date = value+item.date;
}
} else {
item.date = value;
}
} else if(field == "year") {
if(item.date) {
if(item.date.indexOf(value) == -1) {
// date does not already contain year
item.date += value;
}
} else {
item.date = value;
}
} else if(field == "pages") {
if (item.itemType == "book" || item.itemType == "thesis" || item.itemType == "manuscript") {
item.numPages = value;
}
else {
item.pages = value.replace(/--/g, "-");
}
} else if(field == "note") {
item.extra += "\n"+value;
} else if(field == "howpublished") {
if(value.length >= 7) {
var str = value.substr(0, 7);
if(str == "http://" || str == "https:/" || str == "mailto:") {
item.url = value;
} else {
item.extra += "\nPublished: "+value;
}
}
}
//accept lastchecked or urldate for access date. These should never both occur.
//If they do we don't know which is better so we might as well just take the second one
else if (field == "lastchecked"|| field == "urldate"){
item.accessDate = value;
}
else if(field == "keywords" || field == "keyword") {
var re = new RegExp(keywordDelimRe, keywordDelimReFlags);
if(!value.match(re) && keywordSplitOnSpace) {
// keywords/tags
item.tags = value.split(" ");
} else {
item.tags = value.split(re);
}
} else if (field == "comment" || field == "annote" || field == "review") {
item.notes.push({note:Zotero.Utilities.text2html(value)});
} else if (field == "pdf") {
item.attachments = [{path:value, mimeType:"application/pdf"}];
} else if (field == "sentelink") { // the reference manager 'Sente' has a unique file scheme in exported BibTeX
item.attachments = [{path:value.split(",")[0], mimeType:"application/pdf"}];
} else if (field == "file") {
var attachments = value.split(";");
for(var i in attachments){
var attachment = attachments[i];
var parts = attachment.split(":");
var filetitle = parts[0];
var filepath = parts[1];
if (filepath.trim() === '') continue; // skip empty entries
var filetype = parts[2];
if (filetitle.length == 0) {
filetitle = "Attachment";
}
if (filetype.match(/pdf/i)) {
item.attachments.push({path:filepath, mimeType:"application/pdf", title:filetitle});
} else {
item.attachments.push({path:filepath, title:filetitle});
}
}
}
}
function getFieldValue(read) {
var value = "";
// now, we have the first character of the field
if(read == "{") {
// character is a brace
var openBraces = 1;
while(read = Zotero.read(1)) {
if(read == "{" && value[value.length-1] != "\\") {
openBraces++;
value += "{";
} else if(read == "}" && value[value.length-1] != "\\") {
openBraces--;
if(openBraces == 0) {
break;
} else {
value += "}";
}
} else {
value += read;
}
}
} else if(read == '"') {
var openBraces = 0;
while(read = Zotero.read(1)) {
if(read == "{" && value[value.length-1] != "\\") {
openBraces++;
value += "{";
} else if(read == "}" && value[value.length-1] != "\\") {
openBraces--;
value += "}";
} else if(read == '"' && openBraces == 0) {
break;
} else {
value += read;
}
}
}
if(value.length > 1) {
// replace accented characters (yucky slow)
value = value.replace(/{?(\\[`"'^~=a-z]){?\\?([A-Za-z])}/g, "{$1$2}");
//convert tex markup into permitted HTML
value = mapTeXmarkup(value);
for (var mapped in reversemappingTable) { // really really slow!
var unicode = reversemappingTable[mapped];
while(value.indexOf(mapped) !== -1) {
Zotero.debug("Replace " + mapped + " in " + value + " with " + unicode);
value = value.replace(mapped, unicode);
}
mapped = mapped.replace(/[{}]/g, "");
while(value.indexOf(mapped) !== -1) {
//Z.debug(value)
Zotero.debug("Replace(2) " + mapped + " in " + value + " with " + unicode);
value = value.replace(mapped, unicode);
}
}
// kill braces
value = value.replace(/([^\\])[{}]+/g, "$1");
if(value[0] == "{") {
value = value.substr(1);
}
// chop off backslashes
value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
if(value[0] == "\\" && "#$%&~_^\\{}".indexOf(value[1]) != -1) {
value = value.substr(1);
}
if(value[value.length-1] == "\\" && "#$%&~_^\\{}".indexOf(value[value.length-2]) != -1) {
value = value.substr(0, value.length-1);
}
value = value.replace(/\\\\/g, "\\");
value = value.replace(/\s+/g, " ");
}
return value;
}
function beginRecord(type, closeChar) {
type = Zotero.Utilities.trimInternal(type.toLowerCase());
if(type != "string") {
var zoteroType = bibtex2zoteroTypeMap[type];
if (!zoteroType) {
Zotero.debug("discarded item from BibTeX; type was "+type);
return;
}
var item = new Zotero.Item(zoteroType);
item.extra = "";
}
var field = "";
// by setting dontRead to true, we can skip a read on the next iteration
// of this loop. this is useful after we read past the end of a string.
var dontRead = false;
while(dontRead || (read = Zotero.read(1))) {
dontRead = false;
if(read == "=") { // equals begin a field
// read whitespace
var read = Zotero.read(1);
while(" \n\r\t".indexOf(read) != -1) {
read = Zotero.read(1);
}
if(keyRe.test(read)) {
// read numeric data here, since we might get an end bracket
// that we should care about
value = "";
value += read;
// character is a number
while((read = Zotero.read(1)) && keyRe.test(read)) {
value += read;
}
// don't read the next char; instead, process the character
// we already read past the end of the string
dontRead = true;
// see if there's a defined string
if(strings[value]) value = strings[value];
} else {
var value = getFieldValue(read);
}
if(item) {
processField(item, field.toLowerCase(), value);
} else if(type == "string") {
strings[field] = value;
}
field = "";
} else if(read == ",") { // commas reset
field = "";
} else if(read == closeChar) {
if(item) {
if(item.extra) item.extra = item.extra.substr(1); // chop \n
item.complete();
}
return;
} else if(" \n\r\t".indexOf(read) == -1) { // skip whitespace
field += read;
}
}
}
function doImport() {
var read = "", text = "", recordCloseElement = false;
var type = false;
while(read = Zotero.read(1)) {
if(read == "@") {
type = "";
} else if(type !== false) {
if(type == "comment") {
type = false;
} else if(read == "{") { // possible open character
beginRecord(type, "}");
type = false;
} else if(read == "(") { // possible open character
beginRecord(type, ")");
type = false;
} else if(/[a-zA-Z0-9-_]/.test(read)) {
type += read;
}
}
}
}
// some fields are, in fact, macros. If that is the case then we should not put the
// data in the braces as it will cause the macros to not expand properly
function writeField(field, value, isMacro) {
if(!value && typeof value != "number") return;
value = value + ""; // convert integers to strings
Zotero.write(",\n\t"+field+" = ");
if(!isMacro) Zotero.write("{");
// url field is preserved, for use with \href and \url
// Other fields (DOI?) may need similar treatment
if(!((field == "url") || (field == "doi") | (field == "file"))) {
// I hope these are all the escape characters!
value = value.replace(/[|\<\>\~\^\\]/g, mapEscape).replace(/([\#\$\%\&\_])/g, "\\$1");
// Case of words with uppercase characters in non-initial positions is preserved with braces.
// treat hyphen as whitespace for this purpose so that Large-scale etc. don't get enclosed
// treat curly bracket as whitespace because of mark-up immediately preceding word
if(!isMacro&&field != "pages") value = value.replace(/([^\s-\}]+[A-Z][^\s,]*)/g, "{$1}");
//convert the HTML markup allowed in Zotero for rich text to TeX
value = mapHTMLmarkup(value);
}
if (Zotero.getOption("exportCharset") != "UTF-8") {
value = value.replace(/[€-￿]/g, mapAccent);
}
Zotero.write(value);
if(!isMacro) Zotero.write("}");
}
function mapHTMLmarkup(characters){
//converts the HTML markup allowed in Zotero for rich text to TeX
//since < and > have already been escaped, we need this rather hideous code - I couldn't see a way around it though.
//italics and bold
characters = characters.replace(/\{\\textless\}i\{\\textgreater\}(((?!\{\\textless\}\/i{\\textgreater\}).)+)\{\\textless\}\/i{\\textgreater\}/, "\\textit{$1}").replace(/\{\\textless\}b\{\\textgreater\}(((?!\{\\textless\}\/b{\\textgreater\}).)+)\{\\textless\}\/b{\\textgreater\}/g, "\\textbf{$1}");
//sub and superscript
characters = characters.replace(/\{\\textless\}sup\{\\textgreater\}(((?!\{\\textless\}\/sup\{\\textgreater\}).)+)\{\\textless\}\/sup{\\textgreater\}/g, "\$^{\\textrm{$1}}\$").replace(/\{\\textless\}sub\{\\textgreater\}(((?!\{\\textless\}\/sub\{\\textgreater\}).)+)\{\\textless\}\/sub\{\\textgreater\}/g, "\$_{\\textrm{$1}}\$");
//two variants of small caps
characters = characters.replace(/\{\\textless\}span\sstyle=\"small\-caps\"\{\\textgreater\}(((?!\{\\textless\}\/span\{\\textgreater\}).)+)\{\\textless\}\/span{\\textgreater\}/g, "\\textsc{$1}").replace(/\{\\textless\}sc\{\\textgreater\}(((?!\{\\textless\}\/sc\{\\textgreater\}).)+)\{\\textless\}\/sc\{\\textgreater\}/g, "\\textsc{$1}");
return characters;
}
function mapTeXmarkup(tex){
//reverse of the above - converts tex mark-up into html mark-up permitted by Zotero
//italics and bold
tex = tex.replace(/\\textit\{([^\}]+\})/g, "<i>$1</i>").replace(/\\textbf\{([^\}]+\})/g, "<b>$1</b>");
//two versions of subscript the .* after $ is necessary because people m
tex = tex.replace(/\$[^\{\$]*_\{([^\}]+\})\$/g, "<sub>$1</sub>").replace(/\$[^\{]*_\{\\textrm\{([^\}]+\}\})/g, "<sub>$1</sub>");
//two version of superscript
tex = tex.replace(/\$[^\{]*\^\{([^\}]+\}\$)/g, "<sup>$1</sup>").replace(/\$[^\{]*\^\{\\textrm\{([^\}]+\}\})/g, "<sup>$1</sup>");
//small caps
tex = tex.replace(/\\textsc\{([^\}]+)/g, "<span style=\"small-caps\">$1</span>");
return tex;
}
function mapEscape(character) {
return alwaysMap[character];
}
function mapAccent(character) {
return (mappingTable[character] ? mappingTable[character] : "?");
}
// a little substitution function for BibTeX keys, where we don't want LaTeX
// escaping, but we do want to preserve the base characters
function tidyAccents(s) {
var r=s.toLowerCase();
// XXX Remove conditional when we drop Zotero 2.1.x support
// This is supported in Zotero 3.0 and higher
if (ZU.removeDiacritics !== undefined)
r = ZU.removeDiacritics(r, true);
else {
// We fall back on the replacement list we used previously
r = r.replace(new RegExp("[ä]", 'g'),"ae");
r = r.replace(new RegExp("[ö]", 'g'),"oe");
r = r.replace(new RegExp("[ü]", 'g'),"ue");
r = r.replace(new RegExp("[àáâãå]", 'g'),"a");
r = r.replace(new RegExp("æ", 'g'),"ae");
r = r.replace(new RegExp("ç", 'g'),"c");
r = r.replace(new RegExp("[èéêë]", 'g'),"e");
r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
r = r.replace(new RegExp("ñ", 'g'),"n");
r = r.replace(new RegExp("[òóôõ]", 'g'),"o");
r = r.replace(new RegExp("œ", 'g'),"oe");
r = r.replace(new RegExp("[ùúû]", 'g'),"u");
r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
}
return r;
};
var numberRe = /^[0-9]+/;
// Below is a list of words that should not appear as part of the citation key
// in includes the indefinite articles of English, German, French and Spanish, as well as a small set of English prepositions whose
// force is more grammatical than lexical, i.e. which are likely to strike many as 'insignificant'.
// The assumption is that most who want a title word in their key would prefer the first word of significance.
var citeKeyTitleBannedRe = /\b(a|an|the|some|from|on|in|to|of|do|with|der|die|das|ein|eine|einer|eines|einem|einen|un|une|la|le|l\'|el|las|los|al|uno|una|unos|unas|de|des|del|d\')(\s+|\b)/g;
var citeKeyConversionsRe = /%([a-zA-Z])/;
var citeKeyCleanRe = /[^a-z0-9\!\$\&\*\+\-\.\/\:\;\<\>\?\[\]\^\_\`\|]+/g;
var citeKeyConversions = {
"a":function (flags, item) {
if(item.creators && item.creators[0] && item.creators[0].lastName) {
return item.creators[0].lastName.toLowerCase().replace(/ /g,"_").replace(/,/g,"");
}
return "";
},
"t":function (flags, item) {
if (item["title"]) {
return item["title"].toLowerCase().replace(citeKeyTitleBannedRe, "").split(/\s+/g)[0];
}
return "";
},
"y":function (flags, item) {
if(item.date) {
var date = Zotero.Utilities.strToDate(item.date);
if(date.year && numberRe.test(date.year)) {
return date.year;
}
}
return "????";
}
}
function buildCiteKey (item,citekeys) {
var basekey = "";
var counter = 0;
citeKeyFormatRemaining = citeKeyFormat;
while (citeKeyConversionsRe.test(citeKeyFormatRemaining)) {
if (counter > 100) {
Zotero.debug("Pathological BibTeX format: " + citeKeyFormat);
break;
}
var m = citeKeyFormatRemaining.match(citeKeyConversionsRe);
if (m.index > 0) {
//add data before the conversion match to basekey
basekey = basekey + citeKeyFormatRemaining.substr(0, m.index);
}
var flags = ""; // for now
var f = citeKeyConversions[m[1]];
if (typeof(f) == "function") {
var value = f(flags, item);
Zotero.debug("Got value " + value + " for %" + m[1]);
//add conversion to basekey
basekey = basekey + value;
}
citeKeyFormatRemaining = citeKeyFormatRemaining.substr(m.index + m.length);
counter++;
}
if (citeKeyFormatRemaining.length > 0) {
basekey = basekey + citeKeyFormatRemaining;
}
// for now, remove any characters not explicitly known to be allowed;
// we might want to allow UTF-8 citation keys in the future, depending
// on implementation support.
//
// no matter what, we want to make sure we exclude
// " # % ' ( ) , = { } ~ and backslash
// however, we want to keep the base characters
basekey = tidyAccents(basekey);
basekey = basekey.replace(citeKeyCleanRe, "");
var citekey = basekey;
var i = 0;
while(citekeys[citekey]) {
i++;
citekey = basekey + "-" + i;
}
citekeys[citekey] = true;
return citekey;
}
function doExport() {
//Zotero.write("% BibTeX export generated by Zotero "+Zotero.Utilities.getVersion());
// to make sure the BOM gets ignored
Zotero.write("\n");
var first = true;
var citekeys = new Object();
var item;
while(item = Zotero.nextItem()) {
//don't export standalone notes and attachments
if(item.itemType == "note" || item.itemType == "attachment") continue;
// determine type
var type = zotero2bibtexTypeMap[item.itemType];
if (typeof(type) == "function") { type = type(item); }
if(!type) type = "misc";
// create a unique citation key
var citekey = buildCiteKey(item, citekeys);
// write citation key
Zotero.write((first ? "" : ",\n\n") + "@"+type+"{"+citekey);
first = false;
for(var field in fieldMap) {
if(item[fieldMap[field]]) {
writeField(field, item[fieldMap[field]]);
}
}
if(item.reportNumber || item.issue || item.seriesNumber || item.patentNumber) {
writeField("number", item.reportNumber || item.issue || item.seriesNumber|| item.patentNumber);
}
if (item.accessDate){
var accessYMD = item.accessDate.replace(/\s*\d+:\d+:\d+/, "");
writeField("urldate", accessYMD);
}
if(item.publicationTitle) {
if(item.itemType == "bookSection" || item.itemType == "conferencePaper") {
writeField("booktitle", item.publicationTitle);
} else {
writeField("journal", item.publicationTitle);
}
}
if(item.publisher) {
if(item.itemType == "thesis") {
writeField("school", item.publisher);
} else if(item.itemType =="report") {
writeField("institution", item.publisher);
} else {
writeField("publisher", item.publisher);
}
}
if(item.creators && item.creators.length) {
// split creators into subcategories
var author = "";
var editor = "";
var translator = "";
for(var i in item.creators) {
var creator = item.creators[i];
var creatorString = creator.lastName;
if (creator.firstName) {
creatorString = creator.lastName + ", " + creator.firstName;
} else if (creator.fieldMode == true) { // fieldMode true, assume corporate author
creatorString = "{" + creator.lastName + "}";
}
if (creator.creatorType == "editor" || creator.creatorType == "seriesEditor") {
editor += " and "+creatorString;
} else if (creator.creatorType == "translator") {
translator += " and "+creatorString;
} else {
author += " and "+creatorString;
}
}
if(author) {
writeField("author", author.substr(5));
}
if(editor) {
writeField("editor", editor.substr(5));
}
if(translator) {
writeField("translator", translator.substr(5));
}
}
if(item.date) {
var date = Zotero.Utilities.strToDate(item.date);
// need to use non-localized abbreviation
if(typeof date.month == "number") {
writeField("month", months[date.month], true);
}
if(date.year) {
writeField("year", date.year);
}
}
if(item.extra) {
writeField("note", item.extra);
}
if(item.tags && item.tags.length) {
var tagString = "";
for(var i in item.tags) {
var tag = item.tags[i];
tagString += ", "+tag.tag;
}
writeField("keywords", tagString.substr(2));
}
if(item.pages) {
writeField("pages", item.pages.replace("-","--"));
}
// Commented out, because we don't want a books number of pages in the BibTeX "pages" field for books.
//if(item.numPages) {
// writeField("pages", item.numPages);
//}
if(item.itemType == "webpage") {
writeField("howpublished", item.url);
}
if (item.notes && Zotero.getOption("exportNotes")) {
for(var i in item.notes) {
var note = item.notes[i];
writeField("annote", Zotero.Utilities.unescapeHTML(note["note"]));
}
}
if(item.attachments) {
var attachmentString = "";
for(var i in item.attachments) {
var attachment = item.attachments[i];
if(Zotero.getOption("exportFileData") && attachment.saveFile) {
attachment.saveFile(attachment.defaultPath, true);
attachmentString += ";" + attachment.title + ":" + attachment.defaultPath + ":" + attachment.mimeType;
} else if(attachment.localPath) {
attachmentString += ";" + attachment.title + ":" + attachment.localPath + ":" + attachment.mimeType;
}
}
if(attachmentString) {
writeField("file", attachmentString.substr(1));
}
}
Zotero.write("\n}");
}
}
var exports = {
"doExport": doExport,
"doImport": doImport,
"setKeywordDelimRe": setKeywordDelimRe,
"setKeywordSplitOnSpace": setKeywordSplitOnSpace
}
/** BEGIN TEST CASES **/
var testCases = [
{
"type": "import",
"input": "@article{Adams2001,\nauthor = {Adams, Nancy K and DeSilva, Shanaka L and Self, Steven and Salas, Guido and Schubring, Steven and Permenter, Jason L and Arbesman, Kendra},\nfile = {:Users/heatherwright/Documents/Scientific Papers/Adams\\_Huaynaputina.pdf:pdf;::},\njournal = {Bulletin of Volcanology},\nkeywords = {Vulcanian eruptions,breadcrust,plinian},\npages = {493--518},\ntitle = {{The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru}},\nvolume = {62},\nyear = {2001}\n}",
"items": [
{
"itemType": "journalArticle",
"creators": [
{
"firstName": "Nancy K",
"lastName": "Adams",
"creatorType": "author"
},
{
"firstName": "Shanaka L",
"lastName": "DeSilva",
"creatorType": "author"
},
{
"firstName": "Steven",
"lastName": "Self",
"creatorType": "author"
},
{
"firstName": "Guido",
"lastName": "Salas",
"creatorType": "author"
},
{
"firstName": "Steven",
"lastName": "Schubring",
"creatorType": "author"
},
{
"firstName": "Jason L",
"lastName": "Permenter",
"creatorType": "author"
},
{
"firstName": "Kendra",
"lastName": "Arbesman",
"creatorType": "author"
}
],
"notes": [],
"tags": [
"Vulcanian eruptions",
"breadcrust",
"plinian"
],
"seeAlso": [],
"attachments": [
{
"path": "Users/heatherwright/Documents/Scientific Papers/Adams_Huaynaputina.pdf",
"mimeType": "application/pdf",
"title": "Attachment"
}
],
"publicationTitle": "Bulletin of Volcanology",
"pages": "493–518",
"title": "The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru",
"volume": "62",
"date": "2001"
}
]
},
{
"type": "import",
"input": "@Book{abramowitz+stegun,\n author = \"Milton {Abramowitz} and Irene A. {Stegun}\",\n title = \"Handbook of Mathematical Functions with\n Formulas, Graphs, and Mathematical Tables\",\n publisher = \"Dover\",\n year = 1964,\n address = \"New York\",\n edition = \"ninth Dover printing, tenth GPO printing\"\n}\n\n@Book{Torre2008,\n author = \"Joe Torre and Tom Verducci\",\n publisher = \"Doubleday\",\n title = \"The Yankee Years\",\n year = 2008,\n isbn = \"0385527403\"\n}\n",
"items": [
{
"itemType": "book",
"creators": [
{
"firstName": "Milton",
"lastName": "Abramowitz",
"creatorType": "author"
},
{
"firstName": "Irene A.",
"lastName": "Stegun",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables",
"publisher": "Dover",
"date": "1964",
"place": "New York",
"edition": "ninth Dover printing, tenth GPO printing"
},
{
"itemType": "book",
"creators": [
{
"firstName": "Joe",
"lastName": "Torre",
"creatorType": "author"
},
{
"firstName": "Tom",
"lastName": "Verducci",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"publisher": "Doubleday",
"title": "The Yankee Years",
"date": "2008",
"ISBN": "0385527403"
}
]
},
{
"type": "import",
"input": "@INPROCEEDINGS {author:06,\n title = {Some publication title},\n author = {First Author and Second Author},\n crossref = {conference:06},\n pages = {330—331},\n}\n@PROCEEDINGS {conference:06,\n editor = {First Editor and Second Editor},\n title = {Proceedings of the Xth Conference on XYZ},\n booktitle = {Proceedings of the Xth Conference on XYZ},\n year = {2006},\n month = oct,\n}",
"items": [
{
"itemType": "conferencePaper",
"creators": [
{
"firstName": "First",
"lastName": "Author",
"creatorType": "author"
},
{
"firstName": "Second",
"lastName": "Author",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "Some publication title",
"pages": "330—331"
},
{
"itemType": "book",
"creators": [
{
"firstName": "First",
"lastName": "Editor",
"creatorType": "editor"
},
{
"firstName": "Second",
"lastName": "Editor",
"creatorType": "editor"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "Proceedings of the Xth Conference on XYZ",
"publicationTitle": "Proceedings of the Xth Conference on XYZ",
"date": "October 2006"
}
]
},
{
"type": "import",
"input": "@Book{hicks2001,\n author = \"von Hicks, III, Michael\",\n title = \"Design of a Carbon Fiber Composite Grid Structure for the GLAST\n Spacecraft Using a Novel Manufacturing Technique\",\n publisher = \"Stanford Press\",\n year = 2001,\n address = \"Palo Alto\",\n edition = \"1st,\",\n isbn = \"0-69-697269-4\"\n}",
"items": [
{
"itemType": "book",
"creators": [
{
"firstName": "Michael",
"lastName": "von Hicks, III",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "Design of a Carbon Fiber Composite Grid Structure for the GLAST Spacecraft Using a Novel Manufacturing Technique",
"publisher": "Stanford Press",
"date": "2001",
"place": "Palo Alto",
"edition": "1st,",
"ISBN": "0-69-697269-4"
}
]
},
{
"type": "import",
"input": "@article{Oliveira_2009, title={USGS monitoring ecological impacts}, volume={107}, number={29}, journal={Oil & Gas Journal}, author={Oliveira, A}, year={2009}, pages={29}}",
"items": [
{
"itemType": "journalArticle",
"creators": [
{
"firstName": "A",
"lastName": "Oliveira",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "USGS monitoring ecological impacts",
"volume": "107",
"issue": "29",
"publicationTitle": "Oil & Gas Journal",
"date": "2009",
"pages": "29"
}
]
},
{
"type": "import",
"input": "@article{test-ticket1661,\ntitle={non-braking space: ~; accented characters: {\\~n} and \\~{n}; tilde operator: \\~},\n} ",
"items": [
{
"itemType": "journalArticle",
"creators": [],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "non-braking space: ; accented characters: ñ and ñ; tilde operator: ∼"
}
]
},
{
"type": "import",
"input": "@ARTICLE{Frit2,\n author = {Fritz, U. and Corti, C. and P\\\"{a}ckert, M.},\n title = {Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA$_{\\textrm{2}}$ sequences suggest unexpected phylogenetic position\n of Corso-Sardinian grass snakes (\\textit{Natrix cetti}) and \\textbf{do not}\n support their \\textsc{species status}, with notes on phylogeography and subspecies\n delineation of grass snakes.},\n journal = {Actes du $4^{\\textrm{ème}}$ Congrès Français d'Acoustique},\n year = {2012},\n volume = {12},\n pages = {71-80},\n doi = {10.1007/s13127-011-0069-8}\n}\n",
"items": [
{
"itemType": "journalArticle",
"creators": [
{
"firstName": "U.",
"lastName": "Fritz",
"creatorType": "author"
},
{
"firstName": "C.",
"lastName": "Corti",
"creatorType": "author"
},
{
"firstName": "M.",
"lastName": "Päckert",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA<sub>2</sub>$ sequences suggest unexpected phylogenetic position of Corso-Sardinian grass snakes (<i>Natrix cetti</i>) and <b>do not</b> support their <span style=\"small-caps\">species status</span>, with notes on phylogeography and subspecies delineation of grass snakes.",
"publicationTitle": "Actes du <sup>ème</sup>$ Congrès Français d'Acoustique",
"date": "2012",
"volume": "12",
"pages": "71-80",
"DOI": "10.1007/s13127-011-0069-8"
}
]
},
{
"type": "import",
"input": "@misc{american_rights_at_work_public_2012,\n title = {Public Service Research Foundation},\n\turl = {http://www.americanrightsatwork.org/blogcategory-275/},\n\turldate = {2012-07-27},\n\tauthor = {American Rights at Work},\n\tyear = {2012},\n\thowpublished = {http://www.americanrightsatwork.org/blogcategory-275/},\n}",
"items": [
{
"itemType": "book",
"creators": [
{
"firstName": "American Rights at",
"lastName": "Work",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"seeAlso": [],
"attachments": [],
"title": "Public Service Research Foundation",
"url": "http://www.americanrightsatwork.org/blogcategory-275/",
"accessDate": "2012-07-27",
"date": "2012"
}
]
}
]
/** END TEST CASES **/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment