Biblatex 从多个文档中获取引用的参考文献

Biblatex 从多个文档中获取引用的参考文献

我目前正在编写一份大型文档,其中汇集了我实验室过去一年的所有出版物。为了方便打印,我将其分成几卷。现在我想使用引用类别在每卷中添加参考书目,但要考虑到每卷的情况……可以吗?

卷1.tex

% !TeX document-id = {59748d60-1764-4a68-aa7d-506dedf42c2a}
% !TeX TS-encoding = utf8
% !TeX TS-spellcheck = fr_FR
% !BIB TS-program = biber
% !TeX TS-program = lualatex

\documentclass[12pt, a4paper]{memoir}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}%,Numbers=OldStyle}% ,Scale=MatchLowercase} bug in current Biolinum
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}

\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{english}
\usepackage[hyphens,spaces,obeyspaces]{url}
\urlstyle{same}
\newcommand{\murl}[2]{\href{#2}{#1}\footnote{\url{#2}}}
\let\oldurl\url
\renewcommand{\url}[1]{\begin{english}\oldurl{#1}\end{english}}

\usepackage{hyperref}
\hypersetup{
    pdfauthor={Bur Nicolas},
    pdftitle={Recueil des publications ESTIA},
    pdfencoding=auto,
    pdffitwindow = false,
    pdfstartview = {FitH},
    bookmarksopen = true,
    bookmarksnumbered = true,
    bookmarksopen = true,
    bookmarksopenlevel = 3,
    bookmarksdepth = 4,
    colorlinks = true,    %colorise les liens
    breaklinks = true,    %permet le retour à la ligne dans les liens trop longs
    urlcolor = black,        %couleur des hyperliens
    linkcolor = black,        %couleur des liens internes
    citecolor = black,
    backref=page,
    pdfpagelabels,
    pdfencoding=auto,
    unicode,
    naturalnames,
}

\newcommand{\Publi}[1]{%
    \clearpage
    \phantomsection
    \addcontentsline{toc}{chapter}{\fullcite{#1}}
    \markboth{\footnotesize\citetitle{#1}}{\footnotesize\citetitle{#1}}
     \null
     \vfill
     {\Large \fullcite{#1}}
     \vfill
     \clearpage
 }

 \usepackage{csquotes}
 \usepackage[%
     language=french,
     backend=biber,
     sorting=nyt,
     backref=true,
     indexing=true,
     maxnames=99,
     style=authoryear-icomp,
     url=false,
 ]{biblatex}
 \DeclareBibliographyCategory{cited}
 \AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}

 \addbibresource{Extraction_Hal_2017.bib}

 \begin{document}
     \Publi{abiakle:hal-01438790}
     \Publi{abiakle:hal-01664371}
     \Publi{abiakle:hal-01664375}

     \nocite{*}
     \printbibliography[heading=bibintoc, category=cited] % from both Vol1 and Vol2
     \cleardoublepage
 \end{document}

Vol2.tex(具有完全相同的序言)

\begin{document}
    \setcounter{page}{4}
    \Publi{ambrosino:hal-01534697}
    \Publi{badets:hal-01655230}
    \Publi{barquissau:hal-01655914}

    \nocite{*}
    \printbibliography[heading=bibintoc, category=cited] % from both Vol1 and Vol2

    \cleardoublepage
\end{document}

提取_Hal_2017.bib

@inproceedings{abiakle:hal-01664375,
    TITLE = {{Helping inhabitants in energy saving and getting inputs from usage for eco-design: Cooking case study}},
    AUTHOR = {Abi Akle, Audrey and Lizarralde, Iban},
    URL = {https://hal.archives-ouvertes.fr/hal-01664375},
    BOOKTITLE = {{The 21st International Conference on Engineering Design (ICED17 )}},
    ADDRESS = {Vancouver, Canada},
    YEAR = {2017},
    MONTH = Aug,
    HAL_ID = {hal-01664375},
    HAL_VERSION = {v1},
    USERA = {COMCL},
}
@article{abiakle:hal-01438790,
    TITLE = {{Information visualization for selection in Design by Shopping}},
    AUTHOR = {Abi Akle, Audrey and Minel, St{\'e}phanie and Yannou, Bernard},
    URL = {https://hal.archives-ouvertes.fr/hal-01438790},
    JOURNAL = {{Research in Engineering Design}},
    PUBLISHER = {{Springer Verlag}},
    VOLUME = {28},
    NUMBER = {1},
    PAGES = {99-117},
    YEAR = {2017},
    MONTH = Jan,
    DOI = {10.1007/s00163-016-0235-2},
    KEYWORDS = { Computer aided design (CAD) ;  Decision making ; Visual Design ; Computer Aided Design (CAD) ; Decision Making},
    PDF = {https://hal.archives-ouvertes.fr/hal-01438790/file/RiED%202016%20-%20AbiAkle%20Minel%20Yannou.pdf},
    HAL_ID = {hal-01438790},
    HAL_VERSION = {v1},
    USERA = {ART},
}
@inproceedings{abiakle:hal-01664371,
    TITLE = {{Design space visualization for efficiency in knowledge discovery leading to an informed decision}},
    AUTHOR = {Abi Akle, Audrey and Minel, St{\'e}phanie and YANNOU, Bernard},
    URL = {https://hal.archives-ouvertes.fr/hal-01664371},
    BOOKTITLE = {{The 21st International Conference on Engineering Design (ICED17 )}},
    ADDRESS = {Vancouver, Canada},
    YEAR = {2017},
    MONTH = Aug,
    KEYWORDS = {Visualization ; Computer aided design (CAD) ; Decision making ; Design by shopping},
    PDF = {https://hal.archives-ouvertes.fr/hal-01664371/file/ICED%202017%20-%20Abi%20Akle%20et%20al.pdf},
    HAL_ID = {hal-01664371},
    HAL_VERSION = {v1},
    USERA = {COMCL},
}
@inproceedings{ambrosino:hal-01534697,
    TITLE = {{IdeaBulb: A Smart and Tangible User Interface for Monitoring Ideation During Creative Sessions}},
    AUTHOR = {Ambrosino, Julien and Daniel, Maxime and Masson, Dimitri and Legardeur, J{\'e}r{\'e}my},
    URL = {https://hal.archives-ouvertes.fr/hal-01534697},
    BOOKTITLE = {{Sixth International Conference on Smart Cities, Systems, Devices and Technologies (SMART 2017)}},
    ADDRESS = {Venice, Italy},
    ORGANIZATION = {{IARIA}},
    EDITOR = {XPS (Xpert Publishing Services)},
    PUBLISHER = {{Berntzen, L. et al.}},
    SERIES = {SMART INTERFACES 2017, The Symposium for Empowering and Smart Interfaces in Engineering},
    PAGES = {pp. 70-74},
    YEAR = {2017},
    MONTH = Jun,
    KEYWORDS = {idea generation ; ideation ; tangible interface ; creativity},
    PDF = {https://hal.archives-ouvertes.fr/hal-01534697/file/Smart%20Interface%20IdeaBulb_v2.1.pdf},
    HAL_ID = {hal-01534697},
    HAL_VERSION = {v2},
    USERA = {ACTCL},
}
@inproceedings{badets:hal-01655230,
    TITLE = {{Human efficiency for reducing Lean limits }},
    AUTHOR = {Badets, Patrick and Merlo, Christophe and Pilniere, V{\'e}ronique},
    URL = {https://hal.archives-ouvertes.fr/hal-01655230},
    BOOKTITLE = {{12e congr{\`e}s international de g{\'e}nie industriel}},
    ADDRESS = {Compi{\`e}gne, France},
    YEAR = {2017},
    MONTH = May,
    KEYWORDS = {Lean approach ; D{\'e}marche Lean ; mod{\`e}le de performance ; mod{\'e}lisation d'entreprise ; -- Lean approach ; performance model ; enterprise modelling ; GRAI},
    PDF = {https://hal.archives-ouvertes.fr/hal-01655230/file/CIGI2017_paper48-6finale.pdf},
    HAL_ID = {hal-01655230},
    HAL_VERSION = {v1},
    USERA = {COMM},
}
@inproceedings{barquissau:hal-01655914,
    TITLE = {{Les forums d'actionnaires individuels : un outil de r{\'e}duction du risque ?}},
    AUTHOR = {Barquissau, {\'E}ric and Darras-Barquissau, Nathalie},
    URL = {https://hal.archives-ouvertes.fr/hal-01655914},
    BOOKTITLE = {{Oriane - 15{\`e}me colloque francophone sur le risque}},
    ADDRESS = {Bayonne, France},
    ORGANIZATION = {{IUT Bayonne Pays Basque and Universit{\'e} de Pau et des Pays de l'Adour}},
    YEAR = {2017},
    MONTH = Sep,
    KEYWORDS = {Actionnaires individuels ; R{\'e}seaux sociaux ; Risque financier ; Risque per{\c c}u ; Netnographie ; Forum boursier},
    PDF = {https://hal.archives-ouvertes.fr/hal-01655914/file/Oriane%202017-Barquissau-Darras.pdf},
    HAL_ID = {hal-01655914},
    HAL_VERSION = {v1},
    USERA = {COMM},
}

编辑以添加一些说明。

正如@gusbrs 在第一条评论中指出的那样,打印所有引用的参考文献似乎是可行的。但是,我希望将引用指向引用该参考文献的页面(最好是指向卷)。

从 python 脚本中我可以知道我将拥有多少个卷;使用临时文件和\immediate\write卷末尾\pageref{derniere_page}以及\read最开始的先前保存的值,我能够设置按卷顺序分页。

答案1

考虑到您提到您可以在条目中添加一个字段或者根据您的 python 脚本对条目进行分区,从而每个卷生成一个 bib 文件,我想我可以建议一种可能的方法,但是,这种方法可能无法达到所需的自动化程度。

这两种可能性基本上都可以通过相同的程序来处理。通过按卷对 bib 文件进行分区,我们可以使用此信息将卷号添加\DeclareSourcemap到任意字段(这里我使用userd,它可以是任何字段,只要它未在其他地方使用)。如果您可以向条目添加字段,则可以直接插入该信息。

\DeclareSourcemap{
    \maps[datatype=bibtex]{
        \map[overwrite]{
            \perdatasource{Extraction_Hal_2017_vol1.bib}
            \step[fieldset=userd, fieldvalue={1}]
        }
        \map[overwrite]{
            \perdatasource{Extraction_Hal_2017_vol2.bib}
            \step[fieldset=userd, fieldvalue={2}]
        }
    }
}

但是,要使反向引用与单独的文档一起正确工作,必须按条目存储有关反向引用的信息,然后以某种方式反馈给 biblatex。这可能是可行的(通常是可行的......),但我不知道该怎么做。因此,我建议您使用添加了卷的单个主文档,\include这将允许收集主文档中的所有相关信息,并使用 有选择地打印它们\includeonly

因此,完整的结构如下:

main.tex

% !TeX document-id = {59748d60-1764-4a68-aa7d-506dedf42c2a}
% !TeX TS-encoding = utf8
% !TeX TS-spellcheck = fr_FR
% !BIB TS-program = biber
% !TeX TS-program = lualatex

\documentclass[12pt, a4paper]{memoir}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}%,Numbers=OldStyle}% ,Scale=MatchLowercase} bug in current Biolinum
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}

\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{english}
\usepackage[hyphens,spaces,obeyspaces]{url}
\urlstyle{same}
\newcommand{\murl}[2]{\href{#2}{#1}\footnote{\url{#2}}}
\let\oldurl\url
\renewcommand{\url}[1]{\begin{english}\oldurl{#1}\end{english}}

\usepackage{hyperref}
\hypersetup{
    pdfauthor={Bur Nicolas},
    pdftitle={Recueil des publications ESTIA},
    pdfencoding=auto,
    pdffitwindow = false,
    pdfstartview = {FitH},
    bookmarksopen = true,
    bookmarksnumbered = true,
    bookmarksopen = true,
    bookmarksopenlevel = 3,
    bookmarksdepth = 4,
    colorlinks = true,    %colorise les liens
    breaklinks = true,    %permet le retour à la ligne dans les liens trop longs
    urlcolor = black,        %couleur des hyperliens
    linkcolor = black,        %couleur des liens internes
    citecolor = black,
    backref=page,
    pdfpagelabels,
    pdfencoding=auto,
    unicode,
    naturalnames,
}

\usepackage{csquotes}
\usepackage[%
    language=french,
    backend=biber,
    sorting=nyt,
    backref=true,
    indexing=true,
    maxnames=99,
    style=authoryear-icomp,
    url=false,
]{biblatex}

\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}

\newcommand{\Publi}[1]{%
    \clearpage
    \phantomsection
    \addcontentsline{toc}{chapter}{\fullcite{#1}}
    \markboth{\footnotesize\citetitle{#1}}{\footnotesize\citetitle{#1}}
    \null
    \vfill
    {\Large \fullcite{#1}}
    \vfill
    \clearpage
}

\renewbibmacro*{pageref}{%
    \iflistundef{pageref}
    {}
    {\printtext[parens]{%
        \ifnumgreater{\value{pageref}}{1}
        {\bibstring{backrefpages}\ppspace}
        {\bibstring{backrefpage}\ppspace}%
        \printlist[pageref][-\value{listtotal}]{pageref}%
        \setunit{\addcomma\space}%
        \printtext{in\space vol\adddot\space}%
        \printfield{userd}}}}

\addbibresource{Extraction_Hal_2017_vol1.bib}
\addbibresource{Extraction_Hal_2017_vol2.bib}


\DeclareSourcemap{
    \maps[datatype=bibtex]{
        \map[overwrite]{
            \perdatasource{Extraction_Hal_2017_vol1.bib}
            \step[fieldset=userd, fieldvalue={1}]
        }
        \map[overwrite]{
            \perdatasource{Extraction_Hal_2017_vol2.bib}
            \step[fieldset=userd, fieldvalue={2}]
        }
    }
}

%\includeonly{vol1}
%\includeonly{vol2}

\begin{document}

\include{vol1}

\include{vol2}

\renewcommand{\thepage}{}
\printbibliography[heading=bibintoc, category=cited]

\end{document}

vol1.tex

\Publi{abiakle:hal-01438790}
\Publi{abiakle:hal-01664371}
\Publi{abiakle:hal-01664375}

vol2.tex

\Publi{ambrosino:hal-01534697}
\Publi{badets:hal-01655230}
\Publi{barquissau:hal-01655914}

Extraction_Hal_2017_vol1.bib(bib 文件的分区由您的 python 脚本处理):

@inproceedings{abiakle:hal-01664375,
    TITLE = {{Helping inhabitants in energy saving and getting inputs from usage for eco-design: Cooking case study}},
    AUTHOR = {Abi Akle, Audrey and Lizarralde, Iban},
    URL = {https://hal.archives-ouvertes.fr/hal-01664375},
    BOOKTITLE = {{The 21st International Conference on Engineering Design (ICED17 )}},
    ADDRESS = {Vancouver, Canada},
    YEAR = {2017},
    MONTH = Aug,
    HAL_ID = {hal-01664375},
    HAL_VERSION = {v1},
    USERA = {COMCL},
}
@article{abiakle:hal-01438790,
    TITLE = {{Information visualization for selection in Design by Shopping}},
    AUTHOR = {Abi Akle, Audrey and Minel, St{\'e}phanie and Yannou, Bernard},
    URL = {https://hal.archives-ouvertes.fr/hal-01438790},
    JOURNAL = {{Research in Engineering Design}},
    PUBLISHER = {{Springer Verlag}},
    VOLUME = {28},
    NUMBER = {1},
    PAGES = {99-117},
    YEAR = {2017},
    MONTH = Jan,
    DOI = {10.1007/s00163-016-0235-2},
    KEYWORDS = { Computer aided design (CAD) ;  Decision making ; Visual Design ; Computer Aided Design (CAD) ; Decision Making},
    PDF = {https://hal.archives-ouvertes.fr/hal-01438790/file/RiED%202016%20-%20AbiAkle%20Minel%20Yannou.pdf},
    HAL_ID = {hal-01438790},
    HAL_VERSION = {v1},
    USERA = {ART},
}
@inproceedings{abiakle:hal-01664371,
    TITLE = {{Design space visualization for efficiency in knowledge discovery leading to an informed decision}},
    AUTHOR = {Abi Akle, Audrey and Minel, St{\'e}phanie and YANNOU, Bernard},
    URL = {https://hal.archives-ouvertes.fr/hal-01664371},
    BOOKTITLE = {{The 21st International Conference on Engineering Design (ICED17 )}},
    ADDRESS = {Vancouver, Canada},
    YEAR = {2017},
    MONTH = Aug,
    KEYWORDS = {Visualization ; Computer aided design (CAD) ; Decision making ; Design by shopping},
    PDF = {https://hal.archives-ouvertes.fr/hal-01664371/file/ICED%202017%20-%20Abi%20Akle%20et%20al.pdf},
    HAL_ID = {hal-01664371},
    HAL_VERSION = {v1},
    USERA = {COMCL},
}

Extraction_Hal_2017_vol2.bib

@inproceedings{ambrosino:hal-01534697,
    TITLE = {{IdeaBulb: A Smart and Tangible User Interface for Monitoring Ideation During Creative Sessions}},
    AUTHOR = {Ambrosino, Julien and Daniel, Maxime and Masson, Dimitri and Legardeur, J{\'e}r{\'e}my},
    URL = {https://hal.archives-ouvertes.fr/hal-01534697},
    BOOKTITLE = {{Sixth International Conference on Smart Cities, Systems, Devices and Technologies (SMART 2017)}},
    ADDRESS = {Venice, Italy},
    ORGANIZATION = {{IARIA}},
    EDITOR = {XPS (Xpert Publishing Services)},
    PUBLISHER = {{Berntzen, L. et al.}},
    SERIES = {SMART INTERFACES 2017, The Symposium for Empowering and Smart Interfaces in Engineering},
    PAGES = {pp. 70-74},
    YEAR = {2017},
    MONTH = Jun,
    KEYWORDS = {idea generation ; ideation ; tangible interface ; creativity},
    PDF = {https://hal.archives-ouvertes.fr/hal-01534697/file/Smart%20Interface%20IdeaBulb_v2.1.pdf},
    HAL_ID = {hal-01534697},
    HAL_VERSION = {v2},
    USERA = {ACTCL},
}
@inproceedings{badets:hal-01655230,
    TITLE = {{Human efficiency for reducing Lean limits }},
    AUTHOR = {Badets, Patrick and Merlo, Christophe and Pilniere, V{\'e}ronique},
    URL = {https://hal.archives-ouvertes.fr/hal-01655230},
    BOOKTITLE = {{12e congr{\`e}s international de g{\'e}nie industriel}},
    ADDRESS = {Compi{\`e}gne, France},
    YEAR = {2017},
    MONTH = May,
    KEYWORDS = {Lean approach ; D{\'e}marche Lean ; mod{\`e}le de performance ; mod{\'e}lisation d'entreprise ; -- Lean approach ; performance model ; enterprise modelling ; GRAI},
    PDF = {https://hal.archives-ouvertes.fr/hal-01655230/file/CIGI2017_paper48-6finale.pdf},
    HAL_ID = {hal-01655230},
    HAL_VERSION = {v1},
    USERA = {COMM},
}
@inproceedings{barquissau:hal-01655914,
    TITLE = {{Les forums d'actionnaires individuels : un outil de r{\'e}duction du risque ?}},
    AUTHOR = {Barquissau, {\'E}ric and Darras-Barquissau, Nathalie},
    URL = {https://hal.archives-ouvertes.fr/hal-01655914},
    BOOKTITLE = {{Oriane - 15{\`e}me colloque francophone sur le risque}},
    ADDRESS = {Bayonne, France},
    ORGANIZATION = {{IUT Bayonne Pays Basque and Universit{\'e} de Pau et des Pays de l'Adour}},
    YEAR = {2017},
    MONTH = Sep,
    KEYWORDS = {Actionnaires individuels ; R{\'e}seaux sociaux ; Risque financier ; Risque per{\c c}u ; Netnographie ; Forum boursier},
    PDF = {https://hal.archives-ouvertes.fr/hal-01655914/file/Oriane%202017-Barquissau-Darras.pdf},
    HAL_ID = {hal-01655914},
    HAL_VERSION = {v1},
    USERA = {COMM},
}

为了实现正确的反向引用,您应该首先编译完整的主文档(即没有\includeonly),直到它稳定。然后您可以使用\includeonlys 来生成每个卷。

每卷的参考书目如下:

在此处输入图片描述

相关内容