这个问题与我之前的一个问题相关: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>}
这里使用的在匹配正确的页脚间距方面做得很好。