我正在写一份beamer
演示文稿,我想在文中出现引用,比如
[Doe 等,《Latex Greatness 杂志》,2007 年]
相反,如果我仅使用命令\cite{}
(连同apalike
参考书目样式)我只会得到作者和日期:
[Doe 等人,2007]
你有什么想法吗?我使用一个大型 BiBTeX 文件来存储所有相关信息。
答案1
使用 可以轻松实现biblatex
。
\documentclass{beamer}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{journal,
author = {Author, A.},
title = {Title},
journal = {Journal Name},
volume = {1},
year = 2013,
}
@book{book,
author = {Bauthor, B},
title = {Book Title},
year = 2012
}
\end{filecontents}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\DeclareCiteCommand{\cite}
[\mkbibbrackets]
{\printfield{prenote}}
{\printnames{labelname}
\ifentrytype{article}
{\newunit{\addcomma}\printfield{journaltitle}}
{}%
\newunit{\addcomma}
\printfield{labelyear}%
}
{\addsemicolon\addspace}
{\printfield{postnote}}
\begin{document}
\begin{frame}\frametitle{Title}
\cite{journal}\\
\cite{book}
\end{frame}
\begin{frame}\frametitle{References}
\printbibliography
\end{frame}
\end{document}
跑步,pdflatex filename
,biber filename
,pdflatex filename
。
或者,如果有人更喜欢bibtex
,biber
那么可以将其添加backend=bibtex
到 的选项中biblatex
,即\usepackage[style=authoryear,backend=bibtex]{biblatex}
。
需要注意的是,该解决方案提供了一个简化的重新定义\cite
(它应该适用于大多数正常/简单的情况)。