我正在使用 LyX 处理一个经过稍微修改的vancouver.bst
文件。在 PDF 输出中,以问号结尾的参考标题也会打印一个句号。这种情况只发生在使用“misc”条目类型的参考文献中。例如,一个输出是:
美国地质调查局。预测加州地震——未来 30 年会发生什么?。2008 年。
请注意标题后面的“?。”。
此引用的条目为:
@Misc{USG08,
Author = {{U.S. Geological Survey}},
Title = {Forecasting {C}alifornia's {E}arthquakes---{W}hat
{C}an {W}e {E}xpect in the {N}ext 30 {Y}ears?},
year = 2008
}
您可以找到vancouver.bst
PasteBin 上的修改版本。
我读过类似问题“删除以问号结尾的标题后的逗号”的回复。但我无法让那里的任何想法发挥作用,或者我没有正确实施它们。我不太了解 bst 文件。
有人能提供一些.bst
可以删除文件多余句点的破解方法吗?
答案1
这里有一个黑客攻击,它确实在 bibtex 中引发了一些警告,但似乎产生了所需的输出。
在这个测试文件中,我添加了一个定义\killpunct
,以忽略输入中的下一个标记,即(由 bibtex 插入的)句点。
\documentclass{article}
\newcommand{\killpunct}[1]{}
\begin{document}
This is a citation for \cite{USG08}.
\bibliographystyle{modified_vancouver}
\bibliography{bibpunct}
\end{document}
我对 bib 条目做了一处更改 -\killpunct
在标题中的问号后添加 - 并将文件命名为bibpunct.bib
:
@Misc{USG08,
Author = {{U.S. Geological Survey}},
Title = {Forecasting {C}alifornia's {E}arthquakes---{W}hat
{C}an {W}e {E}xpect in the {N}ext 30 {Y}ears?\killpunct},
year = 2008
}
请注意,周围没有多余的括号\killpunct
。
输出如下:
bibtex 运行做过提出一些警告:
Warning--empty author and editor in USG08
Warning--missing publisher in USG08
我没有探索modified_vancouver.bst
是什么原因导致了这种情况;我看不出author
输入字段有什么问题.bib
。如果这是我的项目,我会查找文件的文档.bst
,或者尝试询问它的作者对条目的期望@misc
。