在数字样式和 authortitle 之间切换 biblatex 样式

在数字样式和 authortitle 之间切换 biblatex 样式

我可能需要一些有关natbib/ 的帮助biblatex。在我的文档中,我使用\footcite{}命令来添加我的引用。我使用bibstyle=numeric-verbcitestyle = 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自动进行;但这似乎有点小题大做。)

相关内容