diff options
author | Karl Berry <karl@freefriends.org> | 2016-04-07 20:52:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-04-07 20:52:10 +0000 |
commit | 0db58e0ada1f7e2ca133f9ead01b3c9d64056175 (patch) | |
tree | 078b6d87be67bbdac1b073af79adf2e6b5bcd6e5 /Master/texmf-dist | |
parent | 8c1fff3e03414232f2e8045614360b485b8f2dd4 (diff) |
biblatex-morenames (7apr16)
git-svn-id: svn://tug.org/texlive/trunk@40325 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
15 files changed, 659 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/README b/Master/texmf-dist/doc/latex/biblatex-morenames/README new file mode 100644 index 00000000000..0e26f52af29 --- /dev/null +++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/biblatex-morenames.pdf b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/biblatex-morenames.pdf Binary files differnew file mode 100644 index 00000000000..9f642a4cd21 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/biblatex-morenames.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/biblatex-morenames.tex b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/biblatex-morenames.tex new file mode 100644 index 00000000000..debc1a40ff1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/biblatex-morenames.tex @@ -0,0 +1,202 @@ +\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} +% 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.0.0}, + date={06/04/2016}, + 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}, 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. + + +\subsubsection{.bib example} + +\inputminted[breaklines]{latex}{example-bookineditor.bib} + +\subsubsection{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} +\end{figure} +\subsubsection{Output example} + +\begin{quotation} + \cite{BHG226} +\end{quotation} +\section{Change history} +\begin{changelog} + +\begin{release}{1.0.0}{2016-04-06} +\item First public release. +\end{release} +\end{changelog} +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.bib b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.bib new file mode 100644 index 00000000000..d32c46c0f0b --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.bib @@ -0,0 +1,12 @@ +@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}} diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.dot b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.dot new file mode 100644 index 00000000000..c2fc1a9b370 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.dot @@ -0,0 +1,47 @@ +digraph Biberdata { + compound = true; + edge [ arrowhead=open ]; + graph [ style=filled, rankdir=LR ]; + node [ + fontsize=10, + fillcolor=white, + style=filled, + shape=box ]; + + 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/CCSG26/title" -> "section0/BHG226/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/BOOKTITLE inherited via CROSSREF from CCSG26/TITLE" ] + "section0/CCSG26/series" -> "section0/BHG226/series" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/SERIES inherited via CROSSREF from CCSG26/SERIES" ] + "section0/CCSG26/number" -> "section0/BHG226/number" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/NUMBER inherited via CROSSREF from CCSG26/NUMBER" ] + "section0/CCSG26/editor" -> "section0/BHG226/editor" [ penwidth="2.0", color="#7d7879", tooltip="BHG226/EDITOR inherited via CROSSREF from CCSG26/EDITOR" ] + +} diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.pdf b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.pdf Binary files differnew file mode 100644 index 00000000000..22a13c0783c --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-bookineditor.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.bib b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.bib new file mode 100644 index 00000000000..f16263a5db3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.bib @@ -0,0 +1,23 @@ +@mvcollection{HistoireduChristianisme, + Address = {Paris}, + 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}, + Year = {1992/2001}, + Volumes = {20}} + +@collection{Pietri1998, + Crossref = {HistoireduChristianisme}, + 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}, + Year = {1998}} + +@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/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.dot b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.dot new file mode 100644 index 00000000000..5400e42dbb2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.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/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" ] + } + + subgraph "cluster_section0/HistoireduChristianisme" { + fontsize="10"; + label="HistoireduChristianisme (MVCOLLECTION)"; + tooltip="HistoireduChristianisme (MVCOLLECTION)"; + fillcolor="#a0d0ff"; + + "section0/HistoireduChristianisme/editor" [ label="EDITOR" ] + "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" ] + } + + + + "section0/Pietri1998/location" -> "section0/Maraval1998/location" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/LOCATION inherited via CROSSREF from Pietri1998/LOCATION" ] + "section0/Pietri1998/year" -> "section0/Maraval1998/year" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/YEAR inherited via CROSSREF from Pietri1998/YEAR" ] + "section0/Pietri1998/mainsubtitle" -> "section0/Maraval1998/mainsubtitle" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/MAINSUBTITLE inherited via CROSSREF from Pietri1998/MAINSUBTITLE" ] + "section0/Pietri1998/volume" -> "section0/Maraval1998/volume" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/VOLUME inherited via CROSSREF from Pietri1998/VOLUME" ] + "section0/Pietri1998/maineditor" -> "section0/Maraval1998/maineditor" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/MAINEDITOR inherited via CROSSREF from Pietri1998/MAINEDITOR" ] + "section0/Pietri1998/title" -> "section0/Maraval1998/booktitle" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/BOOKTITLE inherited via CROSSREF from Pietri1998/TITLE" ] + "section0/Pietri1998/publisher" -> "section0/Maraval1998/publisher" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/PUBLISHER inherited via CROSSREF from Pietri1998/PUBLISHER" ] + "section0/Pietri1998/maintitle" -> "section0/Maraval1998/maintitle" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/MAINTITLE inherited via CROSSREF from Pietri1998/MAINTITLE" ] + "section0/Pietri1998/editor" -> "section0/Maraval1998/editor" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/EDITOR inherited via CROSSREF from Pietri1998/EDITOR" ] + "section0/Pietri1998/volumes" -> "section0/Maraval1998/volumes" [ penwidth="2.0", color="#7d7879", tooltip="Maraval1998/VOLUMES inherited via CROSSREF from Pietri1998/VOLUMES" ] + "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/editor" -> "section0/Pietri1998/maineditor" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/MAINEDITOR inherited via CROSSREF from HistoireduChristianisme/EDITOR" ] + "section0/HistoireduChristianisme/publisher" -> "section0/Pietri1998/publisher" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/PUBLISHER inherited via CROSSREF from HistoireduChristianisme/PUBLISHER" ] + "section0/HistoireduChristianisme/volumes" -> "section0/Pietri1998/volumes" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/VOLUMES inherited via CROSSREF from HistoireduChristianisme/VOLUMES" ] + "section0/HistoireduChristianisme/location" -> "section0/Pietri1998/location" [ penwidth="2.0", color="#7d7879", tooltip="Pietri1998/LOCATION inherited via CROSSREF from HistoireduChristianisme/LOCATION" ] + +} diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.pdf b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.pdf Binary files differnew file mode 100644 index 00000000000..9056c4626c9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/example-maineditor.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/generate-crossref-graphs.py b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/generate-crossref-graphs.py new file mode 100644 index 00000000000..a6e2d8c0808 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/generate-crossref-graphs.py @@ -0,0 +1,41 @@ +#!/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 + + +#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\ + \\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/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/latexmkrc b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/latexmkrc new file mode 100644 index 00000000000..d6cfc714fa5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/latexmkrc @@ -0,0 +1,2 @@ +$pdflatex = "xelatex --shell-escape %S"; +$pdf_mode = "1"; diff --git a/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/makefile b/Master/texmf-dist/doc/latex/biblatex-morenames/documentation/makefile new file mode 100644 index 00000000000..55814084643 --- /dev/null +++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/doc/latex/biblatex-morenames/makefile b/Master/texmf-dist/doc/latex/biblatex-morenames/makefile new file mode 100644 index 00000000000..13285d8852a --- /dev/null +++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/tex/latex/biblatex-morenames/morenames.bbx b/Master/texmf-dist/tex/latex/biblatex-morenames/morenames.bbx new file mode 100644 index 00000000000..d9964672402 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-morenames/morenames.bbx @@ -0,0 +1,176 @@ +%% 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} +[2016/04/06 v1.0.0 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} +} + +%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) +% +\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}% + } + {} + {} + +% 3.3 Patching @inbook and @article drivers in order to add the ineditor + +\xpatchbibdriver{inbook}% + {\usebibmacro{byauthor}} + {\usebibmacro{byauthor}\newunit\usebibmacro{byineditor}} + {} + {} + +\xpatchbibdriver{article}% + {\usebibmacro{byauthor}} + {\usebibmacro{byauthor}\newunit\usebibmacro{byineditor}} + {} + {} + +\DeclareNameAlias{bookineditor}[byeditor]{ineditor} + +\newbibmacro*{byineditor}{% + \ifnameundef{ineditor} + {\usebibmacro{bybookineditor}} + {\usebibmacro{bytypestrg}{ineditor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{ineditor}% + \newunit}% + } +\newbibmacro*{bybookineditor}{% + \ifnameundef{bookineditor} + {} + {\usebibmacro{bytypestrg}{bookineditor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{bookineditor}% + \newunit}% + } + + + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-morenames/morenames.dbx b/Master/texmf-dist/tex/latex/biblatex-morenames/morenames.dbx new file mode 100644 index 00000000000..970680af3b7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/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} +[2016/04/06 v1.0.0 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 |