
リンクのドメイン名のみを保持するコマンドを定義するにはどうすればいいでしょうか?http://www.google.com/search?=banggoogle.com のみを指定し、URL 参照の組織フィールドとして表示しますか?
どうもありがとう
答え1
これは本当に重要なリクエストなので、organization
手動でフィールドに入力することを強くお勧めします (組織名を大文字にすることは最も問題ではありません。ではなくurl = {http://nssdc.gsfc.nasa.gov/planetary/factsheet/moonfact.html}
と表示されるのは望ましくありませorganization = {nasa}
んorganization = {NASA}
)。
biblatex
およびを使用した概念実証として、多少は役に立つソリューションですbiber
。
このソースマップはプリアンブルに入ります。
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite=false]{
\step[fieldsource=url, match=\regexp{^((?:f|ht)tps?://)?(?:www\.)?([^/]+)}, final]
\step[fieldset=organization, fieldvalue={$2}]
}
}
}
フィールドから URL のドメイン部分を抽出しurl
、フィールドにマッピングしようとします。サブドメインを削除するのは簡単な作業ではないため、特に、、などのorganization
TLD があることを考慮すると、これらは依然として含まれます。.co.uk
.info
.de
.com
\documentclass{article}
\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{hyperref}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ELECTRONIC{MEMSnet,
title = {What is {MEMS}?},
url = {http://www.memsnet.org/mems/what_is.html},
urldate = {2013-12-01},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite=false]{
\step[fieldsource=url, match=\regexp{^((?:f|ht)tps?://)?(?:www\.)?([^/]+)}, final]
\step[fieldset=organization, fieldvalue={$2}]
}
}
}
\begin{document}
\nocite{MEMSnet,wilde,markey}
\printbibliography
\end{document}
与える
ここで、上で述べた両方の問題が見られます。おそらく、MEMSnet
の代わりに をmemsnet.org
、CTAN
の代わりにを見たいと思うでしょうtug.ctan.org
。