I need citations (mostly) as footnotes in the following form:
Book first appearance:
F. Author – T.S. Author, The Longtitle and not the Shorttitle, Address 1965, 4.
Second appearance:
F. Author – T.S. Author, Shorttitle (cf. nt. 1) 5.
Article in journal first appearance:
A. Author, "Title of the Article", Journal Title 65 (1968) 113-126.
So far I got to:
F. Author – T.S. Author, The Longtitle and not the Shorttitle, Address, 1965, 4.
F. Author – T.S. Author, Shorttitle (cf. nt. 1), 5.
A. Author, "Title of the Article", Journal Title 65 (1968), 113-126.
As you see, I didn't achieve to get rid of the commas between address and year and after the two parentheses. So far I got with the following code:
\documentclass{scrartcl}
\begin{filecontents*}{mybib.bib}
@BOOK{Abook,
author = "First Author and The Second Author",
title = {The Longtitle and not the Shorttitle},
shorttitle = {Shorttitle},
publisher = "The Publisher",
address = "Address",
year = "1965"}
@article{Aarticle,
Author = {Article Author},
Journal = {Journal Title},
Pages = {113-126},
Title = {Title of the Article},
Volume = {65},
Year = {1968}}
\end{filecontents*}
\usepackage[style=verbose-note,firstinits=true]{biblatex}
\renewbibmacro*{footcite:note}{%
\ifnameundef{labelname}
{\printfield{label}}
{\printnames[first-last]{labelname}}%
{\setunit*{\nametitledelim}%
\printfield[title]{labeltitle}}%
\setunit*{\space\printtext{(}}%
\printtext{%
\bibstring{seenote}\addnbspace
\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}})%
\iftoggle{cbx:pageref}
{\ifsamepage{\the\value{instcount}}
{)\csuse{cbx@f@\thefield{entrykey}}}
{}
{\addcomma\space\bibstring{page}\addnbspace
\pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
{}}}
\renewcommand{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkbibnamefirst}[1]{{\iffirstinits{\let~\-}{}#1}}
\renewcommand*{\multinamedelim}{~--\space}
\renewcommand*{\finalnamedelim}{~--\space}
\renewbibmacro{in:}{%
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\DeclareFieldFormat{pages}{#1}
\AtEveryCitekey{%
\clearlist{publisher}%
}
\DefineBibliographyStrings{english}{%
seenote = {cf. nt.},
}
\bibliography{mybib}
\begin{document}
Here and there. \footcite[4]{Abook}
There and here. \footcite[5]{Abook}
Up and down. \footcite{Aarticle}
\end{document}
My first attempt to get any further was to use \ifciteseen
the following way:
\renewcommand*{\postnotedelim}{%
\ifciteseen
{\space}
{\addcomma\space}}
This does not work as also the first appearance is treated as already seen (I think because it is nested with another \ifciteseen
inside \newbibmacro*{footcite}
.
So my second try was:
\newbibmacro*{footcite}{%
\usebibmacro{cite:citepages}%
\ifciteseen
{\renewcommand*{\postnotedelim}{\space}
{\iffieldundef{shorthand}
{\usebibmacro{footcite:note}}
{\usebibmacro{footcite:shorthand}}}}
{\usebibmacro{footcite:full}%
\usebibmacro{footcite:save}}}
This solved part of the problem, but created another one: It retained the comma in the first appearance of the book (god), removed the comma in the second appearance (god), added a space between the footnote number and the citation (bad).
For the commas between the address and year and after the parenthesis in the article citation I didn't find any idea how to proceed.
So any suggestions how to get rid of the three commas mentioned, without touching the others?