我在用“latex makebst”创建的 .bst 文件中迷失了方向。对于书籍条目,我选择了选项
%>>PUBLISHER ADDRESS:
%<<PUBLISHER IN PARENTHESES:
% %: (def) Publisher as normal block without parentheses
% pub-par,%: Publisher in parentheses
pub-date,%: Publisher and date in parentheses (Oxford, 1994)
% pub-date,pub-xc,%: Publisher and date in parentheses, no comma (Oxford 1994)
% pub-date,pub-xpar,%: Publisher and date without parentheses Oxford, 1994
% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma Oxford 1994
%------\ans=d(==pub-date)-------
%>>PUBLISHER IN PARENTHESES:
但是,运行 bibtex 和 pdflatex 后我得到:
(牛津大学出版社,牛津 1961)
我需要在 .bst 文件(或 .dbj 文件)中做哪些更改才能获得所需的结果,即:
(牛津大学出版社,牛津,1961 年)?
bib 文件条目:
@Book{Abragam1961,
Title = {The Principles of Nuclear Magnetism},
Author = {Abragam, A.},
Publisher = {Oxford University Press},
Year = {1961},
Address = {Oxford},
Pages = {304},
}
答案1
事实证明,这个问题已经被注意到了这里。
虽然它没有说如何修复该merlin.mbs
文件,但它告诉你如何修复该.bst
文件。
基本上,如下所示:
FUNCTION {format.org.or.pub}
有这样一行:
{ ", " swap$ * * }
替换为:
{ ", " swap$ * ", " * }
它帮我修好了!虽然它仍然不是最理想的,但至少你不需要再摆弄.bib
或了.bbl
。
我怀疑第 6866 行和第 6954 行之间某处有拼写错误merlin.mbs
。但我对这种类型的文件不够熟悉,无法自信地摆弄它……也许这里有人可以?
答案2
我迷失在使用“latex makebst”创建的.bst文件中。
如果无法访问完整的 bst 文件,几乎不可能诊断出问题所在。我唯一能给出的建议是重新运行该makebst
实用程序。
答案3
我也遇到了同样的问题。玩 .dbj 或 .bst 都无济于事。
但是,如果您只是将年份输入的格式更改为:
year = {, 1961},
你的输出将变成:
(牛津大学出版社,牛津,1961 年)
我意识到这并不能解决根本问题,而且会导致您必须修复所有书籍引用,但至少输出看起来符合您的要求。