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

发布于 2024-08-26 21:47:10 字数 202 浏览 5 评论 0原文

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

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

I'm using LaTeX and BibTeX for an article, and I want to able to cite the title of an article I reference. What is the command to do this?

I'm using \bibliographystyle{chicago} and it does not appear to be \citeT{}, \citetitle{} or \citeTitle{}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

浅语花开 2024-09-02 21:47:10

@Norman 和各种评论者是正确的,因为使用 bibtex 和其他工具很难做到这一点。但是,还有一个替代方案。 Biblatex 确实允许通过命令 \citetitle 执行此操作。另外,如果您确实愿意,biblatex 中的格式化驱动程序很容易读取和修改,但前提是您觉得有必要。不幸的是,它还不是任何发行版的一部分,因此必须下载并安装它。

@Norman, and the various commenters, are correct in that it would be difficult to do this with bibtex and other tools. But, there is an alternative. Biblatex does allow this through the command \citetitle. Also, if you really want to, the formatting drivers in biblatex are easily readable and modifiable, but only if you feel the need. Unfortunately, it is not part of any distribution, yet, so it has to be downloaded and installed.

空名 2024-09-02 21:47:10

只需输入标题。即使是最强大、最广泛的 BibTeX 软件包 natbib 也不足以实现您想要的开箱即用功能。尝试让 BibTeX 通过 LateX 命令为您提取标题是可能的,但这需要您为

  1. 与现有格式不兼容的参考书目项目设计一种新格式。
  2. 使用仅 BibTeX 使用的非常奇怪的后缀语言编写您自己的自定义 .bst 文件,以与您的新格式兼容。
  3. 编写一个新的 LaTeX 命令以从新格式中提取标题信息。

作为编写过多个自定义 bst 文件以及 的人来说BibTeX 的替代品,它不值得愚弄。毕竟,如果您引用该论文,您可能无论如何都知道标题。


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

Just type in the title. Even natbib, the most powerful widespread BibTeX package, is not powerful enough to do what you want out of the box. Trying to get BibTeX to extract the title for you, by means of a LateX command, is possible, but it would require that you

  1. Design a new format for bibliography items that is incompatible with existing formats.
  2. Write your own custom .bst file, using the very strange postfix language that is used only by BibTeX, to be compatible with your new format.
  3. Write a new LaTeX command to pull the title information out of the new format.

Speaking as someone who has written several custom bst files as well as a replacement for BibTeX, it's just not worth fooling with. After all, if you are citing the paper, you probably know the title anyway.


EDIT: If you have to do this with multiple papers, I would try to cheat. Extend the bst file so that it writes into the bbl file a command that writes into the aux file the title associated with each bibkey. You can model the bbl command on \label and the actual title-citing command on \ref.

人间不值得 2024-09-02 21:47:10

这就是我解决引用论文标题问题的方法:

在序言中

包括 Natbib:

\usepackage[sort&compress]{natbib}

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

\defcitealias{Weiser1996designingcalm}{Designing Calm Technology}

<强>注意:
您需要有一个带有密钥 {Weiser1996designingcalm} 的 bibtex 项目(标题为“Designing Calm Technology”)。

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

\citetalias{Weiser1996designingcalm}

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

\citepalias{Weiser1996designingcalm}

导致 => (设计平静技术)(即带括号的标题)

This is how I solve the title issue for cited papers:

In the preamble

include Natbib:

\usepackage[sort&compress]{natbib}

If you want to cite a TITLE instead of an author in the text you define the title like this in the preamble:

\defcitealias{Weiser1996designingcalm}{Designing Calm Technology}

Note:
You need to have a bibtex item (for the title ''Designing Calm Technology'') with the key {Weiser1996designingcalm}.

In the paper where you want to write the cited paper's title

\citetalias{Weiser1996designingcalm}

this results in => Designing Calm Technology (i.e. the text you specified with the \defcitealias command above)

or

\citepalias{Weiser1996designingcalm}

that results in => (Designing Calm Technology) (i.e. title with parenthesis)

命硬 2024-09-02 21:47:10

这个问题很老了,也许 \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 is old and maybe \citefield was not around back in the days, but now it works like charm for this kind of problems:

\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}

Got it from this question.

零崎曲识 2024-09-02 21:47:10

感谢 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:CommonGIS 项目及其他项目。

Thanks to Anders for the hint. \defcitealias seems to be the way to go.

Bibtex produces a .bbl file which contains the bibliography entries. something like that

\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.

I use Eclipse, which is free and that you may already have to apply regular expressions in this file when needed. '\R' acts as platform independent line delimiter. Here is an example of multi-line search:

search:

\\bibitem.*(\R.*)?\R?\{([^{]*)\}\R^[^\\].*\d\d\d\d\.\s([^\.]*\R?[^\.]*)\R?.*\R?.*

and replace:

\\defcitealias{$2}{$3}

(For myself I use \\bibitem.*(\R.*)?\R?\{([^{]*)\}$\R^([^\\].*[^\}]$\R.*$\R.*) to get all the item text)

Et produces a series of \defcitealias that can be copypasted elsewhere:

\defcitealias{Andrienko2003}{{GIS for Everyone: The
  CommonGIS Project and Beyond}}

Finally, this can be used to build a custom command such as:

\newcommand{\MyCite}[1]{\citet*{#1}. \citetalias{#1}.}

Used as \MyCite{Andrienko2003} and producing: Andrienko et al. (2003). GIS for Everyone: The CommonGIS Project and Beyond.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文