[Tex/LaTex] BibTeX or biblatex/Biber ‘private communication’ entry

best practicesbiberbiblatexbibtex

What is the correct way to cite "private communications" and similar sources that seem not to belong into the .bib database.

I am using biber and biblatex with TL2016

Best Answer

The entry type misc can be used for private communications, and using the field howpublished="private communication". Eventually, you can store them in a different bib database, and then load different bib databases with multiple \addbibresource commands.

However, as pointed out by Roey Angel and egreg most journal styles ask to put them in the text instead of citing them (and including them in the list of references/bibliography). In this case it is possible to define a filter (or technically a check) to remove the personal communication from the bibliography. Also it is possible to customise \autocite so that it behaves accordingly when using a personal communication instead of "regular" citation.

\documentclass{article}
\usepackage[style=authoryear,autocite=inline]{biblatex}
\usepackage{xstring}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{test1,
  author = "Author, John",
  date = "2013-02-03",
  howpublished = "personal communication"
}
@misc{test2,
  author = "Author, John",
  title = "Untitled Manuscript",
  date = "2012",
  howpublished = "unpublished"
  }
@article{test3,
  author = "Author, John",
  title = "article",
  journal = "Journal Name",
  year = "2011"}
\end{filecontents}
\addbibresource{\jobname.bib}

\defbibcheck{pc}{
  \ifboolexpr{
    test { \ifentrytype{misc} }
    and
    test{ \IfStrEq{\thefield{howpublished}}{personal communication}}
    }
    {\skipentry}
    {}
}

\DeclareAutoCiteCommand{inline}{\mycite}{\cites}
\DeclareCiteCommand{\mycite}
  {}
  {\ifentrytype{misc}{%
    \IfStrEq{\thefield{howpublished}}{personal communication}
      {\printnames{labelname} \mkbibparens{personal communication, \printdate}}
      {\mkbibparens{\usebibmacro{cite}}}%
      }
    {\mkbibparens{\usebibmacro{cite}}}%
  }
  {}
  {}

\begin{document}

\autocite{test1} explained why the result in \autocite{test3} is outdated and why one should use those in \autocite{test2}.

\printbibliography[check=pc]

\end{document}

With biber and a recent version of biblatex, an alternative would be to define a new entry type for personal communications.

\documentclass{article}
\usepackage[style=authoryear,autocite=inline]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@personalcommunication{test1,
  author = "Author, John",
  date = "2013-02-03",
}
@misc{test2,
  author = "Author, John",
  title = "Untitled Manuscript",
  date = "2012",
  howpublished = "unpublished"
  }
@article{prova,
  author = "Author, John",
  title = "article",
  journal = "Journal Name",
  year = "2011"}
\end{filecontents}
\begin{filecontents}{biblatex-dm.cfg}
\DeclareDatamodelEntrytypes{personalcommunication}
\end{filecontents}
\addbibresource{\jobname.bib}

\DeclareAutoCiteCommand{inline}{\mycite}{\cites}
\DeclareCiteCommand{\mycite}
  {}
  {\ifentrytype{personalcommunication}
      {\printnames{labelname} \mkbibparens{personal communication, \printdate}}
      {\mkbibparens{\usebibmacro{cite}}}%
  }
  {}
  {}

\begin{document}

\autocite{test1} explained why the result in \autocite{prova} is outdated and why one should use those in \autocite{test2}.

\printbibliography[nottype=personalcommunication]

\end{document}

enter image description here

Related Question