When I use helm-bibtex, I get a screen showing some of the properties of the articles in my .bib file. For example, I get some sort of table where the columns are

|author | title | year | articletype|

I was wondering if I could edit this so that I could remove the last column and replace it with some other property of my choosing, such as a tags property.


Not by default, as those column headings are wired into the code of bibtex-completion-candidates-formatter.

However, you can use the org-ref package, which redefines that function to display the keywords for each entry.

  • I have org-ref installed, but I don't know how to do this. Can you please elaborate? – theQman May 6 '16 at 18:59
  • 1
    @theQman (require 'org-ref) then use the function org-ref-set-bibtex-keywords to add keywords to the current bibtex entry in your bib file. Then those keywords will show up in the helm-bibtex display. Does that help? – scbagley May 6 '16 at 21:11
  • This information is outdated. See my answer below. – tmalsburg Oct 6 '17 at 22:25

You can use the variable bibtex-completion-display-format to configure the layout of the table to your liking. You can even define different columns depending on the entry type (article, proceedings, ...). Below is the layout that I'm using:

(setq bibtex-completion-display-formats
    '((article       . "${author:36} ${title:*} ${journal:40} ${year:4} ${=has-pdf=:1}${=has-note=:1} ${=type=:3}")
      (inbook        . "${author:36} ${title:*} Chapter ${chapter:32} ${year:4} ${=has-pdf=:1}${=has-note=:1} ${=type=:3}")
      (incollection  . "${author:36} ${title:*} ${booktitle:40} ${year:4} ${=has-pdf=:1}${=has-note=:1} ${=type=:3}")
      (inproceedings . "${author:36} ${title:*} ${booktitle:40} ${year:4} ${=has-pdf=:1}${=has-note=:1} ${=type=:3}")
      (t             . "${author:36} ${title:*} ${year:4} ${=has-pdf=:1}${=has-note=:1} ${=type=:3}")))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.