bibtex 字段可以像变量一样被引用吗?

bibtex 字段可以像变量一样被引用吗?

我可以修改以下 bibtex 条目以避免重复作者姓名,而无需定义 @string 吗?

@misc{key,
    author = "Joe Blogs",
    title = "Title",
    year = "2014",
    note = "Joe Blogs ...."
}

我知道我可以做以下事情:

@string { Blogs = "Joe Blogs" } 

@misc{key,
    author = Blogs,
    title = "Title",
    year = "2014",
    note = Blogs # " ...."
}

但这似乎有点小题大做,因为我必须使用@string 来定义博客。

鉴于我已经将“Joe Blogs”定义为“key”的作者字段,我可以以某种方式引用现有值吗?

更新。我正在寻找“标准”解决方案,即与比博特工具,所以 LaTeX 解决方案很有趣,但对我没用。(我实际上并没有使用 bibtex 工具,而是使用了 PHP bibtex 解析器。但这与这个问题的目的基本无关,因为我使用的 PHP bibtex 解析器的设计规范与 bibtex 工具相同。)

回答。答案似乎是:bibtex 字段不能像变量一样被引用。

答案1

仅靠 BibTeX 是不够的。

如果你使用biblatex你可以:

在此处输入图片描述

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@BOOK{A1,
   author = {Author One},
   title = {Alpha},
   publisher = {Publisher A},
   year = {2000},
   }

@BOOK{B2,
   author = {Author Two},
   title = {Beta},
   publisher = {Publisher B},
   year = {2001},
   }
\end{filecontents*}

\usepackage{biblatex}

\DeclareCiteCommand{\citeAuthor}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\usebibmacro{author}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\addbibresource{\jobname}
\begin{document}

Author of \cite{A1} is \citeauthor{A1} (\citeAuthor{A1}) in \citeyear{A1}.
Author of \cite{B2} is \citeauthor{B2} (\citeAuthor{B2}) in \citeyear{B2}.

\printbibliography

\end{document}

相关内容