Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Using author-date style, how does one insert a period or stop at the end of every reference? I presume you have to \renewbibmacro and \setunit*{\adddot} to a specific field?

\documentclass[a4paper,oneside,10pt]{article} % Unix options  
\usepackage{endnotes,setspace,excludeonly,etex,ifthen,etoolbox,logreq,etoolbox,keyval,url}
\usepackage[english]{babel} \usepackage{csquotes}
\usepackage[style=authoryear,natbib=true,maxbibnames=4,backend=biber]{biblatex}

\renewbibmacro*{publisher+location+date}{%
   \printtext[parens]{%ADDED
     \printlist{location}%
     \iflistundef{publisher}
       {\setunit*{\addcomma\space}}
       {\setunit*{\addcolon\space}}%
     \printlist{publisher}%
     \setunit*{\addcomma\space}%
     \usebibmacro{date}%
   }\nopunct% ADDED
   \newunit}
\renewbibmacro*{volume+number+eid}{%
   \printfield{volume}% % 
   \setunit*{\adddot}% DELETED   \setunit*{\addcolon}% ADDED  
   \printfield{number}%
   \setunit{\addcomma\space}%
   \printfield{eid}}

\usepackage{fancyhdr}
\pagestyle{plain}

\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{knuth:ct:a,shore}
\printbibliography
\end{document}
share|improve this question
3  
We are going to need a minimal example here: the usual approach is to have references-as-sentences. –  Joseph Wright Oct 7 '11 at 8:20
    
OK, not used to quoting but hope this is correct. I've tried mashed up my code and the bibtex-examples that the great lockstep used to answer a previous post –  DGarside Oct 7 '11 at 11:56
add comment

1 Answer

up vote 4 down vote accepted

Please use the following redefinition.:

\renewbibmacro*{publisher+location+date}{%
   \printtext[parens]{%ADDED
     \printlist{location}%
     \iflistundef{publisher}
       {\setunit*{\addcomma\space}}
       {\setunit*{\addcolon\space}}%
     \printlist{publisher}%
     \setunit*{\addcomma\space}%
     \usebibmacro{date}%
   }\setunit{\addspace}}

The command nopunct influences the command \finentry which produces a final period.

To remove all final periods use:

\renewcommand*{\finentrypunct}{}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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