我在一篇文章中使用 LaTeX 和 BibTeX,我希望能够引用我引用的一篇文章的标题。执行此操作的命令是什么?
我正在使用\bibliographystyle{chicago}
,但它似乎不是\citeT{}
,\citetitle{}
或\citeTitle{}
@Norman 和各种评论者是正确的,因为使用 bibtex 和其他工具很难做到这一点。但是,还有另一种选择。Biblatex确实通过命令允许这样做\citetitle
。此外,如果你真的想要,biblatex 中的格式化驱动程序很容易阅读和修改,但前提是你觉得有必要。不幸的是,它还不是任何发行版的一部分,因此必须下载并安装它。
只需输入标题。甚至natbib
,最强大的 BibTeX 包,也不足以做你想要的开箱即用。尝试让 BibTeX 通过 LateX 命令为您提取标题是可能的,但这需要您
.bst
文件,以与您的新格式兼容。作为一个编写了几个自定义bst
文件以及替代 BibTeX的人来说,这不值得被愚弄。毕竟,如果你引用了这篇论文,你可能无论如何都知道标题。
编辑:如果你必须用多篇论文来做这件事,我会试着作弊。扩展 bst 文件,使其将一个命令写入 bbl 文件,该命令将与每个 bibkey 关联的标题写入 aux 文件。您可以在 bbl 命令上建模,\label
在\ref
.
这就是我解决被引论文标题问题的方法:
在序言中
包括 Natbib:
\usepackage[sort&compress]{natbib}
如果您想在文本中引用 TITLE 而不是作者,您可以在序言中这样定义标题:
\defcitealias{Weiser1996designingcalm}{Designing Calm Technology}
注意: 您需要有一个带有键 {Weiser1996designingcalm} 的 bibtex 项目(标题为“Designing Calm Technology”)。
在您要写被引论文标题的论文中
\citetalias{Weiser1996designingcalm}
这导致 => Designing Calm Technology
(即您使用上面的 \defcitealias 命令指定的文本)
或者
\citepalias{Weiser1996designingcalm}
这导致 => (Designing Calm Technology)
(即带括号的标题)
这个问题很老,也许\citefield
在过去不存在,但现在它对这类问题很有魅力:
\documentclass[varwidth]{standalone}
\usepackage{biblatex}
\begin{filecontents}{\jobname.bib}
@article{example,
title = {NAME OF PAPER},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\citefield{example}{title}
\end{document}
从这个问题中得到它。
感谢安德斯的提示。\defcitealias
似乎是要走的路。
Bibtex 生成一个.bbl
包含参考书目条目的文件。类似的东西
\bibitem[\protect\citeauthoryear{Andrienko
{\itshape{et~al.}}}{2003}]{Andrienko2003}
Andrienko, G., Andrienko, N., and Voss, H., 2003. {GIS for Everyone: The
CommonGIS Project and Beyond}. {\itshape {In}}: {\itshape {Maps and the
Internet}}., 131--146 Elsevier.
我使用 Eclipse,它是免费的,您可能已经需要在需要时在此文件中应用正则表达式。'\R' 充当独立于平台的行分隔符。下面是一个多行搜索的例子:
搜索:
\\bibitem.*(\R.*)?\R?\{([^{]*)\}\R^[^\\].*\d\d\d\d\.\s([^\.]*\R?[^\.]*)\R?.*\R?.*
并替换:
\\defcitealias{$2}{$3}
(对于我自己,我\\bibitem.*(\R.*)?\R?\{([^{]*)\}$\R^([^\\].*[^\}]$\R.*$\R.*)
用来获取所有项目文本)
Et 生成了一系列\defcitealias
可以复制粘贴到其他地方的内容:
\defcitealias{Andrienko2003}{{GIS for Everyone: The
CommonGIS Project and Beyond}}
最后,这可用于构建自定义命令,例如:
\newcommand{\MyCite}[1]{\citet*{#1}. \citetalias{#1}.}
用作\MyCite{Andrienko2003}
和生产:Andrienko et al. (2003). GIS for Everyone: The CommonGIS Project and Beyond.