
링크의 도메인 이름만 유지하는 명령을 어떻게 정의할 수 있습니까?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
. 하위 도메인을 제거하는 것은 특히 .co.uk
, .info
, 등과 같은 TLD .de
가 있다는 점을 고려하는 경우 간단한 작업이 아니기 때문에 .com
이러한 TLD는 여전히 포함됩니다.
\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