Add integrity check for LaTeX special characters #8712
Open
Description
This issue was inspired by inspecting and working on issues #8673, plurimath/unicode2latex#19, #8650, #8682 and #3644
Problem:
- Special characters do special things in LaTeX (or when being compiled by Biber).
- See Page 15 (Table 1) for escapeable "special" characters in LaTeX
- See Page 15 (Table 2) for Predefined LATEX 2𝜀 Text-mode Commands
- See Page 16 (Table 3) for "Commands Defined to Work in Both Math and Text Mode"
- Special characters are hard to convert from LaTeX to Unicode and vice versa, because context is relevant! (e.g. being in Text Mode or Math Mode or another special LaTeX environment). Using special characters may necessitate user action.
Desired solution:
- Users should be able to easily find existing "special characters" in their database.
- Create integrity check(s) for having the following symbols in your entries:
-
From Table 1: LaTeX escapable "special" characters:
-
%
,$
,_
,#
and&
- Not necessary: Detect
\%
,\$
,\_
,\#
and\&
, because this should be handled at text paste.
-
-
From Table 2: Predefined LATEX 2𝜀 Text-mode Commands:
- See Table 2. I am too lazy to copy / paste them all here.
- Comment: I tried pasting a few of these symbols into JabRef. NOT ALL could be entered into the JabRef title field. Feel free to experiment and implement an integrity check for characters that can easily be used with JabRef. Would be nice to create a list of Symbols from Table 2 that JabRef can't easily deal with.
-
Table 3: Commands Defined to Work in Both Math and Text Mode:
-
...
- PS. not yet sure about this one. Maybe the...
should be added to the Unicode2LaTeX converter instead. Please Exclude this character for now. Work on the others first! - All the other characters in table 3 can be converted from Unicode to LaTeX and from LaTeX to Unicode (except
_
and\_
), so no need to implement an integrity check for them! :-)
-
Additional info:
- I believe an integrity check for # is already implemented. Maybe this integrity check can be used as a template.
Metadata
Assignees
Labels
Type
Projects
Status
Normal priority