我目前有一本书的 BibTeX 条目,我想引用其中的一个部分,如下所示:
@inbook{..., chapter = {1}, ...}
在输出参考书目时,这将被打印为
..., chapter 1, ...
我能否以某种方式更改章节的前缀,使其显示“第 1 节”或我想要的任何文本?更一般地说,是否有命令可以根据您的喜好调整任何关键字标签?
答案1
查尔斯斯图尔特是对的——不要这样做。
也就是说,这里有一个解决方案biblatex
。请注意,biblatex 处理@inbook
类型的方式与传统 BibTeX 不同,对于“第 X 章”条目,您应该使用类型@book
。如果您想更改某些条目的术语“章节”,请添加字段execute
和我的示例的定制代码。
\documentclass{article}
\usepackage[abbreviate=false]{biblatex}
\newbool{specialchap}
\newcommand*{\specialchapname}{(Special chapter name)}
\DeclareFieldFormat{chapter}{%
\ifbool{specialchap}{%
\specialchapname~#1%
}{%
\bibstring{chapter}~#1%
}%
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
chapter = {11},
}
@book{B02,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
chapter = {12},
execute = {\booltrue{specialchap}\renewcommand*{\specialchapname}{Section}},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
答案2
我会查看 revtex 提供的 bibtex bst 样式(谷歌搜索)以找出您要执行的特定任务的书目格式的详细信息。您可能需要学习 Bibtex 编程语法。
Bibtex 文档: http://en.wikipedia.org/wiki/BibTeX#External_links
答案3
你问
我是否可以以某种方式改变章节的前缀,使其显示“第 1 节”或我想要的任何文本?
对于类型的条目@inbook
。
@inbook
如果您想将所有类型和类型的条目的字符串“chapter”更改为“section” @inproceedings
,您可以通过编辑您使用的参考书目样式文件来实现此目标。您没有提到您使用哪种参考书目样式,因此为了回答这个问题,我假设它是样式plain
。
在您的 TeX 发行版中找到该文件
plain.bst
,复制一份并将副本命名为 ,myplain.bst
然后在您最喜欢的文本编辑器中打开新文件。(不要直接从您的 TeX 发行版编辑现有文件。)需要更改的函数名为
format.chapter.pages
。在 中myplain.bst
,它看起来像这样:FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { "chapter" } { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ }
改变线路
{ "chapter" }
到
{ "section" }
保存文件,根据需要/适当更新 TeX 的文件名数据库,以便 TeX 可以找到该文件。从现在开始使用
\bibliography{myplain}
而不是\bibliographystyle{plain}
。
祝您 BibTeX 愉快!