Biblatex 仅引用一次脚注,并使用括号

Biblatex 仅引用一次脚注,并使用括号

我已经开始付诸实践这个问题。但我想改变这一点,让引用部分加上括号:

  • 在文本上标中,
  • 在脚注的上标中,
  • 在参考书目中。

我设法让第一个和最后一个运行起来。但是我不知道该怎么做第二个。

请注意,我主要用英语和荷兰语写作,因此我认为不会受到太多 babel 干扰。

此外,有没有办法对脚注进行排序,以便首先\footnote{}打印所有“正常”脚注,然后在其下面打印所有\sfcite{}引用脚注(即每页)?

以下是我设法想出的东西:

\documentclass{article}
\usepackage[english]{babel}
\usepackage[pdfborder={0 0 0}]{hyperref}
\usepackage[citestyle=numeric-comp,sorting=none,hyperref]{biblatex}
\usepackage{filecontents}

% No brackets around the number of each bibliography entry
\DeclareFieldFormat{labelnumberwidth}{\textbf{[#1]}}

%---------------------------------------------------------------
% Essentially verbatim from Joseph Wright
% http://www.texdev.net/2010/03/08/biblatex-numbered-citations-as-footnotes/
\makeatletter
\ExecuteBibliographyOptions{citetracker,sorting=none}

\DeclareCiteCommand{\notefullcite}[\mkbibbrackets]
    {\usebibmacro{cite:init}%
        \usebibmacro{prenote}}
    {\usebibmacro{citeindex}%
        \usebibmacro{notefullcite}%
        \usebibmacro{cite:comp}}
    {}
    {\usebibmacro{cite:dump}%
        \usebibmacro{postnote}}

\newbibmacro*{notefullcite}{%
    \ifciteseen
        {}
        {\footnotetext[\thefield{labelnumber}]{%
            \usedriver{}{\thefield{entrytype}}\addperiod}}}

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
    {\usebibmacro{cite:init}%
        \let\multicitedelim=\supercitedelim
        \iffieldundef{prenote}
        {}
        {\BibliographyWarning{Ignoring prenote argument}}%
    \iffieldundef{postnote}
        {}
        {\BibliographyWarning{Ignoring postnote argument}}}
    {\usebibmacro{citeindex}%
        \usebibmacro{sfcite}%
        \usebibmacro{cite:comp}}
    {}
    {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
    \ifciteseen
        {}
        {\xappto\cbx@citehook{%
            \noexpand\footnotetext[\thefield{labelnumber}]{%
            \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
    \mkbibsuperscript{[#1]}%
    \cbx@citehook
    \global\let\cbx@citehook=\empty}
\let\cbx@citehook=\empty
\makeatother
%---------------------------------------------------------------

\begin{filecontents}{\jobname.bib}
@article{ref1,
    hyphenation = {american},
    title = {Natural Products as Sources of New Drugs over the Last 25 Years},
    author = {Newman, D.J. and Cragg, G.M.},
    journal = {J. of Nat. Prod.},
    volume = {70},
    number = {3},
    pages = {461--477},
    year = {2007}}
@article{ref2,
    hyphenation = {american},
    title = {Natural products as leads to potential drugs: an old process or the new hope for drug discovery?},
    author = {Newman, D.J.},
    journal = {J. of Med. Chem.},
    volume = {51},
    number = {9},
    pages = {2589--2599},
    year = {2008}}
@online{ref3,
    author = {Quintin, C.},
    title = {Les eponges},
    url = {http://christophe.quintin.pagesperso-orange.fr/Liste_Doc.html},
    urldate = {2009-05-03}
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
First citation.\sfcite{ref1,ref2} Some text\footnote{A footnote}.


\pagebreak
Second citation\sfcite{ref1}, second citation\sfcite{ref2}, first citation.\sfcite{ref3}
\printbibliography
\end{document}

答案1

可以通过重新定义 来获得引文脚注中的上标和括号\@makefntext。使用french选项babel,您需要改为\@makefntextFB。可以使用 来将引文和“原始”脚注打印为单独的列表manyfoot包裹。

\documentclass{report}
\usepackage[dutch]{babel}
%\usepackage[french]{babel}
\usepackage[style=numeric-comp]{biblatex}
\usepackage[colorlinks=true]{hyperref}
\usepackage{manyfoot}

\ExecuteBibliographyOptions{citetracker=true,sorting=none}

% Citation footnotes: use \footnoteA
\DeclareNewFootnote{A}

% Vanilla footnotes: use \footnoteB
\DeclareNewFootnote{B}

% Number of each bibliography entry in brackets
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\makeatletter

\newtoggle{cbx@togcite}

% Citation number superscript in brackets
\renewcommand\@makefntext[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}

% Citation number superscript in brackets (for babel french)
\ifdef{\@makefntextFB}{%
\renewcommand\@makefntextFB[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}}{}

%---------------------------------------------------------------
% Mostly verbatim from Joseph Wright
% http://www.texdev.net/2010/03/08/biblatex-numbered-citations-as-footnotes/

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{sfcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
  \ifciteseen
  {}
  {\xappto\cbx@citehook{%
   \global\toggletrue{cbx@togcite}%
   \noexpand\footnotetextA[\thefield{labelnumber}]{%
     \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{\mkbibbrackets{#1}}%
  \cbx@citehook%
  \global\let\cbx@citehook=\empty}

\let\cbx@citehook=\empty
%---------------------------------------------------------------

\makeatother

\addbibresource{biblatex-examples.bib}

\begin{document}
\chapter{Title}
\null\vfill\noindent
Vanilla footnote.\footnoteB{Vanilla footnote text.}
First citation.\sfcite[cf.][10--15]{companion}
First citation.\sfcite[e.g.][530]{bertram}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
First ``multi'' citation.\sfcite{aristotle:rhetoric,bertram}
\chapter{Title}
\null\vfill\noindent
Second citation.\sfcite{bertram}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
Second citation.\sfcite{aristotle:rhetoric}
Second citation.\sfcite{companion}\footnoteB{Vanilla footnote text.}
First citation.\sfcite{aristotle:poetics}
\printbibliography
\end{document}

以下是第一章的结果摘录: 在此处输入图片描述

第二: 在此处输入图片描述

相关内容