larsgw/citation.js

`$` in entry causes fatal error

Closed this issue · 2 comments

I've been using the CLI to parse a bibtex file of conference proceedings, which includes abstracts. Every time the parser hits a dollar sign ($) it errors out (it took me awhile to figure out which character was causing the problem).

If anyone else has this issue you can escape the characters in the text with \$ as a temporary fix.

Here's the error output:

   at Lexer._token (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/moo/moo.js:533:13)
    at Lexer.next (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/moo/moo.js:480:19)
    at Grammar.consumeToken (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/core/lib/util/grammar.js:34:31)
    at Grammar.Text (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/plugin-bibtex/lib/input/text.js:330:18)
    at Grammar.consumeRule (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/core/lib/util/grammar.js:48:37)
    at Grammar.MathString (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/plugin-bibtex/lib/input/text.js:309:24)
    at Grammar.consumeRule (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/core/lib/util/grammar.js:48:37)
    at Grammar.Text (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/plugin-bibtex/lib/input/text.js:323:18)
    at Grammar.consumeRule (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/core/lib/util/grammar.js:48:37)
    at Grammar.BracketString (/Users/abi/.nvm/versions/node/v14.15.0/lib/node_modules/citation-js/node_modules/@citation-js/plugin-bibtex/lib/input/text.js:272:22)

Thank you for taking the time to make a bug report! What version of Citation.js are you using?

I am only able to reproduce this in the case of unbalanced $ which do need to be escaped in all TeX-based syntax, as far as I am aware. If you have a different problem, please provide more information.