1

I want to add a list of publications to my CV, and I found that the biblatex-publist package offers everything I was looking for.

For conference papers, I used the @misc entry. I want the entries to appear starting with the year, but I want the date to be displayed later in the entry. When using the authoryear bibliography style, I can achieve this with mergedate.

For the publist style, however, this option seems to have no effect, and it begins each entry with the full date. I can use the date=year option to suppress the full date at the beginning of the entry, but it then also omits the full date from the entry later.

Is there a way to achieve an output similar to how mergedate works with authoryear?

MEW:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[backend=biber, bibstyle=publist, % date=year, mergedate=basic, sorting=ydnt]{biblatex}

\plauthorname[Firstname][]{Lastname}

\begin{filecontents*}[overwrite]{publist.bib}

@misc{paper2012test, author = {Lastname, Firstname}, title = {Paper title}, year = {2012}, howpublished = {Paper presented at the meeting of Organization Name, Location}, date = {2012-11-03}, keywords = {paper} }

\end{filecontents*}

\addbibresource{publist.bib}

\begin{document}

\nocite{*}

\printbibliography[type=misc, heading=subbibliography, title={Conference Papers (selected)}]

\end{document}

anbeck
  • 337
  • In my field (CS/NLP) usually @inproceedings is used for conference papers, even if the proceedings are not actually officially published - but maybe for your field that is different. That will probably not solve the date issue though, for that maybe use date=year and put the exact date in the howpublished, i.e., presented at the meeting on 2012-11-03, or in the note field which is usually displayed last. – Marijn Nov 09 '21 at 11:44

1 Answers1

1

By default publist uses authoryear as base style. It therefore 'inherits' the mergedate option. But publist has its own date handling that interferes with what mergedate can do.

Here is a very rudimentary way to get something similar to mergedate to work.

It forces date=year, locally by redefining the macros \printdate and \printdateextra and then do not delete the year for later use if we have a more granular date.

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[backend=biber, bibstyle=publist, mergedate=false, sorting=ydnt]{biblatex}

\plauthorname[Firstname][]{Lastname}

\makeatletter \renewbibmacro*{bpl:date:makedate}{% \begingroup \protected\def\printdate{\csuse{mkdaterangeyear}{}}% \protected\def\printdateextra{\csuse{mkdaterangeyearextra}{}}% \printtext{% \iffieldundef{year}{% \iffieldundef{pubstate}% {} {% \printfield{pubstate}% \if@pubstateextra \printfield{extradate}% \fi% }% }{% \iffieldundef{month}% {\printdateextra}% {\printdate}% }% }% \endgroup }

\renewbibmacro*{bpl:year+labelyear}{% \iffieldundef{year}{% \iffieldundef{pubstate}% {\let\bbx@lasthash\undefined}% {% \usebibmacro{bpl:date:labeldate+extradate}% \savefield{pubstate}{\bbx@lasthash}% \clearfield{pubstate}% }% }{% \usebibmacro{bpl:date:labeldate+extradate}% \savefield{year}{\bbx@lasthash}% \iffieldundef{month} {\clearfield{year}} {}% }% } \makeatother

\begin{filecontents}[overwrite]{\jobname.bib} @misc{paper2012test, author = {Lastname, Firstname}, title = {Paper title}, year = {2012}, howpublished = {Paper presented at the meeting of Organization Name, Location}, date = {2012-11-03}, keywords = {paper}, } \end{filecontents} \addbibresource{\jobname.bib}

\begin{document} \nocite{*}

\printbibliography \end{document}

2012. Paper title. Paper presented at the meeting of Organization Name, Location. Nov. 3, 2012.

moewe
  • 175,683
  • This works perfectly for the conference papers. Unfortunately, the mergedate=false option results in empty parentheses in my @article entries. I was able to use this solution to fix it: https://tex.stackexchange.com/a/540435/65103 – anbeck Nov 10 '21 at 09:40