redleafnew / zotero-javascripts

Some JavaScripts used in Zotero to batch process
GNU General Public License v3.0
232 stars 37 forks source link

中文文献更新期刊缩写 #3

Closed fredericky123 closed 1 year ago

fredericky123 commented 1 year ago

对于中文文献期刊,直接用全称替换期刊缩写;对于中文博士论文,直接用University替换期刊缩写 感谢!

redleafnew commented 1 year ago

加入Zotero群组,将条目拖动到群组中,方便测试:https://www.zotero.org/groups/4683725/plugin-test

redleafnew commented 1 year ago

学位论文没有期刊缩写这个字段,无法显示在栏位中。

fredericky123 commented 1 year ago

学位论文没有期刊缩写这个字段,无法显示在栏位中。

想的是用university去填充期刊缩写,因为是想看文章出处,大学这个字段的信息就类似于期刊名了。

redleafnew commented 1 year ago

问题是填充到哪个字段?

redleafnew commented 1 year ago

image

fredericky123 commented 1 year ago

哦哦! 理解了 没有期刊缩写的字段,好吧,那就只能放弃了,不管学位论文了。

redleafnew commented 1 year ago

选中条目后运行脚本试试: 现在判断是中文语言条目且是期刊,用期刊名称填充期刊缩写字段。

 var items = ZoteroPane.getSelectedItems();
 var item = items[0]; 
 for (i = 0; i < items.length; i++) {
        var journal = Zotero.ItemTypes.getName(item.itemTypeID) == 'journalArticle' // 文献类型为期刊
        var lanItem = items[i].getField('language'); //得到条目语言
        var chItem = lanItem.indexOf('ch') !== -1 || //中文条目
        lanItem.indexOf('zh') !== -1 ||
        lanItem.indexOf('中文') !== -1 ||
        lanItem.indexOf('CN') !== -1;
        var pubT = items[i].getField('publicationTitle');
        if ( journal && chItem) {
            items[i].setField('journalAbbreviation', pubT);
        } 
       await items[i].saveTx();
   }
fredericky123 commented 1 year ago

确实可以了👍

image

返回值改为done或者success就可以了

redleafnew commented 1 year ago

https://getquicker.net/Sharedaction?code=0d36b2f2-8617-42ea-aec5-08daafdb5f80 如果用quicker可以试试。

fredericky123 commented 1 year ago

厉害了,第一次接触quicker,mac系统有类似的软件吗

redleafnew commented 1 year ago

不大了解Mac的情况,Quicker挺强大的。

fredericky123 commented 1 year ago

不大了解Mac的情况,Quicker挺强大的。

是的是的 佩服了