Using a modified tufte-common.def
file you can create tufte-latex
documents with biblatex
. A limitation is that tufte-latex
modifies footnotes. So biblatex
features such as \smartcite
inside footnotes and footnote detection with \iffootnote
may not work as intended. Most of this has already been covered in another post.
As for the citation style, you can get most of the way there with some edits to the textcite
bibliography macro and \smartcite
. Both of these are defined in numeric.cbx
.
\documentclass[nobib]{tufte-handout}
\usepackage{hyphenat}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=numeric,citetracker=true,autocite=footnote]{biblatex}
\makeatletter
% If not seen, avoid compact lists and print full citation
\renewbibmacro*{textcite}{%
\ifciteseen
{}
{\clearfield{namehash}}%
\iffieldequals{namehash}{\cbx@lasthash}
{\multicitedelim}
{\cbx@tempa
\ifciteseen
{\ifnameundef{labelname}
{\printfield[citetitle]{labeltitle}}
{\printnames{labelname}}}
{\usedriver
{\DeclareNameAlias{sortname}{default}%
\clearfield{pages}%
\clearfield{pagetotal}}
{\thefield{entrytype}}}%
\addspace\bibopenbracket}%
\ifnumequal{\value{citecount}}{1}
{\usebibmacro{prenote}}
{}%
\usebibmacro{cite}%
\savefield{namehash}{\cbx@lasthash}%
\gdef\cbx@tempa{\bibclosebracket\multicitedelim}}
% Make \smartcite like \textcite
\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote]
{\let\cbx@tempa=\empty
\undef\cbx@lasthash}
{\usebibmacro{citeindex}%
\usebibmacro{textcite}}
{}
{\usebibmacro{postnote}%
\bibclosebracket}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
One of the most prominent and distinctive features of this style is the
extensive use of sidenotes \autocites(See)()[10--15]{knuth:ct:a}[10]{companion}.
There is a wide margin to provide ample room for sidenotes and small figures
\autocite{knuth:ct:a,knuth:ct:b}. Any footnotes will automatically be converted to
sidenotes.\footnote{Results from \textcite{knuth:ct:a,knuth:ct:b,companion} showed
that...}
\printbibliography
\end{document}

Some notes:
- The
autocite=footnote
option setting makes \autocite
use \smartcite
as its backend citation command.
- The
\ifciteseen
test needs citation tracking enabled. In the example global tracking is enabled via citetracker=true
. Alternative settings are possible. Refer to the manual for details.
- Full citations are printed with
\usedriver
. The first argument to this command allows you to hook code in before printing. This is a good place to suppress fields with \clearfield
and friends. In the example, I suppress the pages
and pagetotal
fields to avoid confusion with page references in postnotes.
- In
numeric
, \textcite
generates compact citation lists. This complicates printing full citations. The edits to textcite
take an easy way out by simply replacing the labelname
or labeltitle
with the full citation.
- The
numeric
style isn't particularly suited to this customization. Refer to the verbose
style or any of its variants for some better alternatives.
Second solution
Edited again, so most multicite commands work.
Edited so \footcite
now works.
A reasonably effective solution that preserves many of biblatex
's featuers is provided by adjusting the way the year gets printed in citations. This can be done by redifining the commands associated to cite:year
and cite:extrayear
. This has the advantage of preserving the ibidem feature.
The code below includes a sample bibliography and then the main file with the redefined citation code.
\begin{filecontents}{test.bib}
@Article{Test,
author = {Author, A. N.},
title = {Article title},
year = 2005,
pages = {10-20},
journal = {Jour.},
vol = {100}
}
@Article{Test2,
author = {Author, A. N.},
title = {Second article},
year = 2005,
pages = {10-20},
journal = {Jour.},
vol = {100}
}
@Article{Test3,
author = {Author, A. B.},
title = {Third article},
year = 2005,
pages = {10-20},
journal = {Jour.},
vol = {100}
}
@Article{Test4,
author = {Author, A. N.},
title = {Fourth article},
year = 2007,
pages = {10-20},
journal = {Jour.},
vol = {100}
}
\end{filecontents}
\documentclass{article}
\usepackage[style=authoryear-icomp,autocite=plain]{biblatex}
\addbibresource{test.bib}
\renewbibmacro*{cite:labelyear+extrayear}{%
\iffieldundef{labelyear}
{}
{\iftoggle{blx@footnote}
{\printtext[bibhyperref]{%
\printfield{labelyear}%
\printfield{extrayear}}}
{\footnote{\printtext[bibhyperref]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}}
\renewbibmacro*{cite:extrayear}{%
\iffieldundef{extrayear}
{}
{\iftoggle{blx@footnote}
{\printtext[bibhyperref]{\printfield{extrayear}}}%
{\footnote{\printtext[bibhyperref]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}}
\renewcommand{\compcitedelim}{\space}
\begin{document}
\thispagestyle{empty}
\autocite{Test} and
\autocite[page 3]{Test}.
Some text \parencite{Test2}.
Here is a footnote citation\footcite{Test}.
\autocite{Test,Test4,Test3}.
\printbibliography
\end{document}

As the above shows this works with \autocite
, \parencite
and accepts their optional arguments. In this style \autocite
is the same as \cite
.
I haven't demonstrated \textcite
, though its ouptut may be useful sometimes; \footcite
has also been set up to work, thanks to biblatex
's blx@footnote
toggle that detects whether we are in a footnote or not.
The code also takes care of most multiple citations \cite{ref1,ref2}
. However, there is a spurious comma, if ref1
and ref2
are two publications from the same author in the same year. Fixing that requires, more substanitial rewriting of the citation style file: each of the commands \cite
, \textcite
, etc. in author-icomp.cbx
contains an explicit comma via \setunit{\addcomma}
, that needs to be deleted.
Original solution
Here is a repost of the original solution, as this apparently helps the OP best. It simply defines a newcommand \citepfy
(plain-foot-year) that calls \citeauthor
followed by a modified \footcite
command that produces only the year. It does not accept any of the optional arguments cite commands in biblatex
usually do.
\begin{filecontents}{b.bib}
@Article{Test,
author = {Author, A. N.},
title = {Article title},
year = 2005,
pages = {10-20},
journal = {Jour.},
vol = {100}
}
\end{filecontents}
\documentclass{article}
\usepackage[style=authoryear-icomp]{biblatex}
\addbibresource{b.bib}
\newcommand{\citepfy}[1]{\citeauthor{#1}\footyearcite{#1}}
\DeclareCiteCommand{\footyearcite}[\mkbibfootnote]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{citeyear}}
{}
{\usebibmacro{cite:postnote}}
\begin{document}
\citepfy{Test}
\printbibliography
\end{document}

Best Answer
Some citation commands are intended for use "in the flow of text". Examples include
\textcite
,\citetitle
,\citeauthor
and\citeyear
. If you stick to these commands and\autocite
, you can get by with just a change inbiblatex
load-time option settings.In the
authoryear
styles,\autocite
is based on\parencite
. Inverbose
styles,\autocite
invokes\smartcite
, which behaves like\parencite
in footnotes and\footcite
inline. The neat thing about\autocite
is that it moves punctuation for you. The starred variant\autocite*
issues the starred version of its backend citation command. Inauthoryear
styles this is\parencite*
, which prints onlyyear
.Possessive citations just require a change to the
labelname
format in\textcite
. In the example below I adapted the solution in this post. Full person names are printed the first time an entry is cited via\textcite
or\citeauthor
with the help of another answer by domwass. To cope with differences in the construction of theauthoryear
andverbose
citation commands, I've defined some patches usingetoolbox
extensions by egreg.Switching to the
verbose
style viagives
This solution should work with any of the standard
authoryear
andverbose
variants. Details on these styles can be found in thebiblatex
documentation.