我想使用两种方式在同一个文件中引用参考文献。一种是数字格式,另一种是作者年份格式。我还希望在文档末尾的“参考文献”中只出现数字参考文献,而不出现作者年份参考文献。
例子:
这个引用将在参考文献 [1] 中,但不会在另一处 [Doe14] 中。
参考
[1] Nice Author,“好文章”,2000 年
作为一种变体,我可能想在文本中间写下作者年份参考:
该引用将在参考文献 [1] 中,而这个引用将在文档正文 [Doe14] 中。
- [Doe14] Jon Doe,“搞砸了 bibtex”,2014 年
在数字参考书目之前,这里有文档中的更多文本。
参考
[1] Nice Author,“好文章”,2000 年
答案1
我不确定这是否是个好主意;引用两种不同的风格可能会造成混淆,这不是一个好的做法。但是,看到对这个问题的评论,这似乎是必需的,所以下面有一个解决方案:
\begin{filecontents*}{aabcde.bib}
@BOOK{Carey,
AUTHOR="G. V. Carey",
TITLE="Mind the Stop: A Brief Guide to Punctuation",
PUBLISHER="Penguin", YEAR="1958"}
@BOOK{Cooper,
AUTHOR="Bruce M. Cooper",
TITLE="Writing Technical Reports",
PUBLISHER="Penguin", YEAR="1964"}
@BOOK{Gowers,
AUTHOR="Sir Ernest Gowers",
TITLE="The Complete Plain Words",
PUBLISHER="Penguin", YEAR="1954"}
(but first published by HMSO)
@BOOK{Hart,
AUTHOR="Horace Hart",
TITLE="[Hart's] Rules for Compositors and Readers
[at the Oxford University Press]",
PUBLISHER="Oxford University Press",
EDITION="39", YEAR="1983"}
(but first published in 1893)
\end{filecontents*}
\documentclass{article}
\usepackage{multibib}
\newcites{auyear}{Secondary Literature}
\newsavebox\mybox
\begin{document}
\cite{Gowers}, \citeauyear{Carey}, \cite{Hart}, \citeauyear{Cooper}
\bibliographystyle{plain}
\bibliography{aabcde}
\bibliographystyleauyear{alpha}
\begin{lrbox}{\mybox}
\noindent\parbox{\textwidth}{\bibliographyauyear{aabcde}}
\end{lrbox}
\end{document}
这个想法是利用multibib
包来定义二级参考书目(带有作者年份标签的参考书目,不会打印)。此二级参考书目定义为
\newcites{auyear}{Secondary Literature}
并且有alph
风格。您可以使用 来生成此参考书目中项目的引文\citeauyear{<key>}
。
实际的二级参考书目从未被打印出来,因为它被存储在一个从未使用过的盒子里。
如果您的文档被调用mydoc.tex
,则使用
pdflatex mydoc
bibtex mydoc
bibtex auyear
pdflatex mydoc
pdflatex mydoc