当我在 beamer 中引用一篇论文时,如何显示期刊名称?

当我在 beamer 中引用一篇论文时,如何显示期刊名称?

我正在写一份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 filenamebiber filenamepdflatex filename

或者,如果有人更喜欢bibtexbiber那么可以将其添加backend=bibtex到 的选项中biblatex,即\usepackage[style=authoryear,backend=bibtex]{biblatex}

需要注意的是,该解决方案提供了一个简化的重新定义\cite(它应该适用于大多数正常/简单的情况)。

相关内容