Ich muss die URL in den Zitaten in den Fußnoten für jede Quelle hinzufügen, die eine URL hat. Es sollte wie die Fußnoten aussehenAUndBin der MWE-Ausgabe. Ich habe Folgendes gefunden:Fügen Sie mit style=authortitle-icomp ein URL-Feld zu Footcites hinzuaber die akzeptierte Lösung funktioniert bei mir nicht und ich kann sie nicht ändern, damit sie richtig funktioniert (ich habe sie im MWE kommentiert).
Ich verwende Biblatex, Biber, APA-Stil, Italienisch. Ich bearbeite auf Sharelatex.com.
MWE:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[babel]{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{italian}{italian-apa}
\defbibfilter{online}{
type=online
}
\defbibfilter{offline}{
type=book or
type=article or
type=report
}
%\renewbibmacro*{cite:title}{%
%\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}
%\iffieldundef{url}{}{\nametitledelim\printfield{url}}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{cit1,
title = {Title},
url = {http://www.website.com},
timestamp = {2013-04-11T17:20:44Z},
titleaddon = {Example},
urldate = {2013-04-10},
date = {2004}
}
@report{cit2,
author = {BBBAuthor, Name},
title = {Title Title Title},
url = {http://www.example.com},
timestamp = {2013-04-11T17:20:44Z},
titleaddon = {Website Name},
urldate = {2013-04-10},
date = {2004}
}
@book{cit3,
location = {Location},
title = {Title Title},
timestamp = {2016-02-01T21:50:03Z},
langid = {english},
publisher = {Publisher},
author = {Author, Name},
date = {2001}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\begin{minipage}{\textwidth}
Bla bla\footnote{\cite[]{cit1}, \url{http://www.website.com}}.
Bla\footnote{\cite[]{cit2}, \url{http://www.example.com}}.
BLA BLA\footcite[]{cit1}
Blaaa blaa bla\footcite[]{cit3}.
\printbibliography[heading=bibintoc,filter=offline,title={Bibliography}]
\printbibliography[title={Online},filter=online,heading=subbibliography]
\end{minipage}
\end{document}
Ausgabe:
Antwort1
Da wir die Zitierbefehle ändern müssen, hängt die Lösung stark vom Stil ab und biblatex-apa
die Zitiermakros unterscheiden sich authortitle
erheblich von den Standardmakros. Deshalb hat Ihr Versuch nicht funktioniert.
cite
Am einfachsten ist es wahrscheinlich, das Makro direkt hier zu ändern (man könnte es ändern cite:plabelyear+extrayear
, aber das könnte andere Befehle beeinträchtigen).
\makeatletter
\renewbibmacro*{cite}{%
\iffieldequals{namehash}{\cbx@lasthash}
% Multiple cites in one command
{\setunit{\compcitedelim}%
\usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
{\usebibmacro{cite:noname}%
\setunit{\nameyeardelim}%
\usebibmacro{cite:plabelyear+extrayear}%
\savefield{namehash}{\cbx@lasthash}}
% Normal cite
{\ifnameundef{shortauthor}
{\printnames[labelname][-\value{listtotal}]{labelname}}%
{\cbx@apa@ifnamesaved
{\printnames{shortauthor}}
{\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
\setunit{\nameyeardelim}%
\usebibmacro{cite:plabelyear+extrayear}%
\savefield{namehash}{\cbx@lasthash}}}%
\setunit{\addcomma\space}%<-- this is new
\printfield[citeurl]{url}%<--- and so is this
\setunit{\multicitedelim}}
\makeatother
ist eine Kopie der Definition von apa.cbx
mit zwei am Ende hinzugefügten Zeilen.
MWE
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[babel]{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{italian}{italian-apa}
%\renewbibmacro*{cite:title}{%
%\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}
%\iffieldundef{url}{}{\nametitledelim\printfield{url}}}}
\makeatletter
\renewbibmacro*{cite}{%
\iffieldequals{namehash}{\cbx@lasthash}
% Multiple cites in one command
{\setunit{\compcitedelim}%
\usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
{\usebibmacro{cite:noname}%
\setunit{\nameyeardelim}%
\usebibmacro{cite:plabelyear+extrayear}%
\savefield{namehash}{\cbx@lasthash}}
% Normal cite
{\ifnameundef{shortauthor}
{\printnames[labelname][-\value{listtotal}]{labelname}}%
{\cbx@apa@ifnamesaved
{\printnames{shortauthor}}
{\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
\setunit{\nameyeardelim}%
\usebibmacro{cite:plabelyear+extrayear}%
\savefield{namehash}{\cbx@lasthash}}}%
\setunit{\addcomma\space}%<-- this is new
\printfield[citeurl]{url}%<--- and so is this
\setunit{\multicitedelim}}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{cit1,
title = {Title},
url = {http://www.website.com},
titleaddon = {Example},
urldate = {2013-04-10},
date = {2004}
}
@report{cit2,
author = {BBBAuthor, Name},
title = {Title Title Title},
url = {http://www.example.com},
titleaddon = {Website Name},
urldate = {2013-04-10},
date = {2004}
}
@book{cit3,
location = {Location},
title = {Title Title},
langid = {english},
publisher = {Publisher},
author = {Author, Name},
date = {2001}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Bla bla\footcite[]{cit1}.
Bla\footcite[]{cit2}
BLA BLA\footcite[]{cit1}
Blaaa blaa bla\footcite[]{cit3}.
\printbibliography[heading=bibintoc,nottype=online,title={Bibliography}]
\printbibliography[title={Online},type=online,heading=subbibliography]
\end{document}