有没有办法可以引用另一个文件中引用的参考文献(并且只有引用的参考文献,而不仅仅是 .bib 中的任何旧条目),并且使用与该文件相同的标签(可能是数字)?
目前,我正在用 Beamer 准备一场讲座的演讲。为此,我准备了一堂课的讲义article
。
我正在使用 TIbiblatex
作为参考。
我的数据库 bib 文件中有大约 100 个条目,但讲义中仅引用了 20 个。
现在我想在我的演讲中(最后一帧)给出我在讲义中引用的参考。
我可以链接我的讲义来在此提供参考吗?
细节:
我必须在讲义中使用以下代码来提供单独参考,
\printbibliography [title=Works cited,category=cited]
像这样,beamer 中是否有任何命令可以提供参考?
我期望这样的代码,
\linkforbibliography{mylecturenotes.tex}
\printbibliography [title=Works cited,category=citedinthelink]
为了方便起见,我给出了这个 mwe。由于我使用了 fontspec,因此我使用 xelatex 来编译它。
梅威瑟:
\documentclass[12 pt]{beamer}
\usetheme[
bullet=circle, % Other option: square
bigpagenumber, % circled page number on lower right
topline=true, % colored bar at the top of the frame
shadow=false, % Shading for beamer blocks
watermark=BG_lower, % png file for the watermark
]{Flip}
\newcommand{\titleimage}{title} % Custom title
\newcommand{\tanedo}{tanedolight} % Custom author name
\newcommand{\CMSSMDM}{CMSSMDMlight.png} % light background plot
\graphicspath{{images/}}
\usefonttheme{professionalfonts} % using non standard fonts for beamer
\usefonttheme{serif} % default family is serif
\usepackage{fontspec}
\setmainfont{Liberation Serif}
\setbeamerfont{frametitle}{series=\bfseries} % Frame titles should be bold
\usepackage[backend=bibtex,sorting=none,defernumbers=true]{biblatex}
\bibliography{mybib}
\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}
\nocite{*}
\AtEveryBibitem{%
\ifentrytype{book}{
\clearfield{url}%
\clearfield{urlyear}%
}{}
\ifentrytype{collection}{
\clearfield{url}%
\clearfield{urlyear}%
}{}
\ifentrytype{incollection}{
\clearfield{url}%
\clearfield{urlyear}%
}{}
}
\setbeamertemplate{bibliography item}[text]
\begin{document}
\section{Title page}
\begin{frame}
This is my title page..
\end{frame}
\begin{frame}
Here my presentation contents are there...
Note that, nowhere in my presentation I am citing.
But, I need to give the reference at the last frame and that must be from some lecture notes(which has its own citations). The reference must the same as that of the lecture notes.
\end{frame}
\section{References}
\begin{frame}[c,allowframebreaks]
\frametitle{References}
% \setbeamertemplate{bibliography item}{\checkmark}
% \bibliographystyle{amsalpha}
% {\scriptsize \bibliography{mybib.bib}}
\renewcommand*{\bibfont}{\scriptsize}
\printbibliography
\end{frame}
\end{document}
flipbeamer 模板可以在此处找到。
moewe 建议的该问题的替代版本:
我是否可以有一个单独的参考列表来提供另一个文件中给出的参考?
以下是我最近创建的原始文件。
\documentclass[11pt,twoside]{article}
\usepackage[backend=bibtex,sorting=anyt,defernumbers=true]{biblatex}
\documentclass[11pt,twoside]{article}
\bibliography{mybib}
\DeclareBibliographyCategory{cited}
\begin{document}
First reference is \cite{berman1974inverses}.. And the second reference is this \cite{lang2002algebra}. etc...
But I want the reference list for this file as well as from the another file.
\printbibliography[category=cited]
\end{document}
现在,我想在这个文件(例如 file1.tex)的末尾给出一个参考列表,其中这是我的另一个文件(例如 file2.tex)中的参考列表。
如何处理这种情况?
答案1
这是lecturenote.tex
文件
\documentclass{article}
\usepackage[backend=bibtex]{biblatex}
\addbibresource{mybib}
\begin{document}
bla bla \cite{mt} foo bar \cite{xyz}
\printbibliography
\end{document}
这是presentation.tex
文件
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage[backend=bibtex]{biblatex}
\begin{document}
\begin{frame}
bla bla
\end{frame}
\begin{frame}
\printbibliography
\end{frame}
\end{document}
运行pdflatex
+bibtex
照常lecturenote.tex
运行这将创建lecturenote.bbl
重命名为presentation.bbl
并运行 pdflatexpresentation.tex
笔记:不需要,也不需要 \addbibresource
运行bibtex
presentation.tex
答案2
仅添加讲座的引用是可以的,假设您引用了能使心情愉快的漫画的出处或不会出现在讲座笔记中的视频,以下两种替代方法可以做到这一点。
假设你使用一个大的 bib 文件来处理所有内容,那么以下非 tex 解决方案有效。在你的 Lecturenotes 目录中执行
find -iname '*aux' | xargs grep aux@cite | sed 's/.*cite{\(.*\)}/\1,/' > citedinlecturenotes.txt
它为您提供了 中引用的参考文献列表citedinlecturenotes.txt
,您可以将其复制到\nocite{}
beamer 幻灯片中的命令中。\cites{}
然后 Normal 仍然可以包含在任何地方。
作为一个相当纯粹的 tex 解决方案,您可以使用出色的工具 bibexportcitedinlecturenotes.bib
通过运行来生成一个新的 bib 文件,其名称为
bibexport -o citedinlecturenotes lecturenotes.aux
或者
biber lecturenotes.bcf --output_format=bibtex
mv lecturenotes_biber.bib citedinlecturenotes.bib
在您的讲义目录中。然后 biblatex 可以使用以下方式包含这些参考资料
\begin{refsection}[citedinlecturenotes.bib]
\nocite{*}
\printbibliography
\end{refsection}
在您的演示文稿中。