我如何引用LaTeX中文章的标题?

时间:2010-03-22 23:56:52

标签: latex bibtex

我正在使用LaTeX和BibTeX作为文章,我希望能够引用我引用的文章的标题。执行此操作的命令是什么?

我正在使用\bibliographystyle{chicago},它似乎不是\citeT{}\citetitle{}\citeTitle{}

5 个答案:

答案 0 :(得分:24)

@Norman以及各种评论者都是正确的,因为使用bibtex和其他工具很难做到这一点。但是,还有另一种选择。 Biblatex通过命令\citetitle确实允许这样做。此外,如果你真的想,biblatex中的格式化驱动程序很容易阅读和修改,但只有在你觉得需要的时候。不幸的是,它不是任何发行版的一部分,所以必须下载并安装它。

答案 1 :(得分:22)

只需输入标题即可。即使natbib,功能最强大的BibTeX软件包,其功能也不足以满足您的需求。试图让BibTeX通过LateX命令为你提取标题是可能的,但它需要你

  1. 为与现有格式不兼容的参考书目项目设计新格式。
  2. 使用仅由BibTeX使用的非常奇怪的后缀语言编写您自己的自定义.bst文件,以与您的新格式兼容。
  3. 编写一个新的LaTeX命令以从新格式中提取标题信息。
  4. 作为撰写了多个自定义bst文件以及replacement for BibTeX的人,这不值得愚弄。毕竟,如果你引用这篇论文,你可能还是知道了这个标题。


    编辑:如果您必须使用多篇论文,我会尝试作弊。扩展bst文件,使其向bbl文件写入一个命令,该命令将与每个bibkey关联的标题写入aux文件。您可以在\label上为bbl命令建模,在\ref上为实际的标题引用命令建模。

答案 2 :(得分:5)

这就是我如何解决被引论文的标题问题:

在序言中

包括Natbib:

\usepackage[sort&compress]{natbib}

如果你想在文本中引用TITLE而不是作者,你可以在序言中定义标题:

\defcitealias{Weiser1996designingcalm}{Designing Calm Technology}

注意: 你需要一个bibtex项目(标题为'Designing Calm Technology''),密钥为{Weiser1996designingcalm}。

在您要撰写引用论文标题的论文中

\citetalias{Weiser1996designingcalm}

这导致=> Designing Calm Technology(即您使用上面的\ defcitealias命令指定的文本)

\citepalias{Weiser1996designingcalm}

导致=> (Designing Calm Technology)(即带括号的标题)

答案 3 :(得分:3)

感谢Anders提示。 \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.

答案 4 :(得分:1)

这个问题已经很久了,也许\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}

this question获得。