From 4b64a7ebe18ad1330a3b1508a14b617c7543d5bd Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 18 Aug 2020 23:35:57 +0200 Subject: [PATCH 1/5] Add blog post on changes of our .bib serialization --- ...020-08-20-bibtex-file-changes-over-time.md | 225 ++++++++++++++++++ bib/bibtex-file-changes-over-time-demo.bib | 159 +++++++++++++ img/jabref-2.11-saving-options.png | Bin 0 -> 10865 bytes ...bref-3.1-local-save-sort-order-options.png | Bin 0 -> 19475 bytes img/jabref-3.1-save-sort-order-options.png | Bin 0 -> 11162 bytes 5 files changed, 384 insertions(+) create mode 100644 _posts/2020-08-20-bibtex-file-changes-over-time.md create mode 100644 bib/bibtex-file-changes-over-time-demo.bib create mode 100644 img/jabref-2.11-saving-options.png create mode 100644 img/jabref-3.1-local-save-sort-order-options.png create mode 100644 img/jabref-3.1-save-sort-order-options.png diff --git a/_posts/2020-08-20-bibtex-file-changes-over-time.md b/_posts/2020-08-20-bibtex-file-changes-over-time.md new file mode 100644 index 0000000..b4f7aaa --- /dev/null +++ b/_posts/2020-08-20-bibtex-file-changes-over-time.md @@ -0,0 +1,225 @@ +--- +title: BibTeX file changes over time +id: bibtex-file-changes-over-time +author: "[Oliver Kopp](https://github.com/koppor/)" +--- + +JabRef changed the writing of a BibTeX file over time. +This blog article aims presenting the different BibTeX contents for different JabRef versions. +The semantics of the content was never changed, but the "layout" in the file. +That lead to huge complaints over the time. +Especially, when a group used different JabRef versions. + +The JabRef team + +Currently: + +- + +## History + +### JabRef 2.0 to JabRef 2.9.2 + +- types in upper case letters: `@ARTICLE` +- keys in lower case letters: `author` +- first the required fields, then the optional fields (each group sorted alphabetically) +- no alignment key/value separators (`=`) +- multiline-content of a field starts with a tab + +```bibtex +@ARTICLE{smith1980, + author = {John Smith}, + title = {How I Weave Baskets Underwater}, + journal = {Journal of Underwater Basket Weaving and Nonsensical Latin Placeholder + Texts}, + year = {1980}, + abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim + veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in reprehenderit + in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui + officia deserunt mollit anim id est laborum.}, +} + +@PHDTHESIS{1, + author = {a}, + title = {t}, + school = {s}, + year = {2015}, + abstract = {a}, + directory = {d} +} + +@PHDTHESIS{4, + a = {a}, + d = {d}, + s = {s}, + t = {t}, + y = {2015} +} +``` + +### JabRef 2.10 + +- types in camel case: `@InProceedings` +- keys in camel case: `Year`, `Url` - optionally in lower case +- (optional) alignment key/value separators (`=`) +- multiline-content of a field starts with a tab. +- separation of required and optional field with an empty line +- first the `title` of a paper, then other required fields, then the optional fields + +See also + +```bibtex +@Article{smith1980, + Title = {How I Weave Baskets Underwater}, + Author = {John Smith}, + Journal = {Journal of Underwater Basket Weaving and Nonsensical + Latin Placeholder Texts}, + Year = {1980}, + + Abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore + eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia + deserunt mollit anim id est laborum.} +} + +@Article{Xu2020a, + Title = {AGNs are not that cool: revisiting the intrinsic AGN far-infrared spectral energy distribution}, + Author = {Xu, Jun and Sun, Mouyuan and Xue, Yongquan}, + Year = {2020}, + + Archiveprefix = {arXiv}, + Eprint = {2003.10078}, + Groups = {Covid subgroup}, + Primaryclass = {astro-ph.GA} +} + +@PhdThesis{1, + Title = {t}, + Author = {a}, + School = {s}, + Year = {2015}, + + Abstract = {a}, + Directory = {d} +} + +@PhdThesis{4, + A = {a}, + D = {d}, + S = {s}, + T = {t}, + Y = {2015} +} +``` + +The header included an advertisement on "JabRef": + +```latex +% This file was created with JabRef 2.10. +% Encoding: Cp1252 +``` + +### JabRef 2.11 + +This version introduced configuration options for saving the fields: + +![JabRef 2.11 Field Saving Options](../img/jabref-2.11-saving-options.png) + +### JabRef 3.0 + +- No more advertisement in the header any more, only the "Encoding" information + +### JabRef 3.1 + +Up to JabRef 3.0, the whole bibliography file was rewritten, which lead to huge discussions at users. +This version wrote the entries as they were in case the user did not change any content. +In the case of a change, JabRef's own style was used. +Nevertheless, the sort order of the file could lead to a rewrite of the file, so users had to ensure proper configuration + +![JabRef 3.1 save sort order options](../img/jabref-3.1-save-sort-order-options.png) + +To ease collaboration with others, JabRef introcuded to store the save order config locally in a BibTeX database: + +![JabRef 3.1 Local Save Order Options](../img/jabref-3.1-local-save-sort-order-options.png) + +JabRef changed the alignment of `=` signs. +They are are now directly followed after the key. +The values are still aligned (all `{` of one entry are put above each other) + +Keys are written lowercase again, requried fields before optional ones. +Alphabetically, even `title` is sorted in alphabetically. + +```bibtex +@PhdThesis{1, + author = {a}, + title = {t}, + school = {s}, + year = {2015}, + abstract = {a}, + directory = {d} +} +``` + +### JabRef 3.3 to 3.5 + +The equal sign at keys is aligned with the content again: + +```bibtex +@PhdThesis{1, + author = {a}, + title = {t}, + year = {2015}, + abstract = {a}, + directory = {d}, + school = {s}, +} +``` + +As default, there is no file sorting any more. +This means, in a non-configured JabRef, the order of the entries in the file does not change when saving the file ("Save entries in their original order"). + +One can still configure the sort ordering of a specific database. + +### JabRef 3.6 to 5.0 + +Comments are now preserved. +In the following example, `% emacs-style` is kept in the `.bib` file. + +```bibtex +% emacs-style + +@Article{smith1980, + author = {John Smith}, + title = {How I Weave Baskets Underwater}, + journal = {Journal of Underwater Basket Weaving and Nonsensical + Latin Placeholder Texts}, + year = 1980, + abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore + eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia + deserunt mollit anim id est laborum.}, +} +``` + +The functionality was introduced in [#391](https://github.com/JabRef/jabref/pull/391). + +## Links + +- Discussion on the seralization format: +- Discussion on blank lines: +- Discussion on storing the serialization settings within the BibTeX file: +- PR on sorting entries on save: +- Issue on wrapping fields: diff --git a/bib/bibtex-file-changes-over-time-demo.bib b/bib/bibtex-file-changes-over-time-demo.bib new file mode 100644 index 0000000..5e744e5 --- /dev/null +++ b/bib/bibtex-file-changes-over-time-demo.bib @@ -0,0 +1,159 @@ +% Encoding: UTF-8 + +% this is a comment to phd thesis 1 + +@PhdThesis{1, + Title = {t}, + Author = {a}, + School = {s}, + Year = {2015}, + + Abstract = {a}, + Directory = {d} +} + +% this is a comment to phd thesis 2 + +@PhdThesis{2, + Author = {a}, + Title = {t}, + School = {s}, + Year = {2015}, + + Abstract = {a}, + Directory = {d} +} + +@PhdThesis{3, + Abstract = {a}, + Author = {a}, + Directory = {d}, + Title = {t}, + School = {s}, + Year = {2015}, +} + +@PhdThesis{4, + t = {t}, + a = {a}, + s = {s}, + y = {2015}, + + d = {d} +} + +@InProceedings{MMM10, + Title = {Fingerprint pore extraction based on Marker controlled Watershed Segmentation}, + Author = {Malathi, S and Maheswari, S Uma and Meena, C}, + Booktitle = {Computer and Automation Engineering (ICCAE), 2010 The 2nd International Conference on}, + Year = {2010}, + Organization = {IEEE}, + Pages = {337--340}, + Volume = {3}, + File = {:Pores\\Malathi Maheswari Meena 2010 - Fingerprint pore extraction based on Marker controlled Watershed Segmentation.pdf:PDF}, + Url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5451426} +} + +@Collection{Hsu1993, + Booktitle = {Special issue on workflow and extented transaction systems}, + Editor = {M. Hsu}, + Publisher = {IEEE Computer Society}, + Year = {1993}, + Month = {6}, + Number = {2}, + Series = {Bulletin of TC on Data Engineering}, + Volume = {16} +} + +@Article{Xu2020a, + author = {Xu, Jun and Sun, Mouyuan and Xue, Yongquan}, + title = {AGNs are not that cool: revisiting the intrinsic AGN far-infrared spectral energy distribution}, + year = {2020}, + archiveprefix = {arXiv}, + eprint = {2003.10078}, + groups = {Covid subgroup}, + primaryclass = {astro-ph.GA}, +} + + +@Article{BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering, + Title = {Patterning PDMS using a combination of wet and dry etching}, + Author = {B Balakrisnan and S Patil and E Smela}, + Journal = {Journal of Micromechanics and Microengineering}, + Year = {2009}, + Number = {4}, + Pages = {047002}, + Volume = {19}, + + Abstract = {PDMS films of 10 μm thickness can be patterned within 30 min by combining + dry etching to achieve substantially vertical sidewalls with wet + etching to achieve high etch rates and to protect the underlying + substrate from attack. Dry etching alone would have taken 5 h, and + wet etching alone would produce severe undercutting. In addition, + using either technique alone produces undesirable surface morphologies. + The mask used during etching is critical to a successful patterning + outcome. E-beam evaporated Al was found to work well, adhering strongly + to oxygen-plasma-treated PDMS and holding up well during both dry + and wet etching. To prevent wrinkling of the PDMS, a fast deposition + rate should be used.}, + File = {BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering.pdf:JabRef\\BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering.pdf:PDF}, + Timestamp = {09.06.17.13.03}, + Url = {http://stacks.iop.org/0960-1317/19/i=4/a=047002} +} + +% emacs-style + +@Article{smith1980, + author = {John Smith}, + title = {How I Weave Baskets Underwater}, + journal = {Journal of Underwater Basket Weaving and Nonsensical + Latin Placeholder Texts}, + year = 1980, + abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore + eu fugiat nulla pariatur. Excepteur sint occaecat + cupidatat non proident, sunt in culpa qui officia + deserunt mollit anim id est laborum.}, +} + +% source: https://pastebin.com/advLE31V + +@INPROCEEDINGS{tag1, + author = {Lastname, Firstname}, + title = {this is the titel}, + year = {2015}, + month = jun, + abstract = {The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog.}, + journal = {Journal on Journaling} +} + +% source: https://pastebin.com/nxfcygwE + +@InProceedings{tag2, + Title = {this is the titel}, + Author = {Lastname, Firstname}, + Year = {2015}, + Month = jun, + + Abstract = {The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog.}, + Journal = {Journal on Journaling} +} + +@comment{jabref-entrytype: Collection: req[booktitle;editor;publisher;year] opt[abstract;month;number;series;volume]} diff --git a/img/jabref-2.11-saving-options.png b/img/jabref-2.11-saving-options.png new file mode 100644 index 0000000000000000000000000000000000000000..c34fa48f38695ba027f2e46548b702717df3ebd6 GIT binary patch literal 10865 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 literal 0 HcmV?d00001 diff --git a/img/jabref-3.1-local-save-sort-order-options.png b/img/jabref-3.1-local-save-sort-order-options.png new file mode 100644 index 0000000000000000000000000000000000000000..165ac2144baca28b143a5fdbc06c8b900a4b1610 GIT binary patch literal 19475 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 Date: Sun, 23 Aug 2020 21:32:41 +0200 Subject: [PATCH 2/5] Refine blog --- ...020-08-20-bibtex-file-changes-over-time.md | 151 ++++++++++-------- bib/bibtex-file-changes-over-time-demo.bib | 24 +++ img/jabref-3.0-abstract-multiline.png | Bin 0 -> 4845 bytes 3 files changed, 111 insertions(+), 64 deletions(-) create mode 100644 img/jabref-3.0-abstract-multiline.png diff --git a/_posts/2020-08-20-bibtex-file-changes-over-time.md b/_posts/2020-08-20-bibtex-file-changes-over-time.md index b4f7aaa..123eb24 100644 --- a/_posts/2020-08-20-bibtex-file-changes-over-time.md +++ b/_posts/2020-08-20-bibtex-file-changes-over-time.md @@ -10,23 +10,53 @@ The semantics of the content was never changed, but the "layout" in the file. That lead to huge complaints over the time. Especially, when a group used different JabRef versions. -The JabRef team +The JabRef team decided in 2015 that this side effect is not acceptable and that only the parts of the bibliopgrahy touch by JabRef should be rewritten. +This was implemented in JabRef 3.1, released on 2015-12-24. -Currently: +The discussions on a "useful" serialization of BibTeX entries continues. +This blog post lists the evolution of JabRef's chosen serialzation over time. +The aim is to i) make the changes over time transparent and ii) to support discussions on a "useful" serialization format. -- +The example used can be found in [bibtex-file-changes-over-time-demo.bib](../bib/bibtex-file-changes-over-time-demo.bib). + +We illustrate the different serialiaztions using the following artificial entry: + +```bibtex +@PhdThesis{6, + Title = {Title is required}, + Author = {Field, Required}, + Abstract = {Abstract is optional. + It is a multiline field}, + AbsolutelyCustom = {AbsolutelyCustom is a custom field} +} +``` + +The BibTeX entry type "Phd Thesis" consits of required and optional fields. +Additionally, fields not defined by BibTeX can be added to. +We call these fields "custom fields". + +Please note that there is not really a "BibTeX standard". +Each BibTeX bibliography style file (`.bst`) defines the fields it displays in the bibliography on its own. +As a consequence, some some papers the `url` field is shown, in some it is not even though it is defined in the `.bib` file. ## History ### JabRef 2.0 to JabRef 2.9.2 -- types in upper case letters: `@ARTICLE` -- keys in lower case letters: `author` -- first the required fields, then the optional fields (each group sorted alphabetically) -- no alignment key/value separators (`=`) -- multiline-content of a field starts with a tab +- Types are in upper case letters: `@ARTICLE` +- Keys in lower case letters: `author` +- First the required fields, then the optional fields (each group sorted alphabetically) +- No alignment key/value separators (`=`) +- Multiline-content of a field start with a tab. + Multiline content is reformatted as paragraphs have to be separated by an empty line (similar to LaTeX and Markdown). ```bibtex +@PHDTHESIS{5, + title = {Title is required}, + absolutelycustom = {AbsolutelyCustom is a custom field}, + abstract = {Abstract is optional. It is a multiline field}, +} + @ARTICLE{smith1980, author = {John Smith}, title = {How I Weave Baskets Underwater}, @@ -41,37 +71,30 @@ Currently: Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.}, } - -@PHDTHESIS{1, - author = {a}, - title = {t}, - school = {s}, - year = {2015}, - abstract = {a}, - directory = {d} -} - -@PHDTHESIS{4, - a = {a}, - d = {d}, - s = {s}, - t = {t}, - y = {2015} -} ``` ### JabRef 2.10 -- types in camel case: `@InProceedings` -- keys in camel case: `Year`, `Url` - optionally in lower case -- (optional) alignment key/value separators (`=`) -- multiline-content of a field starts with a tab. -- separation of required and optional field with an empty line -- first the `title` of a paper, then other required fields, then the optional fields +- Types in camel case: `@InProceedings` +- Keys in camel case: `Year`, `Url` - optionally in lower case +- (optional) Alignment of key/value separators (`=`) +- Separation of required and optional field with an empty line +- First the `title` of a paper, then other required fields, then the optional fields +- Multiline-content of a field starts with a tab +- Newlines are kept in the field content (and are not interpreted as LaTeX or Markdown does) +- Leading spaces are trimmed See also ```bibtex +@PhdThesis{6, + Title = {Title is required}, + + Absolutelycustom = {AbsolutelyCustom is a custom field}, + Abstract = {Abstract is optional. + It is a multiline field} +} + @Article{smith1980, Title = {How I Weave Baskets Underwater}, Author = {John Smith}, @@ -89,35 +112,6 @@ See also cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.} } - -@Article{Xu2020a, - Title = {AGNs are not that cool: revisiting the intrinsic AGN far-infrared spectral energy distribution}, - Author = {Xu, Jun and Sun, Mouyuan and Xue, Yongquan}, - Year = {2020}, - - Archiveprefix = {arXiv}, - Eprint = {2003.10078}, - Groups = {Covid subgroup}, - Primaryclass = {astro-ph.GA} -} - -@PhdThesis{1, - Title = {t}, - Author = {a}, - School = {s}, - Year = {2015}, - - Abstract = {a}, - Directory = {d} -} - -@PhdThesis{4, - A = {a}, - D = {d}, - S = {s}, - T = {t}, - Y = {2015} -} ``` The header included an advertisement on "JabRef": @@ -129,16 +123,43 @@ The header included an advertisement on "JabRef": ### JabRef 2.11 -This version introduced configuration options for saving the fields: +This version was released on 2015-11-16 and introduced configuration options for saving the fields: ![JabRef 2.11 Field Saving Options](../img/jabref-2.11-saving-options.png) +Field groups are not separated by an empty line any more: + +```bibtex +@PhdThesis{6, + Title = {Title is required}, + Absolutelycustom = {AbsolutelyCustom is a custom field}, + Abstract = {Abstract is optional. + It is a multiline field} +} +``` + ### JabRef 3.0 -- No more advertisement in the header any more, only the "Encoding" information +No more advertisement in the header any more: JabRef shows the "Encoding" information only: + +```latex +% Encoding: UTF-8 +``` + +The content of multiline fields is not indented any more. +When reading a pre-3.0 file, leading spaces are shown as is. + +![JabRef 3.0 abstract editing](../img/jabref-3.0-abstract-multiline.png) + +This is the result of a long internal discussion. +The main reason was that JabRef cnanot properly distinguish whether the indent of a file is intend or whether the indent originated from a pre-3.0 file. +Implementing heuristics (e.g., all lines are starting with the same amount of space characters) was neglected, +because such code needs to maintained and the team wants to focus to improve maintainability of JabRef: +Fix bugs and implement new features in a maintainable way. ### JabRef 3.1 +JabRef 3.1 was released on 2015-12-24. Up to JabRef 3.0, the whole bibliography file was rewritten, which lead to huge discussions at users. This version wrote the entries as they were in case the user did not change any content. In the case of a change, JabRef's own style was used. @@ -170,6 +191,7 @@ Alphabetically, even `title` is sorted in alphabetically. ### JabRef 3.3 to 3.5 +JabRef 3.3 was released at 2016-04-17. The equal sign at keys is aligned with the content again: ```bibtex @@ -190,8 +212,9 @@ One can still configure the sort ordering of a specific database. ### JabRef 3.6 to 5.0 -Comments are now preserved. -In the following example, `% emacs-style` is kept in the `.bib` file. +JabRef 3.6 was released on 2016-08-26. +In this version, comments are now preserved. +For instance, `% emacs-style` is kept in the `.bib` file: ```bibtex % emacs-style diff --git a/bib/bibtex-file-changes-over-time-demo.bib b/bib/bibtex-file-changes-over-time-demo.bib index 5e744e5..fcb140a 100644 --- a/bib/bibtex-file-changes-over-time-demo.bib +++ b/bib/bibtex-file-changes-over-time-demo.bib @@ -42,6 +42,30 @@ @PhdThesis{4 d = {d} } +@PhdThesis{5, + Title = {Title is required}, + Author = {Field, Required}, + Abstract = {Abstract is optional. +It is a multiline field}, + AbsolutelyCustom = {AbsolutelyCustom is a custom field} +} + +@PhdThesis{6, + Title = {Title is required}, + Author = {Field, Required}, + Abstract = {Abstract is optional. + It is a multiline field}, + AbsolutelyCustom = {AbsolutelyCustom is a custom field} +} + +@PhdThesis{7, + Title = {Title is required}, + Author = {Field, Required}, + Abstract = {Abstract is optional. + It is a multiline field. Each line started with a tab character.}, + AbsolutelyCustom = {AbsolutelyCustom is a custom field} +} + @InProceedings{MMM10, Title = {Fingerprint pore extraction based on Marker controlled Watershed Segmentation}, Author = {Malathi, S and Maheswari, S Uma and Meena, C}, diff --git a/img/jabref-3.0-abstract-multiline.png b/img/jabref-3.0-abstract-multiline.png new file mode 100644 index 0000000000000000000000000000000000000000..12fd58737ce9eb9597a330ad31c2a8b4589b624d GIT binary patch literal 4845 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 literal 0 HcmV?d00001 From 7dada1f10ce1f9f12432eb24e57d54acd0a3ea1a Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 19 Sep 2021 20:58:44 +0200 Subject: [PATCH 3/5] Change "emacs-style" to "Comment" --- _posts/2020-08-20-bibtex-file-changes-over-time.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2020-08-20-bibtex-file-changes-over-time.md b/_posts/2020-08-20-bibtex-file-changes-over-time.md index 123eb24..0c60277 100644 --- a/_posts/2020-08-20-bibtex-file-changes-over-time.md +++ b/_posts/2020-08-20-bibtex-file-changes-over-time.md @@ -214,10 +214,10 @@ One can still configure the sort ordering of a specific database. JabRef 3.6 was released on 2016-08-26. In this version, comments are now preserved. -For instance, `% emacs-style` is kept in the `.bib` file: +For instance, `% Comment` is kept in the `.bib` file: ```bibtex -% emacs-style +% Comment @Article{smith1980, author = {John Smith}, From 84fb1f828602d9db097939c2c86521ff0c80a37e Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 19 Sep 2021 20:59:18 +0200 Subject: [PATCH 4/5] JabRef 2.9.2 format of .bib example file --- bib/bibtex-file-changes-over-time-demo.bib | 302 ++++++++++----------- 1 file changed, 150 insertions(+), 152 deletions(-) diff --git a/bib/bibtex-file-changes-over-time-demo.bib b/bib/bibtex-file-changes-over-time-demo.bib index fcb140a..d4b4555 100644 --- a/bib/bibtex-file-changes-over-time-demo.bib +++ b/bib/bibtex-file-changes-over-time-demo.bib @@ -1,183 +1,181 @@ +% This file was created with JabRef 2.9.2. % Encoding: UTF-8 -% this is a comment to phd thesis 1 - -@PhdThesis{1, - Title = {t}, - Author = {a}, - School = {s}, - Year = {2015}, - - Abstract = {a}, - Directory = {d} -} - -% this is a comment to phd thesis 2 - -@PhdThesis{2, - Author = {a}, - Title = {t}, - School = {s}, - Year = {2015}, - - Abstract = {a}, - Directory = {d} -} - -@PhdThesis{3, - Abstract = {a}, - Author = {a}, - Directory = {d}, - Title = {t}, - School = {s}, - Year = {2015}, -} - -@PhdThesis{4, - t = {t}, - a = {a}, - s = {s}, - y = {2015}, - - d = {d} -} - -@PhdThesis{5, - Title = {Title is required}, - Author = {Field, Required}, - Abstract = {Abstract is optional. -It is a multiline field}, - AbsolutelyCustom = {AbsolutelyCustom is a custom field} +@PHDTHESIS{1, + author = {a}, + title = {t}, + school = {s}, + year = {2015}, + abstract = {a}, + directory = {d} } -@PhdThesis{6, - Title = {Title is required}, - Author = {Field, Required}, - Abstract = {Abstract is optional. - It is a multiline field}, - AbsolutelyCustom = {AbsolutelyCustom is a custom field} +@PHDTHESIS{2, + author = {a}, + title = {t}, + school = {s}, + year = {2015}, + abstract = {a}, + directory = {d} } -@PhdThesis{7, - Title = {Title is required}, - Author = {Field, Required}, - Abstract = {Abstract is optional. - It is a multiline field. Each line started with a tab character.}, - AbsolutelyCustom = {AbsolutelyCustom is a custom field} +@PHDTHESIS{3, + author = {a}, + title = {t}, + school = {s}, + year = {2015}, + abstract = {a}, + directory = {d} } -@InProceedings{MMM10, - Title = {Fingerprint pore extraction based on Marker controlled Watershed Segmentation}, - Author = {Malathi, S and Maheswari, S Uma and Meena, C}, - Booktitle = {Computer and Automation Engineering (ICCAE), 2010 The 2nd International Conference on}, - Year = {2010}, - Organization = {IEEE}, - Pages = {337--340}, - Volume = {3}, - File = {:Pores\\Malathi Maheswari Meena 2010 - Fingerprint pore extraction based on Marker controlled Watershed Segmentation.pdf:PDF}, - Url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5451426} +@ARTICLE{BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering, + author = {B Balakrisnan and S Patil and E Smela}, + title = {Patterning PDMS using a combination of wet and dry etching}, + journal = {Journal of Micromechanics and Microengineering}, + year = {2009}, + volume = {19}, + pages = {047002}, + number = {4}, + abstract = {PDMS films of 10 μm thickness can be patterned within 30 min by combining + dry etching to achieve substantially vertical sidewalls with wet + etching to achieve high etch rates and to protect the underlying + substrate from attack. Dry etching alone would have taken 5 h, and + wet etching alone would produce severe undercutting. In addition, + using either technique alone produces undesirable surface morphologies. + The mask used during etching is critical to a successful patterning + outcome. E-beam evaporated Al was found to work well, adhering strongly + to oxygen-plasma-treated PDMS and holding up well during both dry + and wet etching. To prevent wrinkling of the PDMS, a fast deposition + rate should be used.}, + file = {BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering.pdf:JabRef\\BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering.pdf:PDF}, + timestamp = {09.06.17.13.03}, + url = {http://stacks.iop.org/0960-1317/19/i=4/a=047002} } -@Collection{Hsu1993, - Booktitle = {Special issue on workflow and extented transaction systems}, - Editor = {M. Hsu}, - Publisher = {IEEE Computer Society}, - Year = {1993}, - Month = {6}, - Number = {2}, - Series = {Bulletin of TC on Data Engineering}, - Volume = {16} +@PHDTHESIS{5, + author = {Field, Required}, + title = {Title is required}, + absolutelycustom = {AbsolutelyCustom is a custom field}, + abstract = {Abstract is optional. It is a multiline field} } -@Article{Xu2020a, - author = {Xu, Jun and Sun, Mouyuan and Xue, Yongquan}, - title = {AGNs are not that cool: revisiting the intrinsic AGN far-infrared spectral energy distribution}, - year = {2020}, - archiveprefix = {arXiv}, - eprint = {2003.10078}, - groups = {Covid subgroup}, - primaryclass = {astro-ph.GA}, +@PHDTHESIS{6, + author = {Field, Required}, + title = {Title is required}, + absolutelycustom = {AbsolutelyCustom is a custom field}, + abstract = {Abstract is optional. It is a multiline field} } - -@Article{BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering, - Title = {Patterning PDMS using a combination of wet and dry etching}, - Author = {B Balakrisnan and S Patil and E Smela}, - Journal = {Journal of Micromechanics and Microengineering}, - Year = {2009}, - Number = {4}, - Pages = {047002}, - Volume = {19}, - - Abstract = {PDMS films of 10 μm thickness can be patterned within 30 min by combining - dry etching to achieve substantially vertical sidewalls with wet - etching to achieve high etch rates and to protect the underlying - substrate from attack. Dry etching alone would have taken 5 h, and - wet etching alone would produce severe undercutting. In addition, - using either technique alone produces undesirable surface morphologies. - The mask used during etching is critical to a successful patterning - outcome. E-beam evaporated Al was found to work well, adhering strongly - to oxygen-plasma-treated PDMS and holding up well during both dry - and wet etching. To prevent wrinkling of the PDMS, a fast deposition - rate should be used.}, - File = {BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering.pdf:JabRef\\BBalakrisnan2009PatterningPDMSusingacombinationofwetanddryetchingJournalofMicromechanicsandMicroengineering.pdf:PDF}, - Timestamp = {09.06.17.13.03}, - Url = {http://stacks.iop.org/0960-1317/19/i=4/a=047002} +@PHDTHESIS{7, + author = {Field, Required}, + title = {Title is required}, + absolutelycustom = {AbsolutelyCustom is a custom field}, + abstract = {Abstract is optional. It is a multiline field. Each line started with + a tab character.} } -% emacs-style - -@Article{smith1980, - author = {John Smith}, - title = {How I Weave Baskets Underwater}, - journal = {Journal of Underwater Basket Weaving and Nonsensical - Latin Placeholder Texts}, - year = 1980, - abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing - elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. Ut enim ad minim veniam, quis - nostrud exercitation ullamco laboris nisi ut aliquip - ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore - eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia - deserunt mollit anim id est laborum.}, +@INPROCEEDINGS{tag1, + author = {Lastname, Firstname}, + title = {this is the titel}, + year = {2015}, + month = jun, + abstract = {The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog.}, + journal = {Journal on Journaling} } -% source: https://pastebin.com/advLE31V - -@INPROCEEDINGS{tag1, +@INPROCEEDINGS{tag2, author = {Lastname, Firstname}, title = {this is the titel}, year = {2015}, month = jun, abstract = {The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The - Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The - Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The - Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The - Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The - Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The - Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps - Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog.}, + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The + Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps + Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog.}, journal = {Journal on Journaling} } -% source: https://pastebin.com/nxfcygwE +@INPROCEEDINGS{MMM10, + author = {Malathi, S and Maheswari, S Uma and Meena, C}, + title = {Fingerprint pore extraction based on Marker controlled Watershed + Segmentation}, + booktitle = {Computer and Automation Engineering (ICCAE), 2010 The 2nd International + Conference on}, + year = {2010}, + volume = {3}, + pages = {337--340}, + organization = {IEEE}, + file = {:Pores\\Malathi Maheswari Meena 2010 - Fingerprint pore extraction based on Marker controlled Watershed Segmentation.pdf:PDF}, + url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5451426} +} + +@ARTICLE{smith1980, + author = {John Smith}, + title = {How I Weave Baskets Underwater}, + journal = {Journal of Underwater Basket Weaving and Nonsensical Latin Placeholder + Texts}, + year = {1980}, + abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim + veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in reprehenderit in + voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum.} +} + +@ARTICLE{Xu2020a, + author = {Xu, Jun and Sun, Mouyuan and Xue, Yongquan}, + title = {AGNs are not that cool: revisiting the intrinsic AGN far-infrared + spectral energy distribution}, + year = {2020}, + archiveprefix = {arXiv}, + eprint = {2003.10078}, + groups = {Covid subgroup}, + primaryclass = {astro-ph.GA} +} -@InProceedings{tag2, - Title = {this is the titel}, - Author = {Lastname, Firstname}, - Year = {2015}, - Month = jun, +@COLLECTION{Hsu1993, + booktitle = {Special issue on workflow and extented transaction systems}, + editor = {M. Hsu}, + publisher = {IEEE Computer Society}, + year = {1993}, + month = {6}, + number = {2}, + series = {Bulletin of TC on Data Engineering}, + volume = {16} +} - Abstract = {The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog. The Quick Brown Fox Jumps Over The Lazy Dog.}, - Journal = {Journal on Journaling} +@PHDTHESIS{4, + a = {a}, + d = {d}, + s = {s}, + t = {t}, + y = {2015} } @comment{jabref-entrytype: Collection: req[booktitle;editor;publisher;year] opt[abstract;month;number;series;volume]} + From ac35d76a1c836222311a1e20441019b125cc064f Mon Sep 17 00:00:00 2001 From: ThiloteE <73715071+ThiloteE@users.noreply.github.com> Date: Mon, 11 Apr 2022 23:38:23 +0200 Subject: [PATCH 5/5] Fix some typos --- ...020-08-20-bibtex-file-changes-over-time.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/_posts/2020-08-20-bibtex-file-changes-over-time.md b/_posts/2020-08-20-bibtex-file-changes-over-time.md index 0c60277..bcea356 100644 --- a/_posts/2020-08-20-bibtex-file-changes-over-time.md +++ b/_posts/2020-08-20-bibtex-file-changes-over-time.md @@ -10,7 +10,7 @@ The semantics of the content was never changed, but the "layout" in the file. That lead to huge complaints over the time. Especially, when a group used different JabRef versions. -The JabRef team decided in 2015 that this side effect is not acceptable and that only the parts of the bibliopgrahy touch by JabRef should be rewritten. +The JabRef team decided in 2015 that this side effect is not acceptable and that only the parts of the bibliopgraphy touch by JabRef should be rewritten. This was implemented in JabRef 3.1, released on 2015-12-24. The discussions on a "useful" serialization of BibTeX entries continues. @@ -32,12 +32,12 @@ We illustrate the different serialiaztions using the following artificial entry: ``` The BibTeX entry type "Phd Thesis" consits of required and optional fields. -Additionally, fields not defined by BibTeX can be added to. +Additionally, fields not defined by BibTeX can be added. We call these fields "custom fields". Please note that there is not really a "BibTeX standard". Each BibTeX bibliography style file (`.bst`) defines the fields it displays in the bibliography on its own. -As a consequence, some some papers the `url` field is shown, in some it is not even though it is defined in the `.bib` file. +As a consequence, in some papers the `url` field is shown, in some it is not, even though it is defined in the `.bib` file. ## History @@ -48,7 +48,7 @@ As a consequence, some some papers the `url` field is shown, in some it is not e - First the required fields, then the optional fields (each group sorted alphabetically) - No alignment key/value separators (`=`) - Multiline-content of a field start with a tab. - Multiline content is reformatted as paragraphs have to be separated by an empty line (similar to LaTeX and Markdown). + Multiline-content reformatted as paragraphs have to be separated by an empty line (similar to LaTeX and Markdown). ```bibtex @PHDTHESIS{5, @@ -152,22 +152,22 @@ When reading a pre-3.0 file, leading spaces are shown as is. ![JabRef 3.0 abstract editing](../img/jabref-3.0-abstract-multiline.png) This is the result of a long internal discussion. -The main reason was that JabRef cnanot properly distinguish whether the indent of a file is intend or whether the indent originated from a pre-3.0 file. +The main reason was that JabRef cannot properly distinguish whether the indent of a file is intend or whether the indent originated from a pre-3.0 file. Implementing heuristics (e.g., all lines are starting with the same amount of space characters) was neglected, -because such code needs to maintained and the team wants to focus to improve maintainability of JabRef: +because such code needs to be maintained and the team wants to focus to improve maintainability of JabRef: Fix bugs and implement new features in a maintainable way. ### JabRef 3.1 JabRef 3.1 was released on 2015-12-24. -Up to JabRef 3.0, the whole bibliography file was rewritten, which lead to huge discussions at users. -This version wrote the entries as they were in case the user did not change any content. +Up to JabRef 3.0, the whole bibliography file was rewritten, which led to huge discussions by users. +This version wrote the entries as they were, in case the user did not change any content. In the case of a change, JabRef's own style was used. Nevertheless, the sort order of the file could lead to a rewrite of the file, so users had to ensure proper configuration ![JabRef 3.1 save sort order options](../img/jabref-3.1-save-sort-order-options.png) -To ease collaboration with others, JabRef introcuded to store the save order config locally in a BibTeX database: +To ease collaboration with others, JabRef introduced storing the save order config locally in a BibTeX database: ![JabRef 3.1 Local Save Order Options](../img/jabref-3.1-local-save-sort-order-options.png) @@ -175,7 +175,7 @@ JabRef changed the alignment of `=` signs. They are are now directly followed after the key. The values are still aligned (all `{` of one entry are put above each other) -Keys are written lowercase again, requried fields before optional ones. +Keys are written lowercase again, required fields before optional ones. Alphabetically, even `title` is sorted in alphabetically. ```bibtex