首先,我尝试过禁用参考书目中的 URL但它不起作用。
其次,我不重复禁止参考书目中的某些 URL因为我不想编辑自动生成的 bib 文件。
我正在准备一份会议出版物提交给 IEEE;因此,请不要建议编辑参考书目样式文件(IEEEtran.bst)。
我有一个由 Mendeley 生成的 .bib 文件,其中包含url
字段。目前,我手动删除它们。但是,为了提高效率,我希望
- 无需 URL 即可从 Mendeley 导出的方法
或者
- 禁止在参考书目中插入 URL 的方法,最好通过指令或标志
最好两者兼而有之!
一个最小的例子[source.tex]
\documentclass[conference]{IEEEtran}
\begin{document}
\bstctlcite{MyBSTcontrol}
\title{I need a vacation!}
\author{\IEEEauthorblockN{tokyo coder}
\IEEEauthorblockA{Institute of Random Stuff, A big University, Japan}}
\maketitle
\IEEEpeerreviewmaketitle
\section{Introduction}
kill me now \cite{Levecque2017} \\does happiness exist?
\bibliographystyle{IEEEtran}
\bibliography{science,disabl_url}
% that's all folks
\end{document}
bib 文件为 [science.bib]
@article{Levecque2017,
author = {Levecque, Katia and Anseel, Frederik and {De Beuckelaer}, Alain and {Van der Heyden}, Johan and Gisle, Lydia},
doi = {http://dx.doi.org/10.1016/j.respol.2017.02.008},
isbn = {3907},
issn = {0048-7333},
journal = {Research Policy},
keywords = {GHQ-12,Mental health,PhD students,Psychosocial working conditions,Work organization},
number = {4},
pages = {868--879},
publisher = {Elsevier B.V.},
title = {{Work organization and mental health problems in PhD students}},
url = {http://www.sciencedirect.com/science/article/pii/S0048733317300422},
volume = {46},
year = {2017}
}
第二个 bib 文件是 [disabl_url.bib]
@IEEEtranBSTCTL{MyBSTcontrol,
CTLuse_url = "no",
}
答案1
从 CTAN获取最新的副本IEEEtran.bst
,至少Version 1.14 (2015/08/26)
。然后按照禁用参考书目中的 URL。
答案2
一种方法是自动编辑 .bib 文件以删除 url 字段。从 mendeley 导出文件后,您需要删除所有以 开头的行url
(可能以空格开头),写入新的 .bib 文件(因为您的主参考书目在 mendeley 中,所以可以覆盖原始版本,但一般情况下我不建议你这样做)。这可以通过命令行轻松完成sed
(适用于所有类 Unix 系统,包括 Mac,也可以在 Windows 上使用 Cygwin 或 MinGW,或者只是安装它)。任何像样的程序员的文本编辑器也将提供做同样事情的方法(正则表达式查找/替换)。
您实际需要的命令是sed 's/^\s*url.*,//' bibliography.bib >temp.bib
,它分解为运行sed
以替换(s/
)从行首(^
)开始的一个或多个(*
)空格字符(\s
)后跟“url”,以及一个或多个(*
)除换行符(.
)到逗号之间的任何字符。替换为空白(由分隔符给出//
)/
。这会在 url 所在的位置留下一个空白行,但 bibtex 不会介意。
如果 url 是条目中的最后一项,且行末没有逗号,则此方法无效。因此,如果 mendeley(我尝试过一次,但再也没有使用过)将 url 放在条目的最后,我们将需要稍微不同的替换,这将取决于条目}
的最终结束是在其自己的行上还是与 url 在同一行上。更复杂的正则表达式可以考虑这些变量,但我发现最好保持简单,因为出错的可能性更小。