app/modules/utils/bibtex.js
const from_bibtex = {
'\\url': '',
'\\href': '',
'{\\textexclamdown}': '\u00A1',
'{\\textcent}': '\u00A2',
'{\\textsterling}': '\u00A3',
'{\\textyen}': '\u00A5',
'{\\textbrokenbar}': '\u00A6',
'{\\textsection}': '\u00A7',
'{\\textasciidieresis}': '\u00A8',
'{\\textcopyright}': '\u00A9',
'{\\textordfeminine}': '\u00AA',
'{\\guillemotleft}': '\u00AB',
'{\\textlnot}': '\u00AC',
'{\\textregistered}': '\u00AE',
'{\\textasciimacron}': '\u00AF',
'{\\textdegree}': '\u00B0',
'{\\textpm}': '\u00B1',
'{\\texttwosuperior}': '\u00B2',
'{\\textthreesuperior}': '\u00B3',
'{\\textasciiacute}': '\u00B4',
'{\\textmu}': '\u00B5',
'{\\textparagraph}': '\u00B6',
'{\\textperiodcentered}': '\u00B7',
'{\\c\\ }': '\u00B8',
'{\\textonesuperior}': '\u00B9',
'{\\textordmasculine}': '\u00BA',
'{\\guillemotright}': '\u00BB',
'{\\textonequarter}': '\u00BC',
'{\\textonehalf}': '\u00BD',
'{\\textthreequarters}': '\u00BE',
'{\\textquestiondown}': '\u00BF',
'{\\AE}': '\u00C6',
'{\\DH}': '\u00D0',
'{\\texttimes}': '\u00D7',
'{\\O}': '\u00D8',
'{\\TH}': '\u00DE',
'{\\ss}': '\u00DF',
'{\\ae}': '\u00E6',
'{\\dh}': '\u00F0',
'{\\textdiv}': '\u00F7',
'{\\o}': '\u00F8',
'{\\th}': '\u00FE',
'{\\i}': '\u0131',
'{\\NG}': '\u014A',
'{\\ng}': '\u014B',
'{\\OE}': '\u0152',
'{\\oe}': '\u0153',
'{\\textasciicircum}': '\u02C6',
'{\\textacutedbl}': '\u02DD',
'$\\Gamma$': '\u0393',
'$\\Delta$': '\u0394',
'$\\Theta$': '\u0398',
'$\\Lambda$': '\u039B',
'$\\Xi$': '\u039E',
'$\\Pi$': '\u03A0',
'$\\Sigma$': '\u03A3',
'$\\Phi$': '\u03A6',
'$\\Psi$': '\u03A8',
'$\\Omega$': '\u03A9',
'$\\alpha$': '\u03B1',
'$\\beta$': '\u03B2',
'$\\gamma$': '\u03B3',
'$\\delta$': '\u03B4',
'$\\varepsilon$': '\u03B5',
'$\\zeta$': '\u03B6',
'$\\eta$': '\u03B7',
'$\\theta$': '\u03B8',
'$\\iota$': '\u03B9',
'$\\kappa$': '\u03BA',
'$\\lambda$': '\u03BB',
'$\\mu$': '\u03BC',
'$\\nu$': '\u03BD',
'$\\xi$': '\u03BE',
'$\\pi$': '\u03C0',
'$\\rho$': '\u03C1',
'$\\varsigma$': '\u03C2',
'$\\sigma$': '\u03C3',
'$\\tau$': '\u03C4',
'$\\upsilon$': '\u03C5',
'$\\varphi$': '\u03C6',
'$\\chi$': '\u03C7',
'$\\psi$': '\u03C8',
'$\\omega$': '\u03C9',
'$\\vartheta$': '\u03D1',
'$\\Upsilon$': '\u03D2',
'$\\phi$': '\u03D5',
'$\\varpi$': '\u03D6',
'$\\varrho$': '\u03F1',
'$\\epsilon$': '\u03F5',
'{\\textendash}': '\u2013',
'{\\textemdash}': '\u2014',
'---': '\u2014',
'--': '\u2013',
'{\\textbardbl}': '\u2016',
'{\\textunderscore}': '\u2017',
'{\\textquoteleft}': '\u2018',
'{\\textquoteright}': '\u2019',
'{\\quotesinglbase}': '\u201A',
'{\\textquotedblleft}': '\u201C',
'{\\textquotedblright}': '\u201D',
'{\\quotedblbase}': '\u201E',
'{\\textdagger}': '\u2020',
'{\\textdaggerdbl}': '\u2021',
'{\\textbullet}': '\u2022',
'{\\textellipsis}': '\u2026',
'{\\textperthousand}': '\u2030',
"'''": '\u2034',
"''": '\u201D',
'``': '\u201C',
'```': '\u2037',
'{\\guilsinglleft}': '\u2039',
'{\\guilsinglright}': '\u203A',
'!!': '\u203C',
'{\\textfractionsolidus}': '\u2044',
'?!': '\u2048',
'!?': '\u2049',
'$^{0}$': '\u2070',
'$^{4}$': '\u2074',
'$^{5}$': '\u2075',
'$^{6}$': '\u2076',
'$^{7}$': '\u2077',
'$^{8}$': '\u2078',
'$^{9}$': '\u2079',
'$^{+}$': '\u207A',
'$^{-}$': '\u207B',
'$^{=}$': '\u207C',
'$^{(}$': '\u207D',
'$^{)}$': '\u207E',
'$^{n}$': '\u207F',
'$_{0}$': '\u2080',
'$_{1}$': '\u2081',
'$_{2}$': '\u2082',
'$_{3}$': '\u2083',
'$_{4}$': '\u2084',
'$_{5}$': '\u2085',
'$_{6}$': '\u2086',
'$_{7}$': '\u2087',
'$_{8}$': '\u2088',
'$_{9}$': '\u2089',
'$_{+}$': '\u208A',
'$_{-}$': '\u208B',
'$_{=}$': '\u208C',
'$_{(}$': '\u208D',
'$_{)}$': '\u208E',
'{\\texteuro}': '\u20AC',
'{\\textcelsius}': '\u2103',
'{\\textnumero}': '\u2116',
'{\\textcircledP}': '\u2117',
'{\\textservicemark}': '\u2120',
'{TEL}': '\u2121',
'{\\texttrademark}': '\u2122',
'{\\textohm}': '\u2126',
'{\\textestimated}': '\u212E',
'{\\`A}': '\u00C0',
"{\\'A}": '\u00C1',
'{\\^A}': '\u00C2',
'{\\~A}': '\u00C3',
'{\\"A}': '\u00C4',
'{\\r A}': '\u00C5',
'{\\c C}': '\u00C7',
'{\\`E}': '\u00C8',
"{\\'E}": '\u00C9',
'{\\^E}': '\u00CA',
'{\\"E}': '\u00CB',
'{\\`I}': '\u00CC',
"{\\'I}": '\u00CD',
'{\\^I}': '\u00CE',
'{\\"I}': '\u00CF',
'{\\~N}': '\u00D1',
'{\\`O}': '\u00D2',
"{\\'O}": '\u00D3',
'{\\^O}': '\u00D4',
'{\\~O}': '\u00D5',
'{\\"O}': '\u00D6',
'{\\`U}': '\u00D9',
"{\\'U}": '\u00DA',
'{\\^U}': '\u00DB',
'{\\"U}': '\u00DC',
"{\\'Y}": '\u00DD',
'{\\`a}': '\u00E0',
"{\\'a}": '\u00E1',
'{\\^a}': '\u00E2',
'{\\~a}': '\u00E3',
'{\\"a}': '\u00E4',
'{\\r a}': '\u00E5',
'{\\c c}': '\u00E7',
'{\\`e}': '\u00E8',
"{\\'e}": '\u00E9',
'{\\^e}': '\u00EA',
'{\\"e}': '\u00EB',
'{\\`i}': '\u00EC',
"{\\'i}": '\u00ED',
'{\\^i}': '\u00EE',
'{\\"i}': '\u00EF',
'{\\~n}': '\u00F1',
'{\\`o}': '\u00F2',
"{\\'o}": '\u00F3',
'{\\^o}': '\u00F4',
'{\\~o}': '\u00F5',
'{\\"o}': '\u00F6',
'{\\`u}': '\u00F9',
"{\\'u}": '\u00FA',
'{\\^u}': '\u00FB',
'{\\"u}': '\u00FC',
"{\\'y}": '\u00FD',
'{\\"y}': '\u00FF',
'{\\=A}': '\u0100',
'{\\=a}': '\u0101',
'{\\u A}': '\u0102',
'{\\u a}': '\u0103',
'{\\k A}': '\u0104',
'{\\k a}': '\u0105',
"{\\'C}": '\u0106',
"{\\'c}": '\u0107',
'{\\^C}': '\u0108',
'{\\^c}': '\u0109',
'{\\.C}': '\u010A',
'{\\.c}': '\u010B',
'{\\v C}': '\u010C',
'{\\v c}': '\u010D',
'{\\v D}': '\u010E',
'{\\v d}': '\u010F',
'{\\=E}': '\u0112',
'{\\=e}': '\u0113',
'{\\u E}': '\u0114',
'{\\u e}': '\u0115',
'{\\.E}': '\u0116',
'{\\.e}': '\u0117',
'{\\k E}': '\u0118',
'{\\k e}': '\u0119',
'{\\v E}': '\u011A',
'{\\v e}': '\u011B',
'{\\^G}': '\u011C',
'{\\^g}': '\u011D',
'{\\u G}': '\u011E',
'{\\u g}': '\u011F',
'{\\.G}': '\u0120',
'{\\.g}': '\u0121',
'{\\c G}': '\u0122',
'{\\c g}': '\u0123',
'{\\^H}': '\u0124',
'{\\^h}': '\u0125',
'{\\~I}': '\u0128',
'{\\~i}': '\u0129',
'{\\=I}': '\u012A',
'{\\=i}': '\u012B',
'{\\=\\i}': '\u012B',
'{\\u I}': '\u012C',
'{\\u i}': '\u012D',
'{\\k I}': '\u012E',
'{\\k i}': '\u012F',
'{\\.I}': '\u0130',
'{\\^J}': '\u0134',
'{\\^j}': '\u0135',
'{\\c K}': '\u0136',
'{\\c k}': '\u0137',
"{\\'L}": '\u0139',
"{\\'l}": '\u013A',
'{\\c L}': '\u013B',
'{\\c l}': '\u013C',
'{\\v L}': '\u013D',
'{\\v l}': '\u013E',
'{\\L }': '\u0141',
'{\\l }': '\u0142',
"{\\'N}": '\u0143',
"{\\'n}": '\u0144',
'{\\c N}': '\u0145',
'{\\c n}': '\u0146',
'{\\v N}': '\u0147',
'{\\v n}': '\u0148',
'{\\=O}': '\u014C',
'{\\=o}': '\u014D',
'{\\u O}': '\u014E',
'{\\u o}': '\u014F',
'{\\H O}': '\u0150',
'{\\H o}': '\u0151',
"{\\'R}": '\u0154',
"{\\'r}": '\u0155',
'{\\c R}': '\u0156',
'{\\c r}': '\u0157',
'{\\v R}': '\u0158',
'{\\v r}': '\u0159',
"{\\'S}": '\u015A',
"{\\'s}": '\u015B',
'{\\^S}': '\u015C',
'{\\^s}': '\u015D',
'{\\c S}': '\u015E',
'{\\c s}': '\u015F',
'{\\v S}': '\u0160',
'{\\v s}': '\u0161',
'{\\c T}': '\u0162',
'{\\c t}': '\u0163',
'{\\v T}': '\u0164',
'{\\v t}': '\u0165',
'{\\~U}': '\u0168',
'{\\~u}': '\u0169',
'{\\=U}': '\u016A',
'{\\=u}': '\u016B',
'{\\u U}': '\u016C',
'{\\u u}': '\u016D',
'{\\r U}': '\u016E',
'{\\r u}': '\u016F',
'{\\H U}': '\u0170',
'{\\H u}': '\u0171',
'{\\k U}': '\u0172',
'{\\k u}': '\u0173',
'{\\^W}': '\u0174',
'{\\^w}': '\u0175',
'{\\^Y}': '\u0176',
'{\\^y}': '\u0177',
'{\\"Y}': '\u0178',
"{\\'Z}": '\u0179',
"{\\'z}": '\u017A',
'{\\.Z}': '\u017B',
'{\\.z}': '\u017C',
'{\\v Z}': '\u017D',
'{\\v z}': '\u017E',
'{\\v A}': '\u01CD',
'{\\v a}': '\u01CE',
'{\\v I}': '\u01CF',
'{\\v i}': '\u01D0',
'{\\v O}': '\u01D1',
'{\\v o}': '\u01D2',
'{\\v U}': '\u01D3',
'{\\v u}': '\u01D4',
'{\\v G}': '\u01E6',
'{\\v g}': '\u01E7',
'{\\v K}': '\u01E8',
'{\\v k}': '\u01E9',
'{\\k O}': '\u01EA',
'{\\k o}': '\u01EB',
'{\\v j}': '\u01F0',
"{\\'G}": '\u01F4',
"{\\'g}": '\u01F5',
'{\\.B}': '\u1E02',
'{\\.b}': '\u1E03',
'{\\d B}': '\u1E04',
'{\\d b}': '\u1E05',
'{\\b B}': '\u1E06',
'{\\b b}': '\u1E07',
'{\\.D}': '\u1E0A',
'{\\.d}': '\u1E0B',
'{\\d D}': '\u1E0C',
'{\\d d}': '\u1E0D',
'{\\b D}': '\u1E0E',
'{\\b d}': '\u1E0F',
'{\\c D}': '\u1E10',
'{\\c d}': '\u1E11',
'{\\.F}': '\u1E1E',
'{\\.f}': '\u1E1F',
'{\\=G}': '\u1E20',
'{\\=g}': '\u1E21',
'{\\.H}': '\u1E22',
'{\\.h}': '\u1E23',
'{\\d H}': '\u1E24',
'{\\d h}': '\u1E25',
'{\\"H}': '\u1E26',
'{\\"h}': '\u1E27',
'{\\c H}': '\u1E28',
'{\\c h}': '\u1E29',
"{\\'K}": '\u1E30',
"{\\'k}": '\u1E31',
'{\\d K}': '\u1E32',
'{\\d k}': '\u1E33',
'{\\b K}': '\u1E34',
'{\\b k}': '\u1E35',
'{\\d L}': '\u1E36',
'{\\d l}': '\u1E37',
'{\\b L}': '\u1E3A',
'{\\b l}': '\u1E3B',
"{\\'M}": '\u1E3E',
"{\\'m}": '\u1E3F',
'{\\.M}': '\u1E40',
'{\\.m}': '\u1E41',
'{\\d M}': '\u1E42',
'{\\d m}': '\u1E43',
'{\\.N}': '\u1E44',
'{\\.n}': '\u1E45',
'{\\d N}': '\u1E46',
'{\\d n}': '\u1E47',
'{\\b N}': '\u1E48',
'{\\b n}': '\u1E49',
"{\\'P}": '\u1E54',
"{\\'p}": '\u1E55',
'{\\.P}': '\u1E56',
'{\\.p}': '\u1E57',
'{\\.R}': '\u1E58',
'{\\.r}': '\u1E59',
'{\\d R}': '\u1E5A',
'{\\d r}': '\u1E5B',
'{\\b R}': '\u1E5E',
'{\\b r}': '\u1E5F',
'{\\.S}': '\u1E60',
'{\\.s}': '\u1E61',
'{\\d S}': '\u1E62',
'{\\d s}': '\u1E63',
'{\\.T}': '\u1E6A',
'{\\.t}': '\u1E6B',
'{\\d T}': '\u1E6C',
'{\\d t}': '\u1E6D',
'{\\b T}': '\u1E6E',
'{\\b t}': '\u1E6F',
'{\\~V}': '\u1E7C',
'{\\~v}': '\u1E7D',
'{\\d V}': '\u1E7E',
'{\\d v}': '\u1E7F',
'{\\`W}': '\u1E80',
'{\\`w}': '\u1E81',
"{\\'W}": '\u1E82',
"{\\'w}": '\u1E83',
'{\\"W}': '\u1E84',
'{\\"w}': '\u1E85',
'{\\.W}': '\u1E86',
'{\\.w}': '\u1E87',
'{\\d W}': '\u1E88',
'{\\d w}': '\u1E89',
'{\\.X}': '\u1E8A',
'{\\.x}': '\u1E8B',
'{\\"X}': '\u1E8C',
'{\\"x}': '\u1E8D',
'{\\.Y}': '\u1E8E',
'{\\.y}': '\u1E8F',
'{\\^Z}': '\u1E90',
'{\\^z}': '\u1E91',
'{\\d Z}': '\u1E92',
'{\\d z}': '\u1E93',
'{\\b Z}': '\u1E94',
'{\\b z}': '\u1E95',
'{\\b h}': '\u1E96',
'{\\"t}': '\u1E97',
'{\\r w}': '\u1E98',
'{\\r y}': '\u1e99',
'{\\d A}': '\u1EA0',
'{\\d a}': '\u1EA1',
'{\\d E}': '\u1EB8',
'{\\d e}': '\u1EB9',
'{\\~E}': '\u1EBC',
'{\\~e}': '\u1EBD',
'{\\d I}': '\u1ECA',
'{\\d i}': '\u1ECB',
'{\\d O}': '\u1ECC',
'{\\d o}': '\u1ECD',
'{\\d U}': '\u1EE4',
'{\\d u}': '\u1EE5',
'{\\`Y}': '\u1EF2',
'{\\`y}': '\u1EF3',
'{\\d Y}': '\u1EF4',
'{\\d y}': '\u1EF5',
'{\\~Y}': '\u1EF8',
'{\\~y}': '\u1EF9',
'{\\~}': '\u223C',
'~': '\u00A0',
};
const to_bibtex = {
'\u00A1': '{\\textexclamdown}',
'\u00A2': '{\\textcent}',
'\u00A3': '{\\textsterling}',
'\u00A5': '{\\textyen}',
'\u00A6': '{\\textbrokenbar}',
'\u00A7': '{\\textsection}',
'\u00A8': '{\\textasciidieresis}',
'\u00A9': '{\\textcopyright}',
ª: '{\\textordfeminine}',
'\u00AB': '{\\guillemotleft}',
'\u00AC': '{\\textlnot}',
'\u00AE': '{\\textregistered}',
'\u00AF': '{\\textasciimacron}',
'\u00B0': '{\\textdegree}',
'\u00B1': '{\\textpm}',
'\u00B2': '{\\texttwosuperior}',
'\u00B3': '{\\textthreesuperior}',
'\u00B4': '{\\textasciiacute}',
µ: '{\\textmu}',
'\u00B6': '{\\textparagraph}',
'\u00B7': '{\\textperiodcentered}',
'\u00B8': '{\\c\\ }',
'\u00B9': '{\\textonesuperior}',
º: '{\\textordmasculine}',
'\u00BB': '{\\guillemotright}',
'\u00BC': '{\\textonequarter}',
'\u00BD': '{\\textonehalf}',
'\u00BE': '{\\textthreequarters}',
'\u00BF': '{\\textquestiondown}',
Æ: '{\\AE}',
Ð: '{\\DH}',
'\u00D7': '{\\texttimes}',
Ø: '{\\O}',
Þ: '{\\TH}',
ß: '{\\ss}',
æ: '{\\ae}',
ð: '{\\dh}',
'\u00F7': '{\\textdiv}',
ø: '{\\o}',
þ: '{\\th}',
ı: '{\\i}',
Ŋ: '{\\NG}',
ŋ: '{\\ng}',
Œ: '{\\OE}',
œ: '{\\oe}',
ˆ: '{\\textasciicircum}',
'\u02DD': '{\\textacutedbl}',
Γ: '$\\Gamma$',
Δ: '$\\Delta$',
Θ: '$\\Theta$',
Λ: '$\\Lambda$',
Ξ: '$\\Xi$',
Π: '$\\Pi$',
Σ: '$\\Sigma$',
Φ: '$\\Phi$',
Ψ: '$\\Psi$',
Ω: '$\\Omega$',
α: '$\\alpha$',
β: '$\\beta$',
γ: '$\\gamma$',
δ: '$\\delta$',
ε: '$\\varepsilon$',
ζ: '$\\zeta$',
η: '$\\eta$',
θ: '$\\theta$',
ι: '$\\iota$',
κ: '$\\kappa$',
λ: '$\\lambda$',
μ: '$\\mu$',
ν: '$\\nu$',
ξ: '$\\xi$',
π: '$\\pi$',
ρ: '$\\rho$',
ς: '$\\varsigma$',
σ: '$\\sigma$',
τ: '$\\tau$',
υ: '$\\upsilon$',
φ: '$\\varphi$',
χ: '$\\chi$',
ψ: '$\\psi$',
ω: '$\\omega$',
ϑ: '$\\vartheta$',
ϒ: '$\\Upsilon$',
ϕ: '$\\phi$',
ϖ: '$\\varpi$',
ϱ: '$\\varrho$',
ϵ: '$\\epsilon$',
'\u2013': '{\\textendash}',
'\u2014': '{\\textemdash}',
'\u2014': '---',
'\u2013': '--',
'\u2016': '{\\textbardbl}',
'\u2017': '{\\textunderscore}',
'\u2018': '{\\textquoteleft}',
'\u2019': '{\\textquoteright}',
'\u201A': '{\\quotesinglbase}',
'\u201C': '{\\textquotedblleft}',
'\u201D': '{\\textquotedblright}',
'\u201E': '{\\quotedblbase}',
'\u2020': '{\\textdagger}',
'\u2021': '{\\textdaggerdbl}',
'\u2022': '{\\textbullet}',
'\u2026': '{\\textellipsis}',
'\u2030': '{\\textperthousand}',
'\u2034': "'''",
'\u201D': "''",
'\u201C': '``',
'\u2037': '```',
'\u2039': '{\\guilsinglleft}',
'\u203A': '{\\guilsinglright}',
'\u203C': '!!',
'\u2044': '{\\textfractionsolidus}',
'\u2048': '?!',
'\u2049': '!?',
'\u2070': '$^{0}$',
'\u2074': '$^{4}$',
'\u2075': '$^{5}$',
'\u2076': '$^{6}$',
'\u2077': '$^{7}$',
'\u2078': '$^{8}$',
'\u2079': '$^{9}$',
'\u207A': '$^{+}$',
'\u207B': '$^{-}$',
'\u207C': '$^{=}$',
'\u207D': '$^{(}$',
'\u207E': '$^{)}$',
ⁿ: '$^{n}$',
'\u2080': '$_{0}$',
'\u2081': '$_{1}$',
'\u2082': '$_{2}$',
'\u2083': '$_{3}$',
'\u2084': '$_{4}$',
'\u2085': '$_{5}$',
'\u2086': '$_{6}$',
'\u2087': '$_{7}$',
'\u2088': '$_{8}$',
'\u2089': '$_{9}$',
'\u208A': '$_{+}$',
'\u208B': '$_{-}$',
'\u208C': '$_{=}$',
'\u208D': '$_{(}$',
'\u208E': '$_{)}$',
'\u20AC': '{\\texteuro}',
'\u2103': '{\\textcelsius}',
'\u2116': '{\\textnumero}',
'\u2117': '{\\textcircledP}',
'\u2120': '{\\textservicemark}',
'\u2121': '{TEL}',
'\u2122': '{\\texttrademark}',
Ω: '{\\textohm}',
℮: '{\\textestimated}',
À: '{\\`A}',
Á: "{\\'A}",
Â: '{\\^A}',
Ã: '{\\~A}',
Ä: '{\\"A}',
Å: '{\\r A}',
Ç: '{\\c C}',
È: '{\\`E}',
É: "{\\'E}",
Ê: '{\\^E}',
Ë: '{\\"E}',
Ì: '{\\`I}',
Í: "{\\'I}",
Î: '{\\^I}',
Ï: '{\\"I}',
Ñ: '{\\~N}',
Ò: '{\\`O}',
Ó: "{\\'O}",
Ô: '{\\^O}',
Õ: '{\\~O}',
Ö: '{\\"O}',
Ù: '{\\`U}',
Ú: "{\\'U}",
Û: '{\\^U}',
Ü: '{\\"U}',
Ý: "{\\'Y}",
à: '{\\`a}',
á: "{\\'a}",
â: '{\\^a}',
ã: '{\\~a}',
ä: '{\\"a}',
å: '{\\r a}',
ç: '{\\c c}',
è: '{\\`e}',
é: "{\\'e}",
ê: '{\\^e}',
ë: '{\\"e}',
ì: '{\\`i}',
í: "{\\'i}",
î: '{\\^i}',
ï: '{\\"i}',
ñ: '{\\~n}',
ò: '{\\`o}',
ó: "{\\'o}",
ô: '{\\^o}',
õ: '{\\~o}',
ö: '{\\"o}',
ù: '{\\`u}',
ú: "{\\'u}",
û: '{\\^u}',
ü: '{\\"u}',
ý: "{\\'y}",
ÿ: '{\\"y}',
Ā: '{\\=A}',
ā: '{\\=a}',
Ă: '{\\u A}',
ă: '{\\u a}',
Ą: '{\\k A}',
ą: '{\\k a}',
Ć: "{\\'C}",
ć: "{\\'c}",
Ĉ: '{\\^C}',
ĉ: '{\\^c}',
Ċ: '{\\.C}',
ċ: '{\\.c}',
Č: '{\\v C}',
č: '{\\v c}',
Ď: '{\\v D}',
ď: '{\\v d}',
Ē: '{\\=E}',
ē: '{\\=e}',
Ĕ: '{\\u E}',
ĕ: '{\\u e}',
Ė: '{\\.E}',
ė: '{\\.e}',
Ę: '{\\k E}',
ę: '{\\k e}',
Ě: '{\\v E}',
ě: '{\\v e}',
Ĝ: '{\\^G}',
ĝ: '{\\^g}',
Ğ: '{\\u G}',
ğ: '{\\u g}',
Ġ: '{\\.G}',
ġ: '{\\.g}',
Ģ: '{\\c G}',
ģ: '{\\c g}',
Ĥ: '{\\^H}',
ĥ: '{\\^h}',
Ĩ: '{\\~I}',
ĩ: '{\\~i}',
Ī: '{\\=I}',
ī: '{\\=i}',
ī: '{\\=\\i}',
Ĭ: '{\\u I}',
ĭ: '{\\u i}',
Į: '{\\k I}',
į: '{\\k i}',
İ: '{\\.I}',
Ĵ: '{\\^J}',
ĵ: '{\\^j}',
Ķ: '{\\c K}',
ķ: '{\\c k}',
Ĺ: "{\\'L}",
ĺ: "{\\'l}",
Ļ: '{\\c L}',
ļ: '{\\c l}',
Ľ: '{\\v L}',
ľ: '{\\v l}',
Ł: '{\\L }',
ł: '{\\l }',
Ń: "{\\'N}",
ń: "{\\'n}",
Ņ: '{\\c N}',
ņ: '{\\c n}',
Ň: '{\\v N}',
ň: '{\\v n}',
Ō: '{\\=O}',
ō: '{\\=o}',
Ŏ: '{\\u O}',
ŏ: '{\\u o}',
Ő: '{\\H O}',
ő: '{\\H o}',
Ŕ: "{\\'R}",
ŕ: "{\\'r}",
Ŗ: '{\\c R}',
ŗ: '{\\c r}',
Ř: '{\\v R}',
ř: '{\\v r}',
Ś: "{\\'S}",
ś: "{\\'s}",
Ŝ: '{\\^S}',
ŝ: '{\\^s}',
Ş: '{\\c S}',
ş: '{\\c s}',
Š: '{\\v S}',
š: '{\\v s}',
Ţ: '{\\c T}',
ţ: '{\\c t}',
Ť: '{\\v T}',
ť: '{\\v t}',
Ũ: '{\\~U}',
ũ: '{\\~u}',
Ū: '{\\=U}',
ū: '{\\=u}',
Ŭ: '{\\u U}',
ŭ: '{\\u u}',
Ů: '{\\r U}',
ů: '{\\r u}',
Ű: '{\\H U}',
ű: '{\\H u}',
Ų: '{\\k U}',
ų: '{\\k u}',
Ŵ: '{\\^W}',
ŵ: '{\\^w}',
Ŷ: '{\\^Y}',
ŷ: '{\\^y}',
Ÿ: '{\\"Y}',
Ź: "{\\'Z}",
ź: "{\\'z}",
Ż: '{\\.Z}',
ż: '{\\.z}',
Ž: '{\\v Z}',
ž: '{\\v z}',
Ǎ: '{\\v A}',
ǎ: '{\\v a}',
Ǐ: '{\\v I}',
ǐ: '{\\v i}',
Ǒ: '{\\v O}',
ǒ: '{\\v o}',
Ǔ: '{\\v U}',
ǔ: '{\\v u}',
Ǧ: '{\\v G}',
ǧ: '{\\v g}',
Ǩ: '{\\v K}',
ǩ: '{\\v k}',
Ǫ: '{\\k O}',
ǫ: '{\\k o}',
ǰ: '{\\v j}',
Ǵ: "{\\'G}",
ǵ: "{\\'g}",
Ḃ: '{\\.B}',
ḃ: '{\\.b}',
Ḅ: '{\\d B}',
ḅ: '{\\d b}',
Ḇ: '{\\b B}',
ḇ: '{\\b b}',
Ḋ: '{\\.D}',
ḋ: '{\\.d}',
Ḍ: '{\\d D}',
ḍ: '{\\d d}',
Ḏ: '{\\b D}',
ḏ: '{\\b d}',
Ḑ: '{\\c D}',
ḑ: '{\\c d}',
Ḟ: '{\\.F}',
ḟ: '{\\.f}',
Ḡ: '{\\=G}',
ḡ: '{\\=g}',
Ḣ: '{\\.H}',
ḣ: '{\\.h}',
Ḥ: '{\\d H}',
ḥ: '{\\d h}',
Ḧ: '{\\"H}',
ḧ: '{\\"h}',
Ḩ: '{\\c H}',
ḩ: '{\\c h}',
Ḱ: "{\\'K}",
ḱ: "{\\'k}",
Ḳ: '{\\d K}',
ḳ: '{\\d k}',
Ḵ: '{\\b K}',
ḵ: '{\\b k}',
Ḷ: '{\\d L}',
ḷ: '{\\d l}',
Ḻ: '{\\b L}',
ḻ: '{\\b l}',
Ḿ: "{\\'M}",
ḿ: "{\\'m}",
Ṁ: '{\\.M}',
ṁ: '{\\.m}',
Ṃ: '{\\d M}',
ṃ: '{\\d m}',
Ṅ: '{\\.N}',
ṅ: '{\\.n}',
Ṇ: '{\\d N}',
ṇ: '{\\d n}',
Ṉ: '{\\b N}',
ṉ: '{\\b n}',
Ṕ: "{\\'P}",
ṕ: "{\\'p}",
Ṗ: '{\\.P}',
ṗ: '{\\.p}',
Ṙ: '{\\.R}',
ṙ: '{\\.r}',
Ṛ: '{\\d R}',
ṛ: '{\\d r}',
Ṟ: '{\\b R}',
ṟ: '{\\b r}',
Ṡ: '{\\.S}',
ṡ: '{\\.s}',
Ṣ: '{\\d S}',
ṣ: '{\\d s}',
Ṫ: '{\\.T}',
ṫ: '{\\.t}',
Ṭ: '{\\d T}',
ṭ: '{\\d t}',
Ṯ: '{\\b T}',
ṯ: '{\\b t}',
Ṽ: '{\\~V}',
ṽ: '{\\~v}',
Ṿ: '{\\d V}',
ṿ: '{\\d v}',
Ẁ: '{\\`W}',
ẁ: '{\\`w}',
Ẃ: "{\\'W}",
ẃ: "{\\'w}",
Ẅ: '{\\"W}',
ẅ: '{\\"w}',
Ẇ: '{\\.W}',
ẇ: '{\\.w}',
Ẉ: '{\\d W}',
ẉ: '{\\d w}',
Ẋ: '{\\.X}',
ẋ: '{\\.x}',
Ẍ: '{\\"X}',
ẍ: '{\\"x}',
Ẏ: '{\\.Y}',
ẏ: '{\\.y}',
Ẑ: '{\\^Z}',
ẑ: '{\\^z}',
Ẓ: '{\\d Z}',
ẓ: '{\\d z}',
Ẕ: '{\\b Z}',
ẕ: '{\\b z}',
ẖ: '{\\b h}',
ẗ: '{\\"t}',
ẘ: '{\\r w}',
ẙ: '{\\r y}',
Ạ: '{\\d A}',
ạ: '{\\d a}',
Ẹ: '{\\d E}',
ẹ: '{\\d e}',
Ẽ: '{\\~E}',
ẽ: '{\\~e}',
Ị: '{\\d I}',
ị: '{\\d i}',
Ọ: '{\\d O}',
ọ: '{\\d o}',
Ụ: '{\\d U}',
ụ: '{\\d u}',
Ỳ: '{\\`Y}',
ỳ: '{\\`y}',
Ỵ: '{\\d Y}',
ỵ: '{\\d y}',
Ỹ: '{\\~Y}',
ỹ: '{\\~y}',
'\u223C': '{\\~}',
'\u00A0': '~',
};
function escape_to_bibtex(str) {
str = str.replace(new RegExp('\\{', 'g'), '\\{');
str = str.replace(new RegExp('\\}', 'g'), '\\}');
str = str.replace(new RegExp('\\$', 'g'), '\\$');
str = str.replace(new RegExp('"', 'g'), '{"}');
return Object.keys(to_bibtex).reduce((s, k) => {
s = s.replace(new RegExp(k, 'g'), to_bibtex[k]);
return s;
}, str);
}
function escape_from_bibtex(str) {
str = Object.keys(from_bibtex).reduce((s, k) => {
s = s.replace(k, from_bibtex[k]);
return s;
}, str);
str = str.replace(new RegExp('\\\\{', 'g'), '{');
str = str.replace(new RegExp('\\\\}', 'g'), '}');
str = str.replace(new RegExp('\\\\$', 'g'), '$');
str = str.replace(new RegExp('\\{"\\}', 'g'), '"');
return str;
}
module.exports = {
from_bibtex,
to_bibtex,
escape_to_bibtex,
escape_from_bibtex,
};