还没有账号去注册
为中文参考文献自动添加排序用的拼音信息域
在非顺序编码要求的参考文献排版中,常常需要在文献表中对参考文献进行排序,而对于中文参考文献,作者的拼音是常用的排序依据。然而在我们下载的bib条目信息中,通常是不会带有拼音的,所以要添加拼音需要个人手动来做,如果参考文献量较大,那么对于个人来说是一个大的负担,本文就是来解决这个问题的。
参考文献生成目前主要是两类方法,一类是基于bibtex的传统方法,这种方法如果要根据拼音对中文文献排序,目前的解决方案是必须要添加key域,包含作者的拼音信息。第二类是基于biblatex的方法,这种方法可以自动根据中文的本地化信息来进行排序,通常情况下是不要添加key域信息的,但也有一些corner case,比如多音字,如果biblatex使用的biber加载的perl模块中的多音字的信息不是通常姓名中的音,那么就需要手动的添加key域,而一旦部分需要添加,那么全部的中文文献都需要添加。因此,目前的情况是,如果要对中文文献排序,如果使用bibtex使用则必须添加,使用biblatex在出现多音字错误的时候必须添加。
那么如何来自动的添加拼音信息呢?我认为这是通过文本的自动处理工具能够解决的。如果参考文献的管理工具能够有这个功能,那么是很自然的可以实现的,可惜的是我映象中好像还没有(我也好久没有了解了,如果有误请指出)。所以我们需要一个额外的工具来处理它。
两年多前我本人写了bibmap程序(见 !(bibmap)[https://github.com/hushidong/biblatex-map]), 目的其实就是用来处理bib文件的,有两种功能:一是参考文献生成,可以替代bibtex工具,二是bib文件修改,可以覆盖biber的sourcemap功能。 功能大体是完整了的。说实话,因为只是替代性的功能,没有什么太多的创新可以说的,我也就只是放在github上面,也没有什么宣传,所以到现在也只是几颗星而已。而且我自己也不怎么用,我自己用biblatex也没怎么用到过文献的排序功能。但其实使用biblatex的同学和老师,其实已经遇到过一些在使用biblatex时排序遇到多音字的问题并向我提问过,但我也只是提供了手动添加的方案,没有深入介绍。今天耿老师也遇到这个问题,问有没有自动化工具,我回答是我之前写的bibmap是可以实现这个功能的,所以我又翻看了一下bibmap的实现,没想到的是其实我之前就已经实现了的,只是没有那么专门的选项什么的,所以我今天又完善了一下它,使得使用起来更为的方便。刚刚耿老师测试了一下,回复说好用,我想我还是要分享一下这个有用的工具。
具体使用方法为:
在 https://github.com/hushidong/biblatex-map 下载bibmap程序。下载整个binary目录即可。
把需要添加拼音的bib文件放到这个binary目录下面,然后在命令行,运行命令:
bibmap.exe biblatex-map-test.bib --nofmt --addpinyin
或
bibmap.exe biblatex-map-test.bib --nofmt -m bibmapaddpinyinkey.py
或
python bibmap.py biblatex-map-test.bib --nofmt --addpinyin
或
python bibmap.py biblatex-map-test.bib --nofmt -m bibmapaddpinyinkey.py
其命名规则是:如果原文件c.bib,则修改后的文件名为newc.bib。
一个c.BIB文件内容如下:
@book{bjszxmzhzjwyh,
author = {北京市政协民族和宗教委员会 and
北京联合大学民族与宗教研究所},
title = {历代王朝与民族宗教},
address = {北京},
publisher = {民族出版社},
year = {2012},
pages = {112},
}
@article{walls,
author = {Walls, Susan C. and Barichivich, William J. and Brown, Mary
E.},
title = {Drought, Deluge and Declines: the Impact of Precipitation
Extremes on Amphibians in a Changing Climate},
journal = {Biology},
year = {2013},
volume = {2},
number = {1},
pages = {399--418},
urldate = {2013-11-04},
url = {http://www.mdpi.com/2079-7737/2/1/399},
doi = {10.3390/biology2010399},
}
@standard{qgxxywxbzhjswyh,
author = {全国信息与文献标准化技术委员会},
series = {信息与文献},
title = {都柏林核心元数据元素集},
number = {GB/T 25100—2010},
address = {北京},
publisher = {中国标准出版社},
year = {2010},
pages = {2--3},
}
@periodical{zgtsgxh,
author = {中国图书馆学会},
title = {图书馆学通讯},
year = {1957/1990},
number = {1-4},
address = {北京},
publisher = {北京图书馆},
}
@archive{bjsrmzfbgt,
author = {北京市人民政府办公厅},
title = {关于转发北京市企业投资项目核准暂行实施办法的通知:
京政办发[2005]37号},
year = {2005},
date = {2005-07-12},
urldate = {2011-07-12},
url = {http://china.findlaw.cn/fagui/p_1/39934.html},
}
@book{wfz,
author = {王夫之},
title = {宋论},
edition = {刻本},
address = {金陵},
publisher = {湘乡曾国荃},
year = {1865(清同治四年)},
}
@book{sommers,
author = {Fan, Xuetong and Sommers, Christopher H.},
title = {Food Irradiation Research and Technology},
edition = {2},
address = {Ames, Iowa},
publisher = {Blackwell Publishing},
year = {2013},
pages = {25--26},
urldate = {2014-06-26},
url = {http://onlinelibrary.wiley.com/doi/10.1002/9781118422557.ch2/summary},
}
@incollection{wfz2,
title = {周易外传:卷 5},
editor = {王夫之},
booktitle = {船山全书},
number = {6},
address = {长沙},
publisher = {岳麓书社},
year = {2011},
pages = {1109},
}
@incollection{mks,
author = {马克思},
title = {政治经济学批判},
editor = {马克思 and 恩格斯},
booktitle = {马克思恩格斯全集},
volume = {35},
address = {北京},
publisher = {人民出版社},
year = {2013},
pages = {302},
}
@inproceedings{jdq,
author = {贾东琴 and 柯平},
title = {面向数字素养的高校图书馆数字服务体系研究},
editor = {中国图书馆学会},
booktitle = {中国图书馆学会年会论文集},
volume = {2011 年卷},
address = {北京},
publisher = {国家图书馆出版社},
year = {2011},
pages = {45--52},
}
@patent{dyg,
author = {邓一刚},
title = {全智能节电器},
number = {200610171314.3},
year = {2006},
date = {2006-12-13},
}
@techreport{zghlwlxxzx,
author = {中国互联网络信息中心},
title = {第 29 次中国互联网络发展现状统计报告},
year = {2012},
date = {2012-01-16},
urldate = {2013-03-26},
url = {http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/201201/P020120709345264469680},
}
@phdthesis{deverell,
author = {Deverell, William and Igler, David},
title = {A Companion to {California} History},
address = {New York},
school = {John Wiley \& Sons},
year = {2013},
pages = {21--22},
date = {2013-11-15},
urldate = {2014-06-24},
url = {http://onlinelibrary.wiley.com/doi/10.1002/9781444305036.ch2/summary},
doi = {10.1002/9781444305036.ch2},
}
@proceedings{czy,
editor = {陈志勇},
series = {中国财税文化价值研究},
title = {“中国财税文化国际学术研讨会”论文集},
address = {北京},
publisher = {经济科学出版社},
year = {2011},
urldate = {2013-10-14},
url = {http://apabi.lib.pku.edu.cn/usp/pku/pub.mvc?pid=book.detail&metaid=m.201106228-BPO-889-0135&cult=CN},
}
@techreport{calkin,
author = {Calkin, D and Ager, A and Thompson, M},
title = {A Comparative Risk Assessment Framework for Wildland Fire
Management: the 2010 Cohesive Strategy Science Report},
number = {RMRS-GTR-262},
year = {2011},
pages = {8--9},
}
@incollection{buseck,
author = {Buseck, P R and Nord, Jr, G L and Veblen, D R},
title = {Subsolidus Phenomena in Pyroxenes},
booktitle = {Pyroxense},
address = {Washington, D.C.},
publisher = {Mineralogical Society of America},
year = {c1980},
pages = {117--211},
}
运行命令后生成的newc.bib文件为:
%%
%% bib file modified by biblatex-map.py
%% 2021-05-24T19:55:38
%%
@book{bjszxmzhzjwyh,
author = {北京市政协民族和宗教委员会 and 北京联合大学民族与宗教研究所},
title = {历代王朝与民族宗教},
address = {北京},
publisher = {民族出版社},
year = {2012},
pages = {112},
key = {bei3jing1fu2zheng4xie2min2zu2he2zong1jiao1wei1yuan2hui4 and bei3jing1lian2ge3da4xue2min2zu2yu2zong1jiao1yan2jiu1suo3},
}
@article{walls,
author = {Walls, Susan C. and Barichivich, William J. and Brown, Mary E.},
title = {Drought, Deluge and Declines: the Impact of Precipitation Extremes on Amphibians in a Changing Climate},
journal = {Biology},
year = {2013},
volume = {2},
number = {1},
pages = {399--418},
urldate = {2013-11-04},
url = {http://www.mdpi.com/2079-7737/2/1/399},
doi = {10.3390/biology2010399},
key = {Walls, Susan C. and Barichivich, William J. and Brown, Mary E.},
}
@standard{qgxxywxbzhjswyh,
author = {全国信息与文献标准化技术委员会},
series = {信息与文献},
title = {都柏林核心元数据元素集},
number = {GB/T 25100—2010},
address = {北京},
publisher = {中国标准出版社},
year = {2010},
pages = {2--3},
key = {quan2guo2xin4xi1yu2wen2xian4biao1zhun3hua1ji4shu4wei1yuan2hui4},
}
@periodical{zgtsgxh,
author = {中国图书馆学会},
title = {图书馆学通讯},
year = {1957/1990},
number = {1-4},
address = {北京},
publisher = {北京图书馆},
key = {zhong1guo2tu2shu1guan3xue2hui4},
}
@archive{bjsrmzfbgt,
author = {北京市人民政府办公厅},
title = {关于转发北京市企业投资项目核准暂行实施办法的通知: 京政办发[2005]37号},
year = {2005},
date = {2005-07-12},
urldate = {2011-07-12},
url = {http://china.findlaw.cn/fagui/p_1/39934.html},
key = {bei3jing1fu2ren2min2zheng4fu3ban4gong1ting1},
}
@book{wfz,
author = {王夫之},
title = {宋论},
edition = {刻本},
address = {金陵},
publisher = {湘乡曾国荃},
year = {1865(清同治四年)},
key = {wang2fu1zhi1},
}
@book{sommers,
author = {Fan, Xuetong and Sommers, Christopher H.},
title = {Food Irradiation Research and Technology},
edition = {2},
address = {Ames, Iowa},
publisher = {Blackwell Publishing},
year = {2013},
pages = {25--26},
urldate = {2014-06-26},
url = {http://onlinelibrary.wiley.com/doi/10.1002/9781118422557.ch2/summary},
key = {Fan, Xuetong and Sommers, Christopher H.},
}
@incollection{wfz2,
title = {周易外传:卷 5},
editor = {王夫之},
booktitle = {船山全书},
number = {6},
address = {长沙},
publisher = {岳麓书社},
year = {2011},
pages = {1109},
key = {None},
}
@incollection{mks,
author = {马克思},
title = {政治经济学批判},
editor = {马克思 and 恩格斯},
booktitle = {马克思恩格斯全集},
volume = {35},
address = {北京},
publisher = {人民出版社},
year = {2013},
pages = {302},
key = {ma3ke4sai1},
}
@inproceedings{jdq,
author = {贾东琴 and 柯平},
title = {面向数字素养的高校图书馆数字服务体系研究},
editor = {中国图书馆学会},
booktitle = {中国图书馆学会年会论文集},
volume = {2011 年卷},
address = {北京},
publisher = {国家图书馆出版社},
year = {2011},
pages = {45--52},
key = {gu3dong1qin2 and ke1ping2},
}
@patent{dyg,
author = {邓一刚},
title = {全智能节电器},
number = {200610171314.3},
year = {2006},
date = {2006-12-13},
key = {deng4yi1gang1},
}
@techreport{zghlwlxxzx,
author = {中国互联网络信息中心},
title = {第 29 次中国互联网络发展现状统计报告},
year = {2012},
date = {2012-01-16},
urldate = {2013-03-26},
url = {http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/201201/P020120709345264469680},
key = {zhong1guo2hu4lian2wang3lao4xin4xi1zhong1xin1},
}
@phdthesis{deverell,
author = {Deverell, William and Igler, David},
title = {A Companion to {California} History},
address = {New York},
school = {John Wiley \& Sons},
year = {2013},
pages = {21--22},
date = {2013-11-15},
urldate = {2014-06-24},
url = {http://onlinelibrary.wiley.com/doi/10.1002/9781444305036.ch2/summary},
doi = {10.1002/9781444305036.ch2},
key = {Deverell, William and Igler, David},
}
@proceedings{czy,
editor = {陈志勇},
series = {中国财税文化价值研究},
title = {“中国财税文化国际学术研讨会”论文集},
address = {北京},
publisher = {经济科学出版社},
year = {2011},
urldate = {2013-10-14},
url = {http://apabi.lib.pku.edu.cn/usp/pku/pub.mvc?pid=book.detail&metaid=m.201106228-BPO-889-0135&cult=CN},
key = {None},
}
@techreport{calkin,
author = {Calkin, D and Ager, A and Thompson, M},
title = {A Comparative Risk Assessment Framework for Wildland Fire Management: the 2010 Cohesive Strategy Science Report},
number = {RMRS-GTR-262},
year = {2011},
pages = {8--9},
key = {Calkin, D and Ager, A and Thompson, M},
}
@incollection{buseck,
author = {Buseck, P R and Nord, Jr, G L and Veblen, D R},
title = {Subsolidus Phenomena in Pyroxenes},
booktitle = {Pyroxense},
address = {Washington, D.C.},
publisher = {Mineralogical Society of America},
year = {c1980},
pages = {117--211},
key = {Buseck, P R and Nord, Jr, G L and Veblen, D R},
}
显然中文文献已经自动添加了包含拼音信息的域。
有时默认的拼音可能存在问题,那么这时可以手动调整,方法为:
在 bibmapaddpinyinkey.py 添加需要修改的多音字的拼音,比如:
#设置多音字的首读音
multiplepinyin={
'曾':'zeng1',
'沈':'shen3',
'翟':'zhai2'
}
我写 bibmap 最初应该是有什么冲动的,两个大功能总体也是实现了的,但我想可能还是这个添加拼音的功能可能会是最有用的,所以这里推广一下,方便大家使用。
另外,由于当初写的有些仓促,功能是实现了的,但优化程度可能不高,大家也可以帮忙看一下程序的python源码,有什么问题可以提建议,甚至帮我改改。
暂无评论