-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Closed
feature
Copy link
Labels
Description
In JabRef 2.10, we introduced following new feature:
Changed serialization of BibTeX entries:
First, the required, then the optional and then all other fields are written.
Thereby, fields are now ordered by name. Except the title, which is written first.
The second word in of the BibTeX type is capitalized. E.g., Inproceedings got InProceedings
Configurable: Start field contents in same column. Enabled by default.
Configurable: Use camel case for field names (e.g., "HowPublished" instead of "howpublished"). Enabled by default.
If no field name is given, then "UNKNOWN" is used. For instance, " = {X}" gets " UNKNOWN = {X}".
When a user collaborates with a person using an older version of JabRef, they cannot use version control properly as the serialization always changes. In version 2.11 beta 2, we offer a quick hack to go back to the old 2.9.2 behavior, which is somehow incomplete. See #10 (comment)
We can just focus on other issues and let time solve the issue or invest time to implement the old serialization again.
Related issue: #115
Request at sourceforge: https://sourceforge.net/p/jabref/feature-requests/864/
To track the progress of implementation, the consensus described below is added here.
Rationale: People are very emotional about formatting -> Modify as little as possible in the bib file
- Unmodified entries will not be formatted and written back exactly as read in (including all formatting issues, etc.
- Modifying any part of an entry results in a reformatting of the complete entry
- No more global configuration forsorting of entries on load / save. (sorting information is now stored in the file)
- New entries are added to the bottom of the file
- Fixed and non-configurable format for new or modified entries. Dropping all field saving options (Preferences -> File -> Field saving options)
- Fields are sorted as stated in the Bibtex / Biblatex manuals.
- The
=
is appended directly to the field key. Thevalue
part is indented to one space past the longest field key name +=
(so that all values are aligned). - Bibtex entry keys are written in camel case, starting upper case
- Field keys are formatted in lower case only
- No longer perform any changes of field content (no more space/tab/newline elimination, etc.)
- Provide formatter (Example: Remove tabs / newlines / duplicate spaces) that can be enabled by a user for specific fields onLoad / onSave. These are not enabled by default.
- If in doubt, do as biber does