diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/biblatex-contrib/biblatex-morenames |
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-morenames')
18 files changed, 966 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/README b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/README new file mode 100644 index 0000000000..0e26f52af2 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/README @@ -0,0 +1,9 @@ +This package adds new fields of "name" type to the standard entry types of biblatex. +For example: +- maineditor, for a @collection, means the editor of @mvcollection, and not the editor of the @collection. +- bookineditor, for a @bookinbook, means the editor of the entry, and not, as the standard editor field, the editor of the volume in which the entry is contained. + +More new "name" fields could be added, if asked and needed. + +Copyright : Maïeul Rouquette 2016-…, LPPL 1.3c +https://latex-project.org/lppl/lppl-1-3c.html diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/biblatex-morenames.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/biblatex-morenames.pdf Binary files differnew file mode 100644 index 0000000000..5ef174f16b --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/biblatex-morenames.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/biblatex-morenames.tex b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/biblatex-morenames.tex new file mode 100644 index 0000000000..1e6e32ecde --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/biblatex-morenames.tex @@ -0,0 +1,287 @@ +\documentclass{ltxdockit}[2011/03/25] +\usepackage{btxdockit} +\usepackage{fontspec} +\usepackage[mono=false]{libertine} +\usepackage{microtype} +\usepackage[american]{babel} +\usepackage[strict]{csquotes} +\setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono} +\usepackage{shortvrb} +\usepackage{pifont} +\usepackage{minted} +\usepackage{graphics} +% Usefull commands +\newcommand{\biblatex}{biblatex\xspace} +\pretocmd{\bibfield}{\sloppy}{}{} +\pretocmd{\bibtype}{\sloppy}{}{} +\newcommand{\namebibstyle}[1]{\texttt{#1}} +\usepackage[citestyle=verbose,bibstyle=morenames]{biblatex} +\bibliography{example-maineditor.bib} +\bibliography{example-bookineditor.bib} +\bibliography{example-bookineditor-BookineditorFromEditor.bib} +% Meta-datas +\titlepage{% + title={Biblatex-morenames}, + subtitle={New fields of name type for standard biblatex entry types}, + email={maieul <at> maieul <dot> net}, + author={Maïeul Rouquette}, + revision={1.3.1}, + date={25/01/2017}, + url={https://git.framasoft.org/maieul/biblatex-morenames}} + + +\begin{document} + +\printtitlepage +\tableofcontents + +\section{Introduction} + +\subsection{Aims} +The \biblatex package provides multiple fields which can contain a list of names. For example : \bibfield{author}, \bibfield{editor}, \bibfield{translator} etc. +However, this can be limited, especially in the case of humanities. + +For example, suppose a \bibtype{bookinbook} entry. Formally, \bibfield{editor} field means for this entry type, the editor of book which contains the edited book, and not the editor of the book which is contained in a other book. This package provides a \bibfield{bookineditor} field, for this need. + +An other example: suppose a \bibtype{collection} entry which is cross-referenced to the +\bibtype{mvcollection} entry. The \bibfield{editor} entry means for the editor of the specific book, and not the editor for the collection of books. +This package provides a \bibfield{maineditor} field, for this need. +\subsection{Credits} + +This package was created for Maïeul Rouquette's phd dissertation\footnote{\url{http://apocryphes.hypothese.org}.} in 2016. It is licensed on the \emph{\LaTeX\ Project Public License}\footnote{\url{http://latex-project.org/lppl/lppl-1-3c.html}.}. + + +All issues can be submitted, in French or English, in the Framagit issues page\footnote{\url{https://git.framasoft.org/maieul/biblatex-morenames/issues}.}. + + +\section{Naming convention} +This packages provides multiple new fields. Here are the explanation of the naming convention. +\subsection{Keeping meaning} + + The meaning of already existing field does not change. So \bibfield{editor} means for the editor of a book, not for for editor of a part of a book. + +\subsection{New names are related to standard names} + The name of the new field are all related to the name of existing field. So we created \bibfield{maineditor} and \bibfield{ineditor} field, but not, for example, \bibfield{inrevisor} field, because there is not standard \biblatex called \bibfield{revisor}. + +\subsection{Level of entry types and relation between entry types} + + + \biblatex provides three levels of entry types: + \begin{itemize} + \item Multiple volume entry types, prefixed with \verb+mv+, as \bibtype{mvcollection}. + \item Single volume entry, not prefixed, as \bibtype{collection}. + \item Entry in a single volume, prefixed with \verb+in+ or \verb+bookin+, as \bibtype{incollection} and \bibtype{bookinbook}. + \end{itemize} + + Each level can be related to the immediately higher level with the biber crossref's mechanism. + + +Consequently: +\begin{itemize} + \item At a \enquote{multiple volume} level, the new fields are not prefixed. + \item At a \enquote{single volume} level, the new fields are: + \begin{itemize} + \item Not prefixed when referring to the \enquote{single volume} itself. + \item Prefixed with \verb+main+ when referring to the \enquote{multiple volume} entity. For example, a \bibfield{maineditor} field of a \bibfield{collection} entry means for the \bibfield{editor} field of the \bibfield{mvcollection} entry, for the editor of all the books, and not of the specific single books. + \end{itemize} + \item At a \enquote{in single volume} level the new fields are: + \begin{itemize} + \item Prefixed with a \verb+main+ when referring to the \enquote{multiple volume} entity. + \item Prefixed with a \verb+book+ when referring to the \enquote{single volume entity}. + \item Prefixed with a \verb+in+ or a \verb+bookin+ when referring to the \enquote{in single volume} entity itself. + \end{itemize} +\end{itemize} + +\textbf{In general, the best way to made no mistake is to use the biber's nested crossref mechanism. A \bibtype{incollection} entry must have a \bibfield{crossref} field referring to the \bibtype{collection} entry, which must have a \bibfield{crossref} field referring to the \bibtype{mvcollection} entry.} + +\section{What does the package provide?} + +The package provides: +\begin{itemize} + \item New fields' declaration. Notes that not all the possible new fields made possible by the name convention are not available. If you want new field, please open a new issue with a example of use.\footnote{\url{https://git.framasoft.org/maieul/biblatex-morenames/issues}.} + \item Inheritance's mechanism for these fields. + \item Integration of the fields in the standard bibliography styles of biblatex. +\end{itemize} + +It does not provides any integration to not standard bibliography styles of biblatex which are not based on the \verb+standard.bbx+ style. +To know if the new field can be automatically integrated to the standard bibliography's style, look on your .log files. If the \verb+standard.bbx+ file is loaded, it should be ok. + +\section{Loading package} +As the package defines new fields, you must load it as \verb+bibstyle+ option of \biblatex package. + +\begin{minted}{latex} + \usepackage[citestyle=youcitationstyle,bibstyle=morenames]{biblatex} +\end{minted} + + + +Note that the \emph{morenames} bibliography's style automatically loads \emph{verbose} bibliography's style, which means it is compatible with all the \emph{verbose-xxx} and \emph{authortitle-xxx} bibliography's styles of \biblatex, because all of them are identical to the \emph{verbose} \textbf{bibliography style}. + +In any case, you can choose your own \textbf{citation style}. + +If you need to use this package with package which also requires loading \emph{via} the \verb+bibstyle+ option, as for example biblatex-manuscript-philology, just use the biblatex-multiple-dm package, in the following way: + +\begin{minted}{latex} + \usepackage[tools={morenames,manuscripts},bibstyle=verbose]{biblatex-multiple-dm} + \usepackage[citestyle=numeric,bibstyle=multiple-dm]{biblatex} +\end{minted} + +If you want to use this package with \emph{alphabetic-xxx} or \emph{numeric-xx} bibliography style, also use the \emph{biblatex-multiple-dm} package, changing the \verb+bibstyle+ option. + +\begin{minted}{latex} + \usepackage[tools={morenames},bibstyle=numeric]{biblatex-multiple-dm} + \usepackage[citestyle=verbose,bibstyle=multiple-dm]{biblatex} +\end{minted} +\section{The new fields} + +\subsection{\bibfield{maineditor}} + +\subsubsection{Meaning} +\begin{itemize} + \item For a \bibtype{collection} or a \bibtype{incollection} entry, means the editor of the \bibtype{mvcollection} entry. + \item For a \bibtype{proceedings} or a \bibtype{inproceedings} entry, means the editor of the \bibtype{mvproceedings}. + \item For a \bibtype{reference} or a \bibtype{inreference} entry, means the editor of the \bibtype{mvreference}. +\end{itemize} + + +\subsubsection{.bib example} + +\inputminted[breaklines]{latex}{example-maineditor.bib} +\subsubsection{Fields inheritance} +The graph~\ref{example-maineditor} shows the fields inheritance. + +\begin{figure} + \centering + \includegraphics[height=0.99\textheight]{example-maineditor.pdf} + \label{example-maineditor} + \caption{Inheritance related to the \bibtype{maineditor} field} +\end{figure} +\subsubsection{Output example} + +\begin{quotation} +\cite{HistoireduChristianisme} + +\cite{Pietri1998} + +\cite{Maraval1998} +\end{quotation} + +\subsection{\bibfield{ineditor} and \bibfield{bookineditor}} +\subsubsection{Meaning} +For a \bibtype{article} or a \bibtype{inbook} entry, \bibfield{ineditor} means the editor of the single contribution, while \bibfield{editor} means the editor of the global volume. + + +For a \bibtype{bookinbook}, \bibfield{bookineditor} means the editor of the (ancient) edited book, while \bibfield{editor} means the editor of the global volume. + +The \bibtype{ineditor} or the \bibfield{bookineditor} field is typeset immediately after the title of the subentry, while the \bibtype{editor} field is typeset after the title of the main entry. + + + + +Notes that if the value of \bibtype{bookineditor} or \bibfield{ineditor} field is equal to the \bibfield{editor} field, this last one is not printed. + +There is two modes of inheritance for these fields: the default one and the optional one. + +\subsubsection{Default inheritance mode} + +With the default inheritance mode, the \bibtype{bookineditor} field of the subentry is never inherited from the main entry. + + +\paragraph{.bib example} + +\inputminted[breaklines]{latex}{example-bookineditor.bib} + +\paragraph{Fields inheritance} + +The graph~\ref{example-bookineditor} shows the fields inheritance. + +\begin{figure} + \centering + \includegraphics[height=0.99\textheight]{example-bookineditor.pdf} + \label{example-bookineditor} + \caption{Inheritance related to the \bibtype{bookineditor} field, default setting} +\end{figure} + + +\paragraph{Output example} + +\begin{quotation} + \cite{BHG226} + + \cite{BHG225} +\end{quotation} +\subsubsection{Optional inheritance} + +With the optional inheritance, the \bibfield{bookineditor} or \bibfield{ineditor} field of the subentry is inherited from the \bibfield{editor} field of the main entry, except if the subentrty has already a \bibfield{bookineditor} or \bibfield{ineditor} field. + + +To enable this feature for the \bibfield{bookineditor} field, just add in your preamble, after loading biblatex, the following line: +\begin{minted}{latex} +\toggletrue{BookineditorFromEditor} +\end{minted} + +To enable this feature for the \bibfield{ineditor} field, just add in your preamble, after loading biblatex, the following line: +\begin{minted}{latex} +\toggletrue{IneditorFromEditor} +\end{minted} + +You can disable these features for specific subentry using \verb+noinherit=bookineditor+ or \verb`noinherit=ineditor` in the \bibfield{options} field of this subentry. + +\paragraph{.bib example} + +\inputminted[breaklines]{latex}{example-bookineditor-BookineditorFromEditor.bib} + +\paragraph{Fields inheritance} + +The graph~\ref{example-bookineditor-BookineditorFromEditor} shows the fields inheritance. + +\begin{figure} + \centering + \includegraphics[height=0.99\textheight]{example-bookineditor-BookineditorFromEditor.pdf} + \label{example-bookineditor-BookineditorFromEditor} + \caption{Inheritance related to the \bibtype{bookineditor} field with optional inheritance} +\end{figure} + + +\paragraph{Output example} + +\begin{quotation} + \cite{BHG226a} + + \cite{BHG225a} +\end{quotation} +\section{Change history} +\begin{changelog} + + +\begin{release}{1.3.1}{2017-01-25} + \item Fix spurious space when a book have nore author, nore editor. +\end{release} + +\begin{release}{1.3.0a}{2016-11-26} + \item Fix typo in handbook. +\end{release} + +\begin{release}{1.3.0}{2016-11-23} + \item Add \verb+noinherit=bookineditor+ and \verb+noinherit=ineditor+ options for individual volume. +\end{release} + +\begin{release}{1.2.0}{2016-09-08} + \item If the \bibfield{bookineditor} or \bibfield{ineditor} field is equal to the\bibfield{editor} field, the last one is not printed. + \item Add two options to make \bibfield{bookineditor} or \bibfield{ineditor} to be inherited from \bibfield{editor} field. +\end{release} + +\begin{release}{1.1.1}{2016-09-07} + \item Don't define again \verb+bybookineditor+ macro if already defined by \emph{biblatex-bookinother}. +\end{release} + + +\begin{release}{1.1.0}{2016-06-07} + \item Add error message to know more quickly break compatibility with new releases of biblatex. +\end{release} + +\begin{release}{1.0.0}{2016-04-06} +\item First public release. +\end{release} +\end{changelog} +\end{document} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.bib b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.bib new file mode 100644 index 0000000000..89481731a9 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.bib @@ -0,0 +1,25 @@ +@bookinbook{BHG226a, + Author = {{Alexandre de Chypre}}, + Crossref = {CCSG26a}, + Bookineditor = {Van Deun, Peter}, + Pages = {83-122}, + Title = {Laudatio Barnabae} +} +@book{CCSG26a, + Editor = {Peter Van Deun and Jacques Noret}, + Number = {26}, + Series = {Corpus Christianorum Series Graeca}, + Title = {Hagiographica Cypria}} + +@bookinbook{BHG225a, + Crossref = {AAA2.2a}, + Pages = {292-302}, + Title = {Acta Barnabae} +} +@book{AAA2.2a, + Editor = {Maximilien Bonnet}, + Date = {1903}, + Location = {Leipzig}, + Publisher = {Hermann Mendelssohn}, + Title = {Acta Apostolorum Apocrypha}, + Volume = {2.2}} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.dot b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.dot new file mode 100644 index 0000000000..951ed7eb9e --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.dot @@ -0,0 +1,86 @@ +digraph Biberdata { + compound = true; + edge [ arrowhead=open ]; + graph [ style=filled, rankdir=LR ]; + node [ + fontsize=10, + fillcolor=white, + style=filled, + shape=box ]; + + subgraph "cluster_section0/AAA2.2a" { + fontsize="10"; + label="AAA2.2a (BOOK)"; + tooltip="AAA2.2a (BOOK)"; + fillcolor="#a0d0ff"; + + "section0/AAA2.2a/editor" [ label="EDITOR" ] + "section0/AAA2.2a/location" [ label="LOCATION" ] + "section0/AAA2.2a/publisher" [ label="PUBLISHER" ] + "section0/AAA2.2a/title" [ label="TITLE" ] + "section0/AAA2.2a/volume" [ label="VOLUME" ] + "section0/AAA2.2a/year" [ label="YEAR" ] + } + + subgraph "cluster_section0/BHG225a" { + fontsize="10"; + label="BHG225a (BOOKINBOOK)"; + tooltip="BHG225a (BOOKINBOOK)"; + fillcolor="#a0d0ff"; + + "section0/BHG225a/bookineditor" [ label="BOOKINEDITOR" ] + "section0/BHG225a/booktitle" [ label="BOOKTITLE" ] + "section0/BHG225a/crossref" [ label="CROSSREF" ] + "section0/BHG225a/editor" [ label="EDITOR" ] + "section0/BHG225a/location" [ label="LOCATION" ] + "section0/BHG225a/pages" [ label="PAGES" ] + "section0/BHG225a/publisher" [ label="PUBLISHER" ] + "section0/BHG225a/title" [ label="TITLE" ] + "section0/BHG225a/volume" [ label="VOLUME" ] + "section0/BHG225a/year" [ label="YEAR" ] + } + + subgraph "cluster_section0/BHG226a" { + fontsize="10"; + label="BHG226a (BOOKINBOOK)"; + tooltip="BHG226a (BOOKINBOOK)"; + fillcolor="#a0d0ff"; + + "section0/BHG226a/author" [ label="AUTHOR" ] + "section0/BHG226a/bookineditor" [ label="BOOKINEDITOR" ] + "section0/BHG226a/booktitle" [ label="BOOKTITLE" ] + "section0/BHG226a/crossref" [ label="CROSSREF" ] + "section0/BHG226a/editor" [ label="EDITOR" ] + "section0/BHG226a/number" [ label="NUMBER" ] + "section0/BHG226a/pages" [ label="PAGES" ] + "section0/BHG226a/series" [ label="SERIES" ] + "section0/BHG226a/title" [ label="TITLE" ] + } + + subgraph "cluster_section0/CCSG26a" { + fontsize="10"; + label="CCSG26a (BOOK)"; + tooltip="CCSG26a (BOOK)"; + fillcolor="#a0d0ff"; + + "section0/CCSG26a/editor" [ label="EDITOR" ] + "section0/CCSG26a/number" [ label="NUMBER" ] + "section0/CCSG26a/series" [ label="SERIES" ] + "section0/CCSG26a/title" [ label="TITLE" ] + } + + + + "section0/AAA2.2a/editor" -> "section0/BHG225a/bookineditor" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/BOOKINEDITOR inherited via CROSSREF from AAA2.2a/EDITOR" ] + "section0/AAA2.2a/editor" -> "section0/BHG225a/editor" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/EDITOR inherited via CROSSREF from AAA2.2a/EDITOR" ] + "section0/AAA2.2a/location" -> "section0/BHG225a/location" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/LOCATION inherited via CROSSREF from AAA2.2a/LOCATION" ] + "section0/AAA2.2a/publisher" -> "section0/BHG225a/publisher" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/PUBLISHER inherited via CROSSREF from AAA2.2a/PUBLISHER" ] + "section0/AAA2.2a/title" -> "section0/BHG225a/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/BOOKTITLE inherited via CROSSREF from AAA2.2a/TITLE" ] + "section0/AAA2.2a/volume" -> "section0/BHG225a/volume" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/VOLUME inherited via CROSSREF from AAA2.2a/VOLUME" ] + "section0/AAA2.2a/year" -> "section0/BHG225a/year" [ penwidth="2.0", color="#7d7879", tooltip="BHG225a/YEAR inherited via CROSSREF from AAA2.2a/YEAR" ] + "section0/CCSG26a/editor" -> "section0/BHG226a/editor" [ penwidth="2.0", color="#7d7879", tooltip="BHG226a/EDITOR inherited via CROSSREF from CCSG26a/EDITOR" ] + "section0/CCSG26a/number" -> "section0/BHG226a/number" [ penwidth="2.0", color="#7d7879", tooltip="BHG226a/NUMBER inherited via CROSSREF from CCSG26a/NUMBER" ] + "section0/CCSG26a/series" -> "section0/BHG226a/series" [ penwidth="2.0", color="#7d7879", tooltip="BHG226a/SERIES inherited via CROSSREF from CCSG26a/SERIES" ] + "section0/CCSG26a/title" -> "section0/BHG226a/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="BHG226a/BOOKTITLE inherited via CROSSREF from CCSG26a/TITLE" ] + +} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.pdf Binary files differnew file mode 100644 index 0000000000..6f57c8ddbf --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor-BookineditorFromEditor.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.bib b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.bib new file mode 100644 index 0000000000..55d8e92ada --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.bib @@ -0,0 +1,26 @@ +@bookinbook{BHG226, + Author = {{Alexandre de Chypre}}, + Crossref = {CCSG26}, + Bookineditor = {Van Deun, Peter}, + Pages = {83-122}, + Title = {Laudatio Barnabae} +} +@book{CCSG26, + Editor = {Peter Van Deun and Jacques Noret}, + Number = {26}, + Series = {Corpus Christianorum Series Graeca}, + Title = {Hagiographica Cypria}} + +@bookinbook{BHG225, + Bookineditor = {Maximilien Bonnet}, + Crossref = {AAA2.2}, + Pages = {292-302}, + Title = {Acta Barnabae} +} +@book{AAA2.2, + Editor = {Maximilien Bonnet}, + Date = {1903}, + Location = {Leipzig}, + Publisher = {Hermann Mendelssohn}, + Title = {Acta Apostolorum Apocrypha}, + Volume = {2.2}} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.dot b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.dot new file mode 100644 index 0000000000..08c9966e93 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.dot @@ -0,0 +1,85 @@ +digraph Biberdata { + compound = true; + edge [ arrowhead=open ]; + graph [ style=filled, rankdir=LR ]; + node [ + fontsize=10, + fillcolor=white, + style=filled, + shape=box ]; + + subgraph "cluster_section0/AAA2.2" { + fontsize="10"; + label="AAA2.2 (BOOK)"; + tooltip="AAA2.2 (BOOK)"; + fillcolor="#a0d0ff"; + + "section0/AAA2.2/editor" [ label="EDITOR" ] + "section0/AAA2.2/location" [ label="LOCATION" ] + "section0/AAA2.2/publisher" [ label="PUBLISHER" ] + "section0/AAA2.2/title" [ label="TITLE" ] + "section0/AAA2.2/volume" [ label="VOLUME" ] + "section0/AAA2.2/year" [ label="YEAR" ] + } + + subgraph "cluster_section0/BHG225" { + fontsize="10"; + label="BHG225 (BOOKINBOOK)"; + tooltip="BHG225 (BOOKINBOOK)"; + fillcolor="#a0d0ff"; + + "section0/BHG225/bookineditor" [ label="BOOKINEDITOR" ] + "section0/BHG225/booktitle" [ label="BOOKTITLE" ] + "section0/BHG225/crossref" [ label="CROSSREF" ] + "section0/BHG225/editor" [ label="EDITOR" ] + "section0/BHG225/location" [ label="LOCATION" ] + "section0/BHG225/pages" [ label="PAGES" ] + "section0/BHG225/publisher" [ label="PUBLISHER" ] + "section0/BHG225/title" [ label="TITLE" ] + "section0/BHG225/volume" [ label="VOLUME" ] + "section0/BHG225/year" [ label="YEAR" ] + } + + subgraph "cluster_section0/BHG226" { + fontsize="10"; + label="BHG226 (BOOKINBOOK)"; + tooltip="BHG226 (BOOKINBOOK)"; + fillcolor="#a0d0ff"; + + "section0/BHG226/author" [ label="AUTHOR" ] + "section0/BHG226/bookineditor" [ label="BOOKINEDITOR" ] + "section0/BHG226/booktitle" [ label="BOOKTITLE" ] + "section0/BHG226/crossref" [ label="CROSSREF" ] + "section0/BHG226/editor" [ label="EDITOR" ] + "section0/BHG226/number" [ label="NUMBER" ] + "section0/BHG226/pages" [ label="PAGES" ] + "section0/BHG226/series" [ label="SERIES" ] + "section0/BHG226/title" [ label="TITLE" ] + } + + subgraph "cluster_section0/CCSG26" { + fontsize="10"; + label="CCSG26 (BOOK)"; + tooltip="CCSG26 (BOOK)"; + fillcolor="#a0d0ff"; + + "section0/CCSG26/editor" [ label="EDITOR" ] + "section0/CCSG26/number" [ label="NUMBER" ] + "section0/CCSG26/series" [ label="SERIES" ] + "section0/CCSG26/title" [ label="TITLE" ] + } + + + + "section0/AAA2.2/editor" -> "section0/BHG225/editor" [ penwidth="2.0", color="#7d7879", tooltip="BHG225/EDITOR inherited via CROSSREF from AAA2.2/EDITOR" ] + "section0/AAA2.2/location" -> "section0/BHG225/location" [ penwidth="2.0", color="#7d7879", tooltip="BHG225/LOCATION inherited via CROSSREF from AAA2.2/LOCATION" ] + "section0/AAA2.2/publisher" -> "section0/BHG225/publisher" [ penwidth="2.0", color="#7d7879", tooltip="BHG225/PUBLISHER inherited via CROSSREF from AAA2.2/PUBLISHER" ] + "section0/AAA2.2/title" -> "section0/BHG225/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="BHG225/BOOKTITLE inherited via CROSSREF from AAA2.2/TITLE" ] + "section0/AAA2.2/volume" -> "section0/BHG225/volume" [ penwidth="2.0", color="#7d7879", tooltip="BHG225/VOLUME inherited via CROSSREF from AAA2.2/VOLUME" ] + "section0/AAA2.2/year" -> "section0/BHG225/year" [ penwidth="2.0", color="#7d7879", tooltip="BHG225/YEAR inherited via CROSSREF from AAA2.2/YEAR" ] + "section0/CCSG26/editor" -> "section0/BHG226/editor" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/EDITOR inherited via CROSSREF from CCSG26/EDITOR" ] + "section0/CCSG26/number" -> "section0/BHG226/number" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/NUMBER inherited via CROSSREF from CCSG26/NUMBER" ] + "section0/CCSG26/series" -> "section0/BHG226/series" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/SERIES inherited via CROSSREF from CCSG26/SERIES" ] + "section0/CCSG26/title" -> "section0/BHG226/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/BOOKTITLE inherited via CROSSREF from CCSG26/TITLE" ] + +} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.pdf Binary files differnew file mode 100644 index 0000000000..3dad83103a --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-bookineditor.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.bib b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.bib new file mode 100644 index 0000000000..3b8333b092 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.bib @@ -0,0 +1,23 @@ +@mvcollection{HistoireduChristianisme, + Address = {Paris}, + Date = {1992/2001}, + Editor = {Pietri, Charles and Pietri, Luce and Vauchez, André and Venard, Marc and Mayeur Jean-Marie}, + Publisher = {Desclée}, + Subtitle = {des origines à nos jours}, + Title = {Histoire du christianisme}, + Volumes = {20}} + +@collection{Pietri1998, + Crossref = {HistoireduChristianisme}, + Date = {1998}, + Date-Added = {2014-11-05 12:44:24 +0000}, + Date-Modified = {2014-11-13 20:10:06 +0000}, + Editor = {Luce Pietri}, + Title = {Les Églises d'Orient et d'Occident}, + Volume = {3}} + +@incollection{Maraval1998, + Author = {Pierre Maraval}, + Crossref = {Pietri1998}, + Pages = {107-145}, + Title = {La réception de Chalcédoine dans l'empire d'Orient}} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.dot b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.dot new file mode 100644 index 0000000000..2f276e2018 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.dot @@ -0,0 +1,87 @@ +digraph Biberdata { + compound = true; + edge [ arrowhead=open ]; + graph [ style=filled, rankdir=LR ]; + node [ + fontsize=10, + fillcolor=white, + style=filled, + shape=box ]; + + subgraph "cluster_section0/HistoireduChristianisme" { + fontsize="10"; + label="HistoireduChristianisme (MVCOLLECTION)"; + tooltip="HistoireduChristianisme (MVCOLLECTION)"; + fillcolor="#a0d0ff"; + + "section0/HistoireduChristianisme/editor" [ label="EDITOR" ] + "section0/HistoireduChristianisme/endyear" [ label="ENDYEAR" ] + "section0/HistoireduChristianisme/location" [ label="LOCATION" ] + "section0/HistoireduChristianisme/publisher" [ label="PUBLISHER" ] + "section0/HistoireduChristianisme/subtitle" [ label="SUBTITLE" ] + "section0/HistoireduChristianisme/title" [ label="TITLE" ] + "section0/HistoireduChristianisme/volumes" [ label="VOLUMES" ] + "section0/HistoireduChristianisme/year" [ label="YEAR" ] + } + + subgraph "cluster_section0/Maraval1998" { + fontsize="10"; + label="Maraval1998 (INCOLLECTION)"; + tooltip="Maraval1998 (INCOLLECTION)"; + fillcolor="#a0d0ff"; + + "section0/Maraval1998/author" [ label="AUTHOR" ] + "section0/Maraval1998/booktitle" [ label="BOOKTITLE" ] + "section0/Maraval1998/crossref" [ label="CROSSREF" ] + "section0/Maraval1998/editor" [ label="EDITOR" ] + "section0/Maraval1998/location" [ label="LOCATION" ] + "section0/Maraval1998/maineditor" [ label="MAINEDITOR" ] + "section0/Maraval1998/mainsubtitle" [ label="MAINSUBTITLE" ] + "section0/Maraval1998/maintitle" [ label="MAINTITLE" ] + "section0/Maraval1998/pages" [ label="PAGES" ] + "section0/Maraval1998/publisher" [ label="PUBLISHER" ] + "section0/Maraval1998/title" [ label="TITLE" ] + "section0/Maraval1998/volume" [ label="VOLUME" ] + "section0/Maraval1998/volumes" [ label="VOLUMES" ] + "section0/Maraval1998/year" [ label="YEAR" ] + } + + subgraph "cluster_section0/Pietri1998" { + fontsize="10"; + label="Pietri1998 (COLLECTION)"; + tooltip="Pietri1998 (COLLECTION)"; + fillcolor="#a0d0ff"; + + "section0/Pietri1998/crossref" [ label="CROSSREF" ] + "section0/Pietri1998/editor" [ label="EDITOR" ] + "section0/Pietri1998/location" [ label="LOCATION" ] + "section0/Pietri1998/maineditor" [ label="MAINEDITOR" ] + "section0/Pietri1998/mainsubtitle" [ label="MAINSUBTITLE" ] + "section0/Pietri1998/maintitle" [ label="MAINTITLE" ] + "section0/Pietri1998/publisher" [ label="PUBLISHER" ] + "section0/Pietri1998/title" [ label="TITLE" ] + "section0/Pietri1998/volume" [ label="VOLUME" ] + "section0/Pietri1998/volumes" [ label="VOLUMES" ] + "section0/Pietri1998/year" [ label="YEAR" ] + } + + + + "section0/HistoireduChristianisme/editor" -> "section0/Pietri1998/maineditor" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/MAINEDITOR inherited via CROSSREF from HistoireduChristianisme/EDITOR" ] + "section0/HistoireduChristianisme/location" -> "section0/Pietri1998/location" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/LOCATION inherited via CROSSREF from HistoireduChristianisme/LOCATION" ] + "section0/HistoireduChristianisme/publisher" -> "section0/Pietri1998/publisher" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/PUBLISHER inherited via CROSSREF from HistoireduChristianisme/PUBLISHER" ] + "section0/HistoireduChristianisme/subtitle" -> "section0/Pietri1998/mainsubtitle" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/MAINSUBTITLE inherited via CROSSREF from HistoireduChristianisme/SUBTITLE" ] + "section0/HistoireduChristianisme/title" -> "section0/Pietri1998/maintitle" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/MAINTITLE inherited via CROSSREF from HistoireduChristianisme/TITLE" ] + "section0/HistoireduChristianisme/volumes" -> "section0/Pietri1998/volumes" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/VOLUMES inherited via CROSSREF from HistoireduChristianisme/VOLUMES" ] + "section0/Pietri1998/editor" -> "section0/Maraval1998/editor" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/EDITOR inherited via CROSSREF from Pietri1998/EDITOR" ] + "section0/Pietri1998/location" -> "section0/Maraval1998/location" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/LOCATION inherited via CROSSREF from Pietri1998/LOCATION" ] + "section0/Pietri1998/maineditor" -> "section0/Maraval1998/maineditor" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/MAINEDITOR inherited via CROSSREF from Pietri1998/MAINEDITOR" ] + "section0/Pietri1998/mainsubtitle" -> "section0/Maraval1998/mainsubtitle" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/MAINSUBTITLE inherited via CROSSREF from Pietri1998/MAINSUBTITLE" ] + "section0/Pietri1998/maintitle" -> "section0/Maraval1998/maintitle" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/MAINTITLE inherited via CROSSREF from Pietri1998/MAINTITLE" ] + "section0/Pietri1998/publisher" -> "section0/Maraval1998/publisher" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/PUBLISHER inherited via CROSSREF from Pietri1998/PUBLISHER" ] + "section0/Pietri1998/title" -> "section0/Maraval1998/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/BOOKTITLE inherited via CROSSREF from Pietri1998/TITLE" ] + "section0/Pietri1998/volume" -> "section0/Maraval1998/volume" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/VOLUME inherited via CROSSREF from Pietri1998/VOLUME" ] + "section0/Pietri1998/volumes" -> "section0/Maraval1998/volumes" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/VOLUMES inherited via CROSSREF from Pietri1998/VOLUMES" ] + "section0/Pietri1998/year" -> "section0/Maraval1998/year" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/YEAR inherited via CROSSREF from Pietri1998/YEAR" ] + +} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.pdf Binary files differnew file mode 100644 index 0000000000..fcca0d8c80 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/example-maineditor.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/generate-crossref-graphs.py b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/generate-crossref-graphs.py new file mode 100644 index 0000000000..9cf8bd8731 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/generate-crossref-graphs.py @@ -0,0 +1,51 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# This file generate the inheritance graphs (.dot and .pdf file) from the .bib file examples. +# To do it, its create temporary .tex file, calling a specific .bib file (as https://github.com/plk/biber/issues/110 was rejected). +# It is licensed on GPL 3 licenses. +# https://www.gnu.org/licenses/gpl-3.0.fr.html +# Copyright : Maïeul Rouquette 2016-… + +import os + + +# specific preamble for some file +specific_preamble = { + "example-bookineditor-BookineditorFromEditor":"\\toggletrue{BookineditorFromEditor}\n" +} + +#List all the files on the current directory +directory_files = os.listdir(".") + + +#Loop on them, and for the .bib file, generate the .tex, .dot and .pdf file +for file_name in directory_files: + basename, ext = os.path.splitext(file_name) + + if ext != '.bib':#only the .bib file + continue + + # write the .tex file content + tex_file_name = basename + ".tex" + tex_file_content = "\documentclass{article}\n\ + \\usepackage[bibstyle=morenames]{biblatex}\n" + + if basename in specific_preamble: + tex_file_content = tex_file_content + specific_preamble[basename] + + tex_file_content = tex_file_content + "\\bibliography{" + file_name + "}\n\ + \\begin{document}\n\ + \\nocite{*}\n\ + \end{document}" + tex_file_file = open(tex_file_name, "w") + tex_file_file.write(tex_file_content) + tex_file_file.close() + + # generate the .bcf, .dot and .pdf file + os.system("pdflatex " + basename) + os.system("biber -output-format=dot --dot-include=crossref,field " + basename) + os.system("dot -Tpdf " + basename + ".dot " + "-o " + basename + ".pdf") + + # delete the temporary files, to avoid distributing it and to have cleaner folder + for ext in ["aux","bcf","blg","log","run.xml","tex"]: + os.remove(basename+"."+ext) diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/latexmkrc b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/latexmkrc new file mode 100644 index 0000000000..3f98c810e6 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/latexmkrc @@ -0,0 +1,2 @@ +$xelatex = "xelatex --shell-escape --no-pdf %S"; +$pdf_mode = 5; diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/makefile b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/makefile new file mode 100644 index 0000000000..5581408464 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/documentation/makefile @@ -0,0 +1,7 @@ +all: *tex *bib + python3 generate-crossref-graphs.py + latexmk biblatex-morenames.tex + +clean: + $(MAKE) -C documentation clean + @$(RM) *.pdf *.toc *.aux *.out *.fdb_latexmk *.log *.bbl *.bcf *.blg *run.xml *.synctex.gz* diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/makefile b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/makefile new file mode 100644 index 0000000000..13285d8852 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/makefile @@ -0,0 +1,16 @@ +dist: all + rm -rf biblatex-morenames + mkdir biblatex-morenames + ln README *bbx *dbx *makefile biblatex-morenames + mkdir biblatex-morenames/documentation + ln documentation/*tex documentation/*bib documentation/*dot documentation/*pdf documentation/makefile documentation/latexmkrc documentation/*py biblatex-morenames/documentation + $(RM) ../biblatex-morenames.zip + zip -r ../biblatex-morenames.zip biblatex-morenames + + +clean: + $(MAKE) -C documentation clean + @$(RM) *.pdf *.toc *.aux *.out *.fdb_latexmk *.log *.bbl *.bcf *.blg *run.xml *.synctex.gz* + +all: documentation/biblatex-morenames.tex + $(MAKE) -C documentation all diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/morenames.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/morenames.bbx new file mode 100644 index 0000000000..8ecb31a8b2 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/morenames.bbx @@ -0,0 +1,224 @@ +%% Copyright 2016-… Maïeul Rouquette +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Maïeul Rouquette +% This work consists of the files realauthor.dbx, realauthor.bbx +\ProvidesFile{morenames.bbx} +[2017/01/25 v1.3.1 biblatex bibliography style to have more name fields (MR)] + + +%0. Preamble +\ifdef{\biblatexmultipledm@bibstyle} + {\RequireBibliographyStyle{\biblatexmultipledm@bibstyle}} + {\RequireBibliographyStyle{verbose}} + +\RequirePackage{xpatch} +\RequireBiber +%1. Datainheritance +\DeclareDataInheritance{mvcollection,mvreference,mvproceedings}{collection,reference,proceedings}{ + \inherit{editor}{maineditor} +} + +%1.two optionnal data inheritances +\providetoggle{IneditorFromEditor}% +\providetoggle{BookineditorFromEditor}% +\AtEndPreamble{% + \iftoggle{IneditorFromEditor}{% + \DeclareDataInheritance{book,mvbook}{inbook}{% + \inherit{editor}{ineditor}% + \inherit{editor}{editor}% + }% + \ifdefined\DeclareDatafieldSet + \DeclareDatafieldSet{ineditor}{ + \member[field=ineditor] + } + \fi + }% + {} + \iftoggle{BookineditorFromEditor}{% + \DeclareDataInheritance{book,mvbook}{bookinbook}{% + \inherit{editor}{bookineditor}% + \inherit{editor}{editor}% + }% + \ifdefined\DeclareDatafieldSet + \DeclareDatafieldSet{bookineditor}{ + \member[field=bookineditor] + } + \fi + }% + {}% +} + +%2. New label names + +\DeclareLabelname[collection,proceedings,reference]{% + \field{shortauthor} + \field{author} + \field{maineditor} + \field{shorteditor} + \field{editor} + \field{translator} +} + +\DeclareLabelname[inbook,bookinbook]{% + \field{shortauthor} + \field{author} + \field{ineditor} + \field{bookineditor} + \field{shorteditor} + \field{editor} + \field{translator} +} + + +%3. New bibmacro or bibmacro patching + +%3.1 Patching editor+others, in order to add the maineditor in @collection (original was defined in authortitle.bbx or authoryear.bbx) + +\xpatchbibmacro{editor+others}% + {\usebibmacro{bbx:editor}{editor+othersstrg}}% Original content + {%New content + \ifboolexpr{% + test \ifusemaineditor + and + not test {\ifnameundef{maineditor}}% + }{% + \usebibmacro{bbx:dashcheck}% + {\bibnamedash}% + {\printnames{maineditor}% + \setunit{\addcomma\space}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{maineditor+othersstrg}% + \clearname{maineditor}% + }% + {\usebibmacro{bbx:editor}{editor+othersstrg}}% + } + +% Inspired from editor+othersstrg macro + +\newbibmacro*{maineditor+othersstrg}{% + \iffieldundef{editortype} + {\ifboolexpr{ + test {\ifnumgreater{\value{maineditor}}{1}} + or + test {\ifandothers{maineditor}} + } + {\def\abx@tempa{editors}} + {\def\abx@tempa{editor}}} + {\ifboolexpr{ + test {\ifnumgreater{\value{maineditor}}{1}} + or + test {\ifandothers{maineditor}} + } + {\edef\abx@tempa{\thefield{editortype}s}}% + {\edef\abx@tempa{\thefield{editortype}}}}% + \let\abx@tempb=\empty + \ifnamesequal{maineditor}{translator} + {\appto\abx@tempa{tr}% + \appto\abx@tempb{\clearname{translator}}} + {}% + \ifnamesequal{maineditor}{commentator} + {\appto\abx@tempa{co}% + \appto\abx@tempb{\clearname{commentator}}} + {\ifnamesequal{maineditor}{annotator} + {\appto\abx@tempa{an}% + \appto\abx@tempb{\clearname{annotator}}} + {}}% + \ifnamesequal{maineditor}{introduction} + {\appto\abx@tempa{in}% + \appto\abx@tempb{\clearname{introduction}}} + {\ifnamesequal{maineditor}{foreword} + {\appto\abx@tempa{fo}% + \appto\abx@tempb{\clearname{foreword}}} + {\ifnamesequal{maineditor}{afterword} + {\appto\abx@tempa{af}% + \appto\abx@tempb{\clearname{afterword}}} + {}}}% + \ifbibxstring{\abx@tempa} + {\printtext[editortype]{\bibstring{\abx@tempa}}\abx@tempb} + {\usebibmacro{editorstrg}}} + +% 3.2 Patching maintitle+title in order to add the maineditor in @incollection (original was defined in standard.bbx) +% + +\newcommand{\morenames@failpatch@macro}[1]{% + \PackageError{biblatex-morenames}{Fail to patch `#1` macro}{}% +} + +\newbibmacro*{bymaineditor+others}{% + \ifnameundef{maineditor} + {} + {\usebibmacro{byeditor+othersstrg}% + \setunit{\addspace}% + \printnames[byeditor]{maineditor}% + \clearname{maineditor}% + \newunit} +} + +\xpatchbibmacro{maintitle+booktitle} + {\usebibmacro{maintitle}}% Original + {\usebibmacro{maintitle}% + \newunit% + \usebibmacro{bymaineditor+others}% + } + {} + {\morenames@failpatch@macro{maintitle+booktitle}} + +% 3.3 Patching @inbook and @article drivers in order to add the ineditor + +\newcommand{\morenames@failpatch@driver}[1]{% + \PackageError{biblatex-morenames}{Fail to patch `#1` driver}{}% +} + +\xpatchbibdriver{inbook}% + {\usebibmacro{byauthor}} + {\usebibmacro{byauthor}\newunit\usebibmacro{byineditor}} + {} + {\morenames@failpatch@driver{inbook}} + +\xpatchbibdriver{article}% + {\usebibmacro{byauthor}} + {\usebibmacro{byauthor}\newunit\usebibmacro{byineditor}} + {} + {\morenames@failpatch@driver{article}} + +\DeclareNameAlias{bookineditor}[byeditor]{ineditor} + +\newbibmacro*{byineditor}{% + \ifnameundef{ineditor} + {\usebibmacro{bybookineditor}} + {\usebibmacro{bytypestrg}{ineditor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{ineditor}% + \newunit% + \ifnamesequal{ineditor}{editor}% + {\clearname{editor}}% + {}% + }% + } +\ifdefined\abx@macro@bybookineditor\else% + \newbibmacro*{bybookineditor}{% + \ifnameundef{bookineditor} + {}% + {\usebibmacro{bytypestrg}{bookineditor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{bookineditor}% + \newunit% + \ifnamesequal{bookineditor}{editor}% + {\clearname{editor}}% + {}% + }% + }% +\fi% + + +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-morenames/morenames.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/morenames.dbx new file mode 100644 index 0000000000..1f4d1b0f07 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-morenames/morenames.dbx @@ -0,0 +1,38 @@ +%% Copyright 2016-… Maïeul Rouquette +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Maïeul Rouquette +% This work consists of the files realauthor.dbx, realauthor.bbx +\ProvidesFile{morenames.dbx} +[2017/01/25 v1.3.1 biblatex bibliography style to have more name fields (MR)] + +%1. New fields +\DeclareDatamodelFields[type=list,datatype=name]{ + maineditor, + ineditor, + bookineditor, +} + +%2. For existing entry type +\DeclareDatamodelEntryfields[collection,incollection,proceedings,inproceedings,reference,inreference]{ + maineditor +} +\DeclareDatamodelEntryfields[inbook,article]{ + ineditor +} +\DeclareDatamodelEntryfields[bookinbook]{ + bookineditor +} + + + +\endinput
\ No newline at end of file |