論文著者名をリンクするPopupMenu
script.jsfunction LinkAuthors(authorsStr) {
const separators = /[,&;]|and|\n/gi;
const removePattern = new RegExp(
"[\\d†\\*]" + // 数字、†、* を削除
"|(\\s[a-z])+(\\s*$)" + // 単一小文字による注釈を削除
// 名前以外の文字列・URLを削除
"|ORCID" +
"|View ORCID Profile" +
"|Author links open overlay panel" +
"|https?:\\/\\/\\S+",
"gi" // グローバル検索、大文字小文字を区別しない
);
const capitalize = words => words.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
const authors = authorsStr.replace(separators, ",")
.split(",")
.map(author => author.replace(removePattern, "").trim())
.filter(author => author.length > 1)
.map(author => `[${capitalize(author)}]`)
.join(", ");
return authors;
}
scrapbox.PopupMenu.addButton({
title: 'link authors',
onClick: LinkAuthors,
});
例
John A. Doe, Hanako Yamada
→ [John A. Doe], [Hanako Yamada]
Dan R. Pow1,2†, 豊臣 秀吉*1
(deprecated) [Dan R. Pow]1,2†, [豊臣 秀吉]*1
[Dan R. Pow], [豊臣 秀吉]
名前の末尾にスペースがある場合に正規表現でどう対処したらいいかわからない
jsでやる
他の区切りに対処
and
&
;
? 改行
注に対応する
\d, †, *
a
, b
とか
名前と区別がつかなくて無理?
空白かカンマに挟まれた一文字を消す?
連続する場合もあるか?
View ORCID Profile
を消す
ORCID
だけの場合もある
姓と名が入れ替わっているバージョン
Doe, John;
とか
注が ,
で区切られている場合に、空の []
ができてしまう
test
Dan R. Pow1,2†, 豊臣 秀吉*1,
John A. Doe a b
Hanako Yamada
Author links open overlay panelHarshani Nadeeshani a, Jinyao Li b, Tianlei Ying c, Baohong Zhang d, Jun Lu a e f g h i j
YUYANG GU HTTPS://ORCID.ORG/0000-0002-6545-2521 , VIKSIT KUMAR HTTPS://ORCID.ORG/0000-0003-0056-5223, E. G. SUNETHRA K. DAYAVANSHA, SCOTT SCHOEN JR HTTPS://ORCID.ORG/0000-0001-7195-2883, ERNEST FELEPPA, RIMON TADROSS, MICHAEL H. WANG HTTPS://ORCID.ORG/0000-0002-5784-8550, MICHAEL J. WASHBURN, KAI THOMENIUS HTTPS://ORCID.ORG/0000-0002-4435-843X, AND ANTHONY E. SAMIR HTTPS://ORCID.ORG/0000-0002-7801-8724
Adam H. Marblestone1* Greg Wayne2 Konrad P. Kording3
Author links open overlay panelNaoko Koide-Majima a b 1, Shinji Nishimoto a b c, Kei Majima d e 1
Yusuke Watanabe a
#, Yuki Miyazaki b #
Erik van Zwet, Ph.D. E.W.van_Zwet@lumc.nl, Andrew Gelman, Ph.D., Sander Greenland, M.D., Ph.D., Guido Imbens, Ph.D., Simon Schwab, Ph.D., and Steven N. Goodman, M.D., Ph.D.Author Info & Affiliations
(NEMJ)
Alexander G. Ororbia