All Projects → FlamingTempura → bibtex-tidy

FlamingTempura / bibtex-tidy

Licence: MIT license
Cleaner and Formatter for BibTeX files

Programming Languages

TeX
3793 projects
typescript
32286 projects

Labels

Projects that are alternatives of or similar to bibtex-tidy

Zotero Better Bibtex
Make Zotero effective for us LaTeX holdouts
Stars: ✭ 2,336 (+440.74%)
Mutual labels:  bibtex
html2biblatex
A tiny bookmarklet for exporting web pages to BibLaTeX (all browsers / no installation).
Stars: ✭ 73 (-83.1%)
Mutual labels:  bibtex
Rdpack
R package Rdpack provides functions and macros facilitating writing and management of R documentation.
Stars: ✭ 21 (-95.14%)
Mutual labels:  bibtex
Citation.js
Citation.js converts formats like BibTeX, Wikidata JSON and ContentMine JSON to CSL-JSON to convert to other formats like APA, Vancouver and back to BibTeX.
Stars: ✭ 171 (-60.42%)
Mutual labels:  bibtex
Gscholar
Query Google Scholar with Python
Stars: ✭ 209 (-51.62%)
Mutual labels:  bibtex
bib2xhtml
Convert BibTeX references into XHTML
Stars: ✭ 35 (-91.9%)
Mutual labels:  bibtex
Bib Publication List
Interactive publications lists with JavaScript + Bibtex
Stars: ✭ 122 (-71.76%)
Mutual labels:  bibtex
JabRef-Browser-Extension
Browser extension for JabRef to allow importing of new items directly from the browser.
Stars: ✭ 73 (-83.1%)
Mutual labels:  bibtex
citeproc-el
A CSL 1.0.2 Citation Processor for Emacs.
Stars: ✭ 75 (-82.64%)
Mutual labels:  bibtex
bibmanager
A BibTeX manager for LaTeX projects
Stars: ✭ 52 (-87.96%)
Mutual labels:  bibtex
Pubs
Your bibliography on the command line
Stars: ✭ 176 (-59.26%)
Mutual labels:  bibtex
Bibtex Js
BibTeX-js can parse a BibTeX-file and render it as part of an HTML file. This way, you can easily add a list of publications to your private homepage or display a list of recommended publications for a seminar. The way the entries are display can be customized using a simple template system and CSS.
Stars: ✭ 184 (-57.41%)
Mutual labels:  bibtex
econ-bst
BibTeX style file for economics.
Stars: ✭ 33 (-92.36%)
Mutual labels:  bibtex
Hugo Academic Cli
📚 Import academic publications from Bibtex to Hugo
Stars: ✭ 158 (-63.43%)
Mutual labels:  bibtex
LaTeX-Templates
Document templates composed using LaTeX for my college assignments and projects (Applicable for any other university or college) ✨
Stars: ✭ 18 (-95.83%)
Mutual labels:  bibtex
Bibcure
Bibcure helps in boring tasks by keeping your bibfile up to date and normalized...also allows you to easily download all papers inside your bibtex
Stars: ✭ 124 (-71.3%)
Mutual labels:  bibtex
my-writing-workflow
Tutorial for converting markdown files in to APA-formatted docs, based on my workflow.
Stars: ✭ 35 (-91.9%)
Mutual labels:  bibtex
bibtex-parser
BibTex Parser provides an API to read .bib files programmatically.
Stars: ✭ 36 (-91.67%)
Mutual labels:  bibtex
PubViz
PubViz is a tool for interactive visualization of publication data in BibTeX.
Stars: ✭ 14 (-96.76%)
Mutual labels:  bibtex
proofengineering-bib
BibTeX bibliographies for proof engineering-related papers
Stars: ✭ 24 (-94.44%)
Mutual labels:  bibtex

bibtex-tidy

Tidy bibtex files. Try it out.

Screen Recording 2020-10-23 at 16 25 26(1)

There are several ways you can use bibtex-tidy:

Example

Before:

@ARTICLE {feinberg1983technique,
  title={A technique for radiolabeling DNA restriction endonuclease fragments to high specific activity},
author={Feinberg, Andrew P and Vogelstein, Bert},
  journal    = {Analytical biochemistry},
  volume = 132,
  number=1,
  pages={6--13},
  year=1983,
  publisher={Elsevier},}
@article{miles1984qualitative,
    title={Qualitative data analysis: A sourcebook},
    author={Miles, Matthew B and Huberman, A Michael and Saldana, J},
    journal={Beverly Hills},
    year=1984
}

After bibtex-tidy references.bib:

@article{feinberg1983technique,
  title         = {A technique for radiolabeling DNA restriction endonuclease fragments to high specific activity},
  author        = {Feinberg, Andrew P and Vogelstein, Bert},
  year          = 1983,
  journal       = {Analytical biochemistry},
  publisher     = {Elsevier},
  volume        = 132,
  number        = 1,
  pages         = {6--13}
}
@article{miles1984qualitative,
  title         = {Qualitative data analysis: A sourcebook},
  author        = {Miles, Matthew B and Huberman, A Michael and Saldana, J},
  year          = 1984,
  journal       = {Beverly Hills}
}

CLI

Requires node v12 or later.

npm install -g bibtex-tidy
bibtex-tidy references.bib
  --help, -h
      Show help
      
  --omit
      Remove specified fields from bibliography entries.
      
      Examples:
      --omit=id,name
      
  --curly, --no-curly
      Enclose all property values in braces. Quoted values will be converted to
      braces. For example, "Journal of Tea" will become {Journal of Tea}.
      
  --numeric, --no-numeric
      Strip quotes and braces from numeric/month values. For example, {1998} will
      become 1998.
      
  --space
      Indent all fields with the specified number of spaces. Ignored if tab is set.
      
      Examples:
      --space=2 (default), --space=4
      
  --tab, --no-tab
      Indent all fields with a tab.
      
  --align, --no-align
      Insert whitespace between fields and values so that values are visually
      aligned.
      
      Examples:
      --align=14 (default)
      
  --sort, --no-sort
      Sort entries by specified fields. For descending order, prefix the field with
      a dash (-).
      
      Examples:
      --sort (sort by id), --sort=-year,name (sort year descending then name
      ascending), --sort=name,year
      
  --duplicates
      Warn if duplicates are found, which are entries where DOI, abstract, or
      author and title are the same.
      
      Examples:
      --duplicates doi (same DOIs), --duplicates key (same IDs), --duplicates
      abstract (similar abstracts), --duplicates citation (similar author and
      titles), --duplicates doi, key (identical DOI or keys), --duplicates (same
      DOI, key, abstract, or citation)
      
  --merge, --no-merge
      Merge duplicates entries. Use the duplicates option to determine how
      duplicates are identified. There are different ways to merge:
      
      - first: only keep the original entry
      
      - last: only keep the last found duplicate
      
      - combine: keep original entry and merge in fields of duplicates if they do
      not already exist
      
      - overwrite: keep original entry and merge in fields of duplicates,
      overwriting existing fields if they exist
      
  --strip-enclosing-braces
      Where an entire value is enclosed in double braces, remove the extra braces.
      For example, {{Journal of Tea}} will become {Journal of Tea}.
      
  --drop-all-caps
      Where values are all caps, make them title case. For example, {JOURNAL OF
      TEA} will become {Journal of Tea}.
      
  --escape, --no-escape
      Escape special characters, such as umlaut. This ensures correct typesetting
      with latex. Enabled by default.
      
  --sort-fields
      Sort the fields within entries.
      
      If no fields are specified fields will be sorted by: title, shorttitle,
      author, year, month, day, journal, booktitle, location, on, publisher,
      address, series, volume, number, pages, doi, isbn, issn, url, urldate,
      copyright, category, note, metadata
      
      Examples:
      --sort-fields=name,author
      
  --strip-comments, --no-strip-comments
      Remove all comments from the bibtex source.
      
  --trailing-commas, --no-trailing-commas
      End the last key value pair in each entry with a comma.
      
  --encode-urls, --no-encode-urls
      Replace invalid URL characters with percent encoded values.
      
  --tidy-comments, --no-tidy-comments
      Remove whitespace surrounding comments.
      
  --remove-empty-fields, --no-remove-empty-fields
      Remove any fields that have empty values.
      
  --remove-dupe-fields, --no-remove-dupe-fields
      Only allow one of each field in each entry. Enabled by default.
      
  --generate-keys
      [Experimental] For all entries replace the key with a new key of the form
      <author><year><title>.
      
  --max-authors
      Truncate authors if above a given number into "and others".
      
  --no-lowercase
      Lowercase field names and entry type. Enabled by default.
      
  --enclosing-braces
      Enclose the given fields in double braces, such that case is preserved during
      BibTeX compilation.
      
      Examples:
      --enclosing-braces=title,journal (output title and journal fields will be of
      the form {{This is a title}}), --enclosing-braces (equivalent to
      ---enclosing-braces=title)
      
  --wrap, --no-wrap
      Wrap long values at the given column
      
      Examples:
      --wrap (80 by default), --wrap=82
      
  --version, -v
      Show bibtex-tidy version.
      
  --quiet
      Suppress logs and warnings.
      
  --backup, --no-backup
      Make a backup <filename>.original. Enabled by default.
      

Javascript/Typescript API

npm install bibtex-tidy
const tidy = require('bibtex-tidy');
const bibtex = fs.readFileSync('references.bib', 'utf8');
tidy.tidy(bibtex, { curly: true });

Documentation for the options can be found here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].