什么命令会导致文内引用期刊名称?

什么命令会导致文内引用期刊名称?

我想在我目前正在起草的文本中提及一个学术期刊的名称。使用,我可以将文章的名称打印到最终文本中。和\citetitle{elmo2022}等命令也是如此,它们分别将打印:\citeauthor{elmo2022}\citeyear{elmo2022}

圣埃尔莫

2022

但是,当我尝试执行类似的命令以将日志名称置于最前面时,出现了错误。这可能吗?我希望很快收到您的回复,并让我知道这是否与您的堆栈约定格式不正确。为了清楚起见,我想做类似的事情\citejournal{elmo2022}并得到类似的东西:芝麻街理论杂志

答案1

biblatex如果您按照标签建议的方式使用,则可以定义一个\citejournalwith \DeclareCiteCommand,如下所示(该命令以 的标准定义为模型\citeauthor)。如果这是一次性操作,您不需要新命令,则可以使用\citefield{<key>}{<field>}

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=authoryear]{biblatex}

\DeclareCiteCommand{\citejournal}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\printfield{journaltitle}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{filecontents}{\jobname.bib}
@article{elk,
  author    = {Anne Elk},
  title     = {A Theory on Brontosauruses},
  year      = {1972},
  journal   = {Journal of Paleontology},
  volume    = {12},
  pages     = {37-37},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,elk}

\citejournal{sigfridsson}

\citejournal{elk}

\citefield{sigfridsson}{journaltitle}

\citefield{elk}{journaltitle}

\printbibliography
\end{document}

Lorem (Sigfridsson 和 Ryde 1998; Elk 1972) 计算化学杂志 古生物学杂志 计算化学杂志 古生物学杂志


如果您正在使用natbib或其他基于 BibTeX 的解决方案,期刊通常不会出现在引文中。必须通过类似usebib包的技巧来提供。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage{natbib}
\usepackage{usebib}
\newbibfield{journal}
\bibinput{\jobname}

\begin{filecontents}[overwrite]{\jobname.bib}
@article{elk,
  author    = {Anne Elk},
  title     = {A Theory on Brontosauruses},
  year      = {1972},
  journal   = {Journal of Paleontology},
  volume    = {12},
  pages     = {37-37},
}
\end{filecontents}


\begin{document}
Lorem \cite{elk}

\usebibentry{elk}{journal}

\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}

相关内容