我需要以非常特定的样式引用表格和图像以满足机构的要求。这些\printbibliography
引用的最终输出应如下所示:
图 3.http://www.example.com/img/name.jpg,访问日期:2014 年 6 月 3 日
...
表 6.http://www.example.com/tables/tables.pdf,访问于2014年3月9日。
手动操作的话,应该是这样的:
\newcommand{\tablebib}[3]{%
Table \ref{#1} \url{#2}, visited on \displaydate{date}%
}
我正在使用 biblatex 来引用其他文献,也想用它来引用那些参考文献。biblatex 如何输出这样的格式?
最终的参考书目结果应该是或多或少标准authoryear
风格(我设法做到了这一点)和上述从互联网上引用图像和表格来源的风格(我不知道如何做到这一点)的混合:
Tomplinson, D.、Baeyer, CL、Stinson, JN、Sung, L. (2010):《儿童自我报告疼痛强度面部表情量表的系统评价》,《儿科学》,第 126 卷,第 5 期
...
图 3.http://www.example.com/img/name.jpg,访问于2014年3月6日。
另一个手动尝试是:
% arara: xelatex
% arara: biber
% arara: xelatex
\documentclass{scrartcl}
\usepackage[backend=biber,style=authoryear,sorting=nty]{biblatex}
\addbibresource{mwe.bib}
\begin{document}
\begin{table}[htb]
\begin{tabular}{l}
test
\end{tabular}
\caption{Description\cite{tab:test}}
\end{table}
\printbibliography
\end{document}
附有参考书目:
@Online{tab:test,
Url = {http://www.example.com/images/image.jpg},
Urldate = {2014-02-25},
Timestamp = {2014.06.13},
Note = {Table \ref{tab:test}}
}
输出:
(2014 年)表??. 網址:http://www.example.com/images/image.jpg(访问日期:2014 年 2 月 25 日)
年份不应可见。引用应被解析。URL:
不应显示,但网址本身应可见。
答案1
您\ref
应该指向表格标题的标签,而不是 bibitem 本身。这应该可以解决引用问题:
\documentclass{scrartcl}
\usepackage[colorlinks, urlcolor=black, linkcolor=black]{hyperref} %if you want the link to be clickable
\usepackage{filecontents}
\begin{filecontents} {mwe.bib}
@online{tab:test,
author = {Doe, John},
Url = {http://www.example.com/images/image.jpg},
Urldate = {2014-02-25},
Timestamp = {2014.06.13},
Note = {Table \ref{tab1}}, %<== this should point to your table caption label
year = {2014}, %this is necessary for the in-text citation to work
}
\end{filecontents}
\usepackage[backend=biber, backref=true, style=authoryear, sorting=nty]{biblatex}
\addbibresource{mwe.bib}
\DeclareBibliographyDriver{online}{%this defines what will be printed in the bibliography for entries of type 'online'
\usebibmacro{note+pages}
\setunit{\addperiod\addspace}%Period+space after 'Note' field
\usebibmacro{url+urldate}
\usebibmacro{finentry}}
\begin{document}
\begin{table}
\caption{Figure legend here (\citeyear{tab:test})}{\label{tab1}} %<== this is what your \ref should be pointing to
\end{table}
Example \citeyear{tab:test} %This lets you cite only the year even if there is an author listed in your bib file, as opposed to \cite
\printbibliography
\end{document}
编辑:
添加此项将删除URL:
\DeclareFieldFormat{url}{%
{\url{#1}}}