![在数字样式和 authortitle 之间切换 biblatex 样式](https://linux22.com/image/251875/%E5%9C%A8%E6%95%B0%E5%AD%97%E6%A0%B7%E5%BC%8F%E5%92%8C%20authortitle%20%E4%B9%8B%E9%97%B4%E5%88%87%E6%8D%A2%20biblatex%20%E6%A0%B7%E5%BC%8F.png)
我可能需要一些有关natbib
/ 的帮助biblatex
。在我的文档中,我使用\footcite{}
命令来添加我的引用。我使用bibstyle=numeric-verb
和citestyle = authortitle-icomp
- 很好,我喜欢这个。
现在我的问题来了!图片的参考资料不太好。到目前为止,我也使用过,\footcite{}
但我只想在图片标题后面的括号中显示来源编号。而且这只在 中list of figures
。
一个简短的例子:
...
\includegraphics[draft]{fig1.jpg}
\caption[My first figure (Source: \cite{Geppert2004})]{My first figure}
...
它看起来list of figures
应该像这样:
1.1 我的第一幅图(来源:[2]).......第 x 页
好的,这是一个完整的 MWE:
\begin{filecontents}{mybib.bib}
@ELECTRONIC{nowheel,
author = {Richard Dawkins},
month = {November},
year = {1996},
title = {Why dont animals have wheels?},
language = {EN},
url = {http://www.simonyi.ox.ac.uk/dawkins/WorldOfDawkins-archive/Dawkins/Work/Articles/1996-11-24wheels.shtml},
timestamp = {2012.06.27}
}
@ARTICLE{Geppert2004,
author = {Geppert, L. },
title = {Qrio, the robot that could},
journal = IEEE_M_SPECT,
year = {2004},
volume = {41},
pages = {34--37},
number = {5},
timestamp = {2012.06.11}
}
\end{filecontents}
\documentclass[pdftex,a4paper,12pt, titlepage]{scrreprt}
\usepackage[a4paper, left=3cm, right=2.5cm, top=3cm, bottom=3cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage{hyperref,blindtext,graphicx}
\usepackage[
natbib=true,
bibstyle=numeric-verb,
citestyle = authortitle-icomp,
sorting = none
]{biblatex}
\addbibresource{mybib.bib}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\begin{document}
\tableofcontents
\chapter{Hallo Welt}
\blindtext \footcite[S.45]{nowheel}
\begin{figure}[htp]
\centering
\includegraphics[width=0.5\linewidth,draft]{fig1.jpg}
\caption[My first figure (Quelle: \cite{Geppert2004}]{My first figure}
\label{fig1l}
\end{figure}
\chapter{Nochmal}
\blindtext \footcite[S. 36 ff.]{Geppert2004}
\begin{figure}[htp]
\centering
\includegraphics[width=0.5\linewidth,draft]{fig2.jpg}
\caption[My second figure (Quelle: \cite{nowheel}]{My second figure}
\label{fig12}
\end{figure}
\printbibliography
\addcontentsline{toc}{chapter}{Literaturverzeichnis}
\listoffigures
\addcontentsline{toc}{chapter}{Abbildungsverzeichnis}
\end{document}
答案1
我会质疑这种做法的明智性:对于读者来说,我认为引用的一致性有很多需要说明的地方,而混合使用数字和作者标题方案,我认为是不可取的。
但这是你的选择。
您可以定义一个修订的引用命令,打印数字标签而不是作者和标题,就像这样(除了重命名之外,这只是cite
来自的引用命令和宏numeric.cbx
)。加载后,将其放入您的序言中biblatex
。
\newbibmacro*{numcite}{%
\printtext[bibhyperref]{%
\printfield{prefixnumber}%
\printfield{labelnumber}%
\ifbool{bbx:subentry}
{\printfield{entrysetcount}}
{}}}
\DeclareCiteCommand{\numcite}[\mkbibbrackets]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{numcite}}
{\multicitedelim}
{\usebibmacro{postnote}}
现在,\cite
在您的标题中(并且只能在那里)使用\numcite
,您将获得看起来像标准数字引用的东西(因为它就是!)。
我无法保证这不会在复杂的参考书目中引起意外问题;但对于您建议的简单情况,我认为它会通过。
(更复杂的方法将涉及修补\caption
以切换\cite
并\numcite
自动进行;但这似乎有点小题大做。)