latexkeywordbibliographybiblatex

Use Biblatex to get an overview of the keywords from my sources


Hi I'm using LaTeX to write a literature review and BibLaTeX to print my sources and bibliography.

I would like to get an overview of all the keywords used in the articles I have gathered so far.

Since I have them all in a .bib file I figured that there probably is some easy way to get all the keywords from there that utilises BibLaTeX and the BibTeX-format of the file with the info.

From what I can gather BibLaTeX has the support for using keywords to sort the bibliography, or include/exclude certain sources based on keywords, but I can't find if or how I can print other information from the .bib than the full source. I've found \printfield in the documentation but it's not recognised when I use it in my document, even though the \textcite and the \printbibliography works fine so I'm guessing I'm using it wrong. Here's how I've tried to use it:

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}

\usepackage[style=authoryear,backend=biber]{biblatex}

\addbibresource{sample.bib}

\title{Test}
\author{Me}

\begin{document}
\maketitle

\section*{Citation examples}
\parencite{Smith:2012qr}.
\printfield{keywords}

\printbibliography

\end{document}

I hope my question is clear enough. Thank you.


Solution

  • Based on this question https://tex.stackexchange.com/questions/332292/listing-indexing-and-linking-keywords-in-biblatex you could use one of the packages for index creation, e.g. imakeidx:

    \documentclass{article}
    
    \begin{filecontents*}[overwrite]{\jobname.bib}
        @article{Padial2010,
            title={The Integrative Future Of Taxonomy},
            author={Padial, J.M. and Miralles, A. and la Riva, I.D. and Vences, M.},
            journal={Frontiers in Zoology},
            year={2010},
            volume={7},
            number={16},
            pages={1--14},
            note={Cited by 4},
            abstract={Text},
            publisher={Some Publishing},
            doi={10.1186/1742-9994-7-16},
            issn={1742-9994},
            file={./2004_Jensen_Homecoming.pdf},
            keywords={biology, taxonomy},
        }
        
            @article{Padissal2010,
                title={The Integrative Future Of Taxonomy},
                author={Padial, J.M. and Miralles, A. and la Riva, I.D. and Vences, M.},
                journal={Frontiers in Zoology},
                year={2010},
                volume={7},
                number={16},
                pages={1--14},
                note={Cited by 4},
                abstract={Text},
                publisher={Some Publishing},
                doi={10.1186/1742-9994-7-16},
                issn={1742-9994},
                file={./2004_Jensen_Homecoming.pdf},
                keywords={math, taxonomy},
            }
    \end{filecontents*}
    
    \usepackage{biblatex}
    \addbibresource{\jobname.bib}
    
    \usepackage{imakeidx}
    \makeindex[name=keywords, title=List of Keywords]
    \DeclareIndexFieldFormat{keywords}{\forcsvfield{\index[keywords]}{keywords}}
    \AtEveryBibitem{\indexfield{keywords}}
    
    
    \begin{document}
        \nocite{*} 
        \printbibliography
        
        \printindex[keywords]
    \end{document}
    

    enter image description here