使用 biblatex 我想要一个部分,其中的参考资料以脚注形式给出

使用 biblatex 我想要一个部分,其中的参考资料以脚注形式给出

这个问题与我之前的一个问题相关:biblatex 脚注参考

在我的论文开头,我有一个致谢页。此页面包含一些参考文献,但我更喜欢将它们列在同一页底部的简短参考书目中,作为页脚,而不是将它们全部捆绑在论文末尾。我使用数字 [#] 样式的参考文献。

我使用 完成了我的参考文献natbib,用于footbib处理脚注引用。放置它们的命令是\footcite{<key>}。我现在正尝试迁移到 biblatex。biblatex 也有一个\footcite{<key>}命令,但它的行为不同,在脚注参考书目中放置一个 [#](没有其他内容)。我正在尝试找到一种合理的方法来实现我想要的功能,并取得了一些进展:

\documentclass{book}
\usepackage[sorting=none,
           style=chem-rsc,
           %style=footnote-dw
           ]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{theRefs.bib}
@MISC{MatStudio2005,
  author = {{Accelrys Software Inc.}},
  title = {Material Studio 4.0},
  year = {2005},
  owner = {Administrator},
  timestamp = {2010.07.02}
}

@ARTICLE{Momma2008,
  author = {Momma, Koichi and Izumi, Fujio},
  title = {VESTA: a three-dimensional visualization system for electronic and
    structural analysis},
  journal = {Journal of Applied Crystallography},
  year = {2008},
  volume = {41},
  pages = {653-658},
  number = {3},
  month = {6},
}
\end{filecontents}

\addbibresource{theRefs.bib}
\newcommand{\footnoteNS}[1]{{\let\thefootnote\relax\footnote{#1}}}

\begin{document}

\chapter*{acknowledgements}
    \begin{refsection}

        Things I would like to acknowledge \cite{Momma2008,MatStudio2005}

        \renewcommand{\bibfont}{\normalfont\footnotesize}
        \footnoteNS{\vspace{-\baselineskip}\printbibliography[heading=none]}
%       \footnoteNS{\printbibliography[heading=none]}

    \end{refsection}
\end{document} 

这种方法虽然有效,但非常不雅观。特别是如果你看看\vspace我必须添加的以删除页脚和水平线之间的空格。此外,虽然看起来可以接受,但规则和参考书目之间的空间仍然不太合适(应该更小)。

有人能建议如何解决这个问题吗?考虑到我希望文档其余部分的引用能够采用当前样式,但独立于致谢(好像它不存在一样)。这个考虑在工作示例中得到处理,但我很容易想到会影响文档其余部分的建议。

如果其中某些方面不清楚,请见谅。如果我写的内容令人困惑,我会尝试修改。

答案1

解决间距问题的一种方法是根据 定义参考书目标题\footnoterule

以下代码演示了这种方法。如果脚注规则是使用其他命令(例如,另一个包或文档类)生成的,则需要调整此解决方案。

感谢 aghsmith 改进了这个答案。

\documentclass{report}
\usepackage{hyperref}
\usepackage[style=chem-rsc,sorting=none]{biblatex}

% Define bibheading by the replacement text of \footnoterule
\edef\bibrule{\footnoterule}
\defbibheading{rule}{\bibrule}

\newcommand{\printbibliographyfootnote}{%
   \let\thefootnote\relax% Suppress footnote mark
   \renewcommand{\bibfont}{\normalsize\footnotesize}% Change bibliography font
   \footnotetext[0]{\printbibliography[heading=rule]}}

\newenvironment{acknowledgements}
  {\let\footnoterule\relax% Suppress footnote rule
   \chapter*{Acknowledgements}
   \begin{refsection}}
  {\end{refsection}
   \clearpage}% Force footnote to be printed before leaving environment

\addbibresource{biblatex-examples.bib}

\begin{document}

\begin{acknowledgements}
Citations.\supercite{companion,bertram}
More citations.\supercite{knuth:ct:a,knuth:ct:b,knuth:ct:c}
\printbibliographyfootnote
\end{acknowledgements}

\chapter{Chapter title}
Chapter citations \cite{bertram,aristotle:poetics,companion}.
Vanilla footnote.\footnote{Footnote text}

\printbibliography

\end{document}

以下是最终的脚注参考书目:

在此处输入图片描述

以及下一章的脚注:

在此处输入图片描述

请注意,参考书目和规则之间的间距并不像常规脚注那样紧密。可以通过重新定义来调整间距bibheading

答案2

我很感谢 Audrey 的回答,并从中学到了很多东西,尽管我自己的工作中采用的解决方案与我最初的方案相差不大。我对 Audrey 的想法中对内部 latex 宏的修改并不完全满意。这个编译时没有警告。

我创建了以下命令,部分基于 Audrey 的想法,部分基于我自己的想法(以及大量的摆弄):

\newcommand{\printbibliographyfootnote}{{%
   % The \footnotemark[<number>] marks the page to put the footnote on. 
   % Using it suppresses a hyperref warning about a missing anchor.
   % [0] does not have a symbol when using the \fnsymbol{<counter>} set.
    \footnotemark[0]
   % Replace \thefootnote with nothing. 
   % \thefoonote produces the marker for both the text and in footnote.
    \let\thefootnote\relax 
   % change bibliography font to \footnotesize
    \renewcommand{\bibfont}{\normalfont\footnotesize}
   % Produce a footnote, without incrementing the counter for footnotes.
    \footnotetext[0]{%          
        \vspace{-1.5\baselineskip}\printbibliography[heading=none]
    }%
}}%

我发现\vspace{<length>}这里使用的在匹配正确的页脚间距方面做得很好。

相关内容