ローカル URL の書き換えに基づいて、参考文献にカスタム URL を自動的に追加するソリューションを検索します。
たとえば、library.lib
次のようなローカル PDF URL を持つ BiblaTex エントリがあります。
@phdthesis{Stonedahl2011a,
author = {Stonedahl, Forrest J.},
file = {:home/srey/TRAVAUX/THESE/REPOSITORY\_PDF/RANGE/Stonedahl\_2011\_Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models.pdf:pdf},
number = {December},
pages = {394},
school = {Evanston, Illinois},
title = {{Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models}},
year = {2011}
}
ラテックスファイル:
\documentclass[a4paper, 12pt,twoside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{fontspec}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[autostyle=true,french=guillemets,maxlevel=3]{csquotes}
\usepackage{xparse}
\usepackage{graphicx}
\usepackage[protrusion=true]{microtype}
\sidecapmargin{outer}
\setsidecappos{t}
\usepackage[backend=biber,backref=true, natbib=true, isbn=false, doi=false, url=false, style=authoryear,maxcitenames=1, maxbibnames=999, sorting=nyt, refsection=chapter, hyperref]{biblatex}
\addbibresource[datatype=bibtex]{library.bib}
\begin{document}
\chapterstyle{bringhurst}
My blabla text with citation. \autocite{Stonedahl2011a}
\printbibliography
\end{document}
カスタム ソースから論文をダウンロードするために参考文献にカスタム URL を追加する方法と、この URL を BiblaTex ファイルに自動的に変換する方法を教えてください。
home/srey/TRAVAUX/THESE/REPOSITORY\_PDF/RANGE/Stonedahl\_2011\_Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models.pdf transform
の中へ
http://mycustomserver.com/Stonedahl_2011_Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models.pdf
答え1
biblatex
をバックエンドとして使用すると、フィールドのオンザフライ操作を実行するためにbiber
使用することができます。\DeclareSourcemap
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=file]
\step[fieldset=url, origfieldval]
\step[fieldsource=url,
match=\regexp{:home/srey/TRAVAUX/THESE/REPOSITORY_PDF/RANGE/(.+):pdf},
replace={http://www.example.com/$1}]
}
}
}
最初の 2 つの手順は、フィールドの値をfile
フィールドにコピーすることを目的としておりurl
、最後の手順step
は、 のパスをfile
適切な URL に置き換えることです。\regexp
を使用すると、通常の正規表現によるグループ化と置換が可能になります。
このような操作については、biblatex マニュアルのセクション 4.5.2 で詳しく説明されています。
結果は次のとおりです (url
置換の結果を表示するオプションを変更)。