我正在尝试将书名样式设置为纯文本,namedplus.bst
但似乎无法做到。目前,这是我所拥有的
FUNCTION {format.btitle}
{ title emphasize
}
并将其替换为另一个样式文件中的以下代码,该文件为标题提供纯文本格式,并给出错误消息
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
}
if$
}
错误消息:文字堆栈不为空,无法输入
你能帮我一下吗?
答案1
只需删除emphasize
:
FUNCTION {format.btitle}
{ title
}
您复制的检查是不必要的,因为格式化的标题在不同的地方进行检查。
答案2
emphasize
文件中函数namedplus.bst
定义如下:
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "{\em " swap$ * "}" * }
if$
}
我建议您首先创建一个名为的函数,
plain
将其放置在该emphasize
函数之后,它模仿该函数的所有方面emphasize
,除了它跳过\em
指令:FUNCTION {plain} { duplicate$ empty$ { pop$ "" } { "{" swap$ * "}" * } if$ }
经过反思,该行
{ "{" swap$ * "}" * }
根本没有执行任何操作,因此该函数plain
可以简化为:FUNCTION {plain} { duplicate$ empty$ { pop$ "" } { } if$ }
title emphasize
其次,将函数中的指令替换format.btitle
为title plain
最后,一定要用新名称保存文件,例如,
mynamedplus.bst
并提供说明\bibliographystyle{mynamedplus}
在您的 TeX 文档中开始使用修改后的参考书目样式。