Package: bibL
bibLbibL is a minimalistic linter (style checker) for BibTeX files.
bibL does not come with its own BibTeX parser, but leverages thepybtexparser.InstallationpipinstallbiblUsageRun bibl on your BibTeX files with the following commandbibllintbibliography1.bibbibliography2.bib...or as a python module withpython-mbibllintbibliography1.bibbibliography2.bib...bibl will check these files for a variety of style issues and deviations from the BibTeX spec (http://www.bibtex.org/Format/,https://en.wikipedia.org/wiki/BibTeX).
Each possible type of issue is formulated as a rule. Each rule is identified by a unique code. Some examples of rules areRule IDRule descriptionD00Entry not in alphabetical order by keT00Non-ascii characterE00Keys of published works should have format AuthorYEARaE06Incorrect doi formatT01Non-standard whitespace at beginning of line (indents should be 4 spaces)M01ArticleYearMissing required fieldyearfor entry typearticle......This link provides alist of all available rulesThe first character of a rule id refers to a rules category, e.g.Efor issues with entry values,Tfor textual
issues with the.bibfile, etc.
You can specify which rules to check by using--selector--ignore. Wildcards are allowed.--selectwill only
enable the specified rules, disabling all other rules, while--ignorewill disable all rules except the ones specified.--selectand--ignoremay not be specified simultaneously.bibl--select"D*,E06,T01"lintbibliography.lintwill only check all rules starting with D, rule E06 and rule T01bibl --ignore "D*,E06,T01" lint bibliography.lintwill check all rules except all rules starting with D, rule E06 and rule T01ConfigurationAside from--selectand--ignore, other configuration options can be provided via the cli, like--max-line-lengthto specify the line length for which an issue should be reported if exceeded. See below for a full list.Configuration can also be specified in a yaml format configuration file, provided by the--configoption.
If no configuration file is provided and a.bibl.ymlfile is present in the current working directory, this file will
be used as a configuration file.
Command line option configuration will override configuration provided by a file.
See the default configuration.bibl.ymlfor all values that can be overwritten in a configuration file.Some rules, like the variousM01*,M02*andU01*rules, are procedurally generated based on thetype_specsetting.
This setting specifies which entry and field types should be present and can be modified to more easily ignore generated
rules for specific entry types or fields, or to add custom fields or entry types for which warnings should be given
while linting.CLIUsage:bibl[OPTIONS]COMMAND[ARGS]...

Options:-c,--configTEXTCustomconfigurationfilepath.--selectTEXTCommaseparatedlistofenabledrules,allotherruleswillbedisabled.--ignoreTEXTCommaseparatedlistofdisabledrules,allotherruleswillbeenabled.--indent-spacesINTEGERNumberoftrailingwhitespacesforindentedline,usedbyTO1.--max-line-lengthINTEGERMaxlinelengthbeforewraprecommended,usedbyT03.--abbreviation-dotAbbreviatemiddlenameswithdot.--helpShowthismessageandexit.

Commands:lintLintaBibTeXbibliographyfile.list-allShowallavailablerules.list-enabledShowallrulesenabledbytheconfiguration.versionShowthepackageversion.Usage:bibllint[OPTIONS][BIBLIOGRAPHY]...LintaBibTeXbibliographyfile.

Options:--helpShowthismessageandexit.Usage:bibllist-all[OPTIONS]Showallavailablerules.

Options:-mFormatrulesasmarkdowntable.--helpShowthismessageandexit.Usage:bibllist-enabled[OPTIONS]Showallrulesenabledbytheconfiguration.

Options:-mFormatrulesasmarkdowntable.--helpShowthismessageandexit.