The verbose
style and its variants follow an authortitle
-style bibliography, which is closely based on the standard style defined in standard.bbx
.
From this file you can see that the punctuation preceding publication dates are set by a few different bibliography macros, depending on the entry type: issue+date
for @article
, publisher+location+date
for most books, institution+location+date
for reports and theses, organization+location+date
for @misc
, and location+date
for @booklet
and @unpublished
.
In issue+date
publication dates are already set in parentheses. To remove punctuation before the page reference you can redefine the \bibpagespunct
command from biblatex.def
in your preamble:
\renewcommand*{\bibpagespunct}{%
\ifentrytype{article}{\addspace}{\addcomma\space}}
To remove page prefixes (e.g. "p." and "pp.") add:
\DeclareFieldFormat{page}{#1}
\DeclareFieldFormat{pages}{#1}
The comma preceding the publication date in other entry types can originate from a few different places. For example in publisher+location+date
:
\newbibmacro*{publisher+location+date}{%
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}% <- HERE
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}% <- OR HERE
\usebibmacro{date}%
\newunit}
Same goes for the other *location+date
macros. To remove the commas change all relevant instances of \addcomma\space
to \addspace
in your redefinitions. Otherwise you can use the following dirty trick (at your own risk):
\renewbibmacro*{date}{\setunit{\addspace}\printdate}
In all these publications dates, if you are just wanting to print the publication year add the following to your preamble.
\AtEveryBibitem{%
\clearfield{month}%
\clearfield{day}}
\AtEveryCitekey{%
\clearfield{month}%
\clearfield{day}}
Your last request about use of shortauthor
and shorttitle
in citations would be better addressed as a new question. It needs to be clarified anyway.
You will also have to set default
, as the cite commands in verbose-trad2
* temporarily set \DeclareNameAlias{sortname}{default}
(and by ... default default
is \DeclareNameAlias{default}{given-family}
).
So just issue
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}
in the preamble. Note that default
is used in a few other places as well, so this change also affects the bibliography. If you want a modification that affects only the citations, see below.
The MWE
\documentclass{article}
\usepackage[style=verbose-trad2, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}
\begin{document}
A\footcite{wilde}
B\footcite{cicero}
\printbibliography
\end{document}
gives
* The code can be found in verbose-trad2.cbx
, the sixth line below is the offending one.
\newbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\global\toggletrue{cbx:fullcite}%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
This shows us that a different solution would be
\DeclareNameAlias{sortname}{family-given}
\renewbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\global\toggletrue{cbx:fullcite}%
\printtext[bibhypertarget]{%
\usedriver
{}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
But of course that's longer. The effect is slightly different as this will only affect the name format in long citations and not anywhere else.
edit See the edit history for the pre-3.3 code if you are using an outdated version of biblatex
. Cf. Biblatex 3.3 name formatting.
Best Answer
Biblatex
has two macros called\citeauthor
and\citetitle
which one can use. You can either just write them one after the other or define yourself a new command like themycite
in my code example below:The only missing point is the first name of the Author but maybe you can live with that.