Bug Tracker 
ID | 301🔗 |
---|---|
Date: | 2025-04-03 09:46:31 |
Last update: | 2025-04-03 12:41:15 |
Status | Closed (Fixed) |
Category | datatool |
Version | 3.3 |
Summary | Strings containing <string> <number> E <number> <string> break parser |
Sign in to subscribe to notifications about this report.
Description
In v3.3,\DTLread
breaks when reading a CSV file with option csv-content=literal
, in case a string field contains a substring matching [0-9]+E[0-9]+ (that is: a sequence of digits with an 'E' in the middle).I suspect that the type checker erroneously tries to consider the entry as a fp number written in scientific notation, and fails.
Minimal working example:
\documentclass{article} \begin{filecontents}[overwrite]{test_db.csv} Col1 AAA11E33 \end{filecontents} \usepackage{datatool} \DTLread[name={mydb},format=csv, csv-content=literal]{test_db.csv} \begin{document} We never reach this point \end{document}Error:
! Use of \??? doesn't match its definition.
<argument> \???
! LaTeX Error: Unknown fp word AAA.
MWE
Download (254B)
\documentclass{article} \begin{filecontents}[overwrite]{test_db.csv} Col1 AAA11E33 \end{filecontents} \usepackage{datatool} \DTLread[name={mydb},format=csv, csv-content=literal]{test_db.csv}% \begin{document} We never reach this point. \end{document}
Evaluation
Yes, you're right. The regular expression needs to be anchored. I'll get that fixed.
Update: fixed in v3.4. Allow a few days for it to reach your TeX distribution.
Comments
0 comments.
Add Comment
Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=301