前言
在某些期刊模板中,顺序编码制多个引用会压缩成 [x]--[y]
的样式,这里来实现一下。
正文
从 kpsewhich natbib.sty
中,我们找到与 compress
有关的命令,最后定位到
\def@NAT@last@yr{--\NAT@penalty}
|
可以猜到,--
是用来连接两个引用的连接号,那么只需要修改它即可。
\documentclass{article} \usepackage[square,sort&compress,numbers]{natbib} \bibliographystyle{plain} \usepackage{xpatch} \makeatletter \xpatchcmd\NAT@citexnum{\def@NAT@last@yr{--\NAT@penalty}}{\def@NAT@last@yr{]--[\NAT@penalty}}{}{\fail} \makeatother \begin{document} test\cite{article-full,article-crossref,article-minimal,inbook-minimal} \bibliography{xampl} \end{document}
|
效果图:
当然这种方法并不好,无锤乙醇写了一种更好的方法:《一种特殊的参考文献引用样式的设置》。