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}
Since verbose-inote-luh-ipw
doesn't differ that much from verbose-inote
, I decided to use the latter as basis. It is often nicer to modify the standard styles directly instead of the (sometimes highly-specific) custom styles.
Try (filecontents
warning: the document will overwrite the .bib
file with the same name)
\documentclass[a4paper,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style=verbose-inote,isbn=false,doi=false,backend=biber]{biblatex}
\usepackage{hyperref}
\begin{filecontents*}{\jobname.bib}
@incollection{Aalto.2012c,
author = {Aalto, Pami and Dusseault, David and Kivinen, Markku and Kennedy, Michael D.},
title = {{H}ow are {R}ussian energy policies formulated? {L}inking the actors and structures of energy policy},
editor = {Aalto, Pami},
booktitle = {{R}ussia's energy policies},
year = {2012},
address = {Cheltenham and Northampton, MA},
}
@article{Balmaceda.2008,
author = {Balmaceda, Margarita Mercedes},
year = {2008},
title = {{C}orruption, {I}ntermediary {C}ompanies, and {E}nergy {S}ecurity: {L}ithuania's {L}essons for {C}entral and {E}astern {E}urope},
volume = {55},
number = {4},
journal = {Problems of Post-Communism},
}
@book{Belyi.2015,
year = {2015},
title = {{S}tates and markets in hydrocarbon sectors},
address = {Basingstoke and New York, NY},
editor = {Belyi, Andrei V. and Talus, Kim},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{citetitle}{\mkbibemph{#1}}
\DeclareFieldFormat{journaltitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}% volume of a journal
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}~#1}% number of a journal
\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewcommand*{\nametitledelim}{\labelnamepunct}
\newbibmacro*{in:}{%
\ifentrytype{article}
{}
{\printtext[brackets]{%
\bibstring{in}\addcolon}\space}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit{\addcomma\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\newbibmacro*{puborginst+location+date}[1]{%
\printlist{location}%
\iflistundef{#1}
{\setunit*{\addspace}}
{\setunit*{\addcolon\space}}%
\printlist{#1}%
\setunit*{\addspace}%
\usebibmacro{date}%
\newunit}
\renewbibmacro*{publisher+location+date}{\usebibmacro{puborginst+location+date}{publisher}}
\renewbibmacro*{institution+location+date}{\usebibmacro{puborginst+location+date}{institution}}
\renewbibmacro*{organization+location+date}{\usebibmacro{puborginst+location+date}{organization}}
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{issue+date}%
\setunit{\addcomma\space}%
\usebibmacro{volume+number+eid}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
\renewbibmacro*{issue+date}{%
\printfield{issue}%
\setunit*{\addspace}%
\usebibmacro{date}%
\newunit}
\renewbibmacro*{byeditor}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addcomma\space}%
\usebibmacro{editorstrg}
\newunit}%
\usebibmacro{byeditorx}}
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addcomma\space}%
\usebibmacro{editor+othersstrg}
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit\footcite{Balmaceda.2008}.
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis\footcite{Aalto.2012c}.
Curabitur dictum gravida mauris\footcite{Belyi.2015}.
\printbibliography
\end{document}
Best Answer
Normally the
verbose-trad
styles go together with aauthortitle
style and thus use titles to disambiguate references. So "Johnny, op. cit." will only appear if you cite exactly one work by Johnny, as soon as there are more, thetitle
field is added to avoid confusion.Anyway, we can make sure the year is always added.
We first borrow a
authoryear
macroAnd then inject this macro into the relevant places to print the year after the name
MWE