сохранить только доменное имя URL и напечатать в библиографии как организацию

сохранить только доменное имя URL и напечатать в библиографии как организацию

Как определить команду, чтобы сохранить только доменное имя ссылки, напримерhttp://www.google.com/search?=bangвыдаст только google.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.

Связанный контент