Skip to content
Marc Schulder edited this page Aug 18, 2019 · 1 revision

Interface

Good way to set parameters?

  1. Argument calls
    • set list of wanted fields (if None, all are wanted)
    • Set list of unwanted fields (optional)
  2. Config files
    • allows for templates
    • More complex to set up
  3. Prompts during processing, asking for user decisions
    • Could also be used to auto-generate config files

External information files

LaTeX style files

  • .bst: BibTex format file (difficult to parse)
  • .sty: LaTeX style file (can this contain the bst info?)
  • .cls: LaTeX class file (can this contain the bst info?)

LaTeX temp files

  • .aux: Lists citations and labels
    • Single line to parse: \citation{citationlabel}

BibTexNanny files

  • Dictionary of conference names
  • Style config file
  • Tool config files
    • Consistency checker config file
    • Fixer config file
    • Simplifier config file

BibTex field requirements

We need to be able to check the following aspects for fields:

  • What type of entry are we looking at?
  • What are the generally required and optional fields for this entry?
    • This bit can be hardcoded as it is always true for all BibTex files
    • Look up BibTex documentation to determine these values
  • For a particular bibliography type, which are the required and optional fields, which fields are ignored?
    • Easy solution: Manually create a config file that lists fields as mandatory, optional and ignored
      • Requires config file design
    • Better solution: Load style files to automatically extract this kind of information.
      • Are there python tools that can load sty and cls files for us?
  • Design a config file that allows users to set which info they want to drop and which they need enforced
    • List by entry type
      • Allow defining fields for more than one entry type at once
    • Define fields as mandatory, optional, unused and maybe as hidden
  • Three layer approach:
    1. In-built BibTex entry definitions
    2. Config file for bibliography style requirements
    3. Config file for simplification requirements