From f5ec258f88df2f3950b5d8dd03303420a6e947c9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 9 Oct 2014 21:35:50 +0000 Subject: biblatex-bookinarticle (9oct14) git-svn-id: svn://tug.org/texlive/trunk@35340 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/biblatex-bookinarticle/README | 2 +- .../documentation/biblatex-bookinarticle.pdf | Bin 59464 -> 66509 bytes .../documentation/biblatex-bookinarticle.tex | 72 +++++++++++++++++-- .../documentation/example-bookinincollection.bib | 19 ++++++ .../documentation/example.pdf | Bin 6160 -> 0 bytes .../biblatex-bookinarticle/documentation/makefile | 4 +- .../doc/latex/biblatex-bookinarticle/makefile | 6 +- .../biblatex-bookinarticle.sty | 76 +++++++++++++++++++-- 8 files changed, 159 insertions(+), 20 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example-bookinincollection.bib delete mode 100644 Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/README b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/README index 6931cd05697..c6b90f5799b 100644 --- a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/README +++ b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/README @@ -1,4 +1,4 @@ biblatex-bookinarticle ====================== -Nouveau type biblatex: bookinarticle (et inarticle) +New biblatex type for old book edited in article : @bookinarticle and @bookinincollection. diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.pdf b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.pdf index fa5a2580d0a..edb44ca9b2a 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.pdf and b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.tex b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.tex index 02eda54f455..44a746ca1e1 100644 --- a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.tex +++ b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/biblatex-bookinarticle.tex @@ -16,18 +16,19 @@ \newcommand{\namebibstyle}[1]{\texttt{#1}} % Meta-datas \titlepage{% - title={Book in article with biblatex}, + title={Book in @article and book in @inbook with biblatex}, subtitle={New data type}, email={maieul maieul net}, author={Maïeul Rouquette}, - revision={1.0.0}, - date={02/07/2014}, + revision={1.1.0}, + date={09/10/2014}, url={https://github.com/maieul/biblatex-bookinarticle}} % biblatex \usepackage[citestyle=verbose]{biblatex} \usepackage{biblatex-bookinarticle} \addbibresource{example.bib} +\addbibresource{example-bookinincollection.bib} \begin{document} @@ -38,18 +39,23 @@ In classical philology, it happens that ancient books are edited by modern scholar. So, when we refer to them, we have to not refer to the article, but, indeed, to the \emph{book which is in the article}. -This package allows to create entry which's type is `bookinarticle`, and which are printed like this: +This package allows to create entry which's type is \bibtype{bookinarticle}, and which are printed like this: \begin{quotation} \cite{BHG226e} \end{quotation} +It also allows to create entry which's type is {bookinincollection}, for book edited in a article of a collection. + +\begin{quotation} + \cite{AcTiteLatin} +\end{quotation} \section{Use} \subsection{\bibtype{bookinarticle} Entry Type} -A new entrytype is define: \bibtype{bookinarticle}. It use the standard fields of a \bibfield{article}, with those changes: +A new entrytype is defined: \bibtype{bookinarticle}. It use the standard fields of a \bibfield{article}, with those changes: \begin{itemize} \item \bibfield{author} means the author of the ancient book. @@ -64,9 +70,31 @@ A new entrytype is define: \bibtype{bookinarticle}. It use the standard fields o \end{itemize} +\subsection{\bibtype{bookinincollection} Entry Type} + +A new entrytype is defined: \bibtype{bookinincollection}. It use the standard fields of a \bibfield{inincollection}, with those changes: + +\begin{itemize} + \item \bibfield{author} means the author of the ancient book. + \item \textbf{\bibfield{bookauthor} means the author of the article where the book is edited, e.g. the modern editor of the book}. + \item \bibfield{booksubtitle} means the subtitle of the article where the book is edited. + \item \bibfield{booktitle} means the title of the article where the book is edited. + \item \bibfield{maintitle} means the title of the collection were the article is published. + \item \bibfield{mainsubtitle} means the subtitle of the collection were the article is published. + \item \bibfield{pages} means the pages where the book is edited. + \item \bibfield{substitle} means the subtitle of the edited book. + \item \bibfield{title} means the title of the edited book. In our example \enquote{Mémoire sur le saint apôtre Barnabé}. + + +\end{itemize} + + \subsection{Crossref's use} -You can also use the Biber's crossref's facilities. The \bibfield{crossfield} of a \bibtype{bookinarticle} entry refering to a \bibtype{article} entry. The fields are inherited from \bibtype{article} following these rule: +You can also use the Biber's crossref's facilities. + +\subsubsection{For \bibtype{bookinarticle}} +The \bibfield{crossfield} of a \bibtype{bookinarticle} entry refering to a \bibtype{article} entry. The fields are inherited from \bibtype{article} following these rule: \begin{itemize} \item \bibfield{author} becomes \bibfield{bookauthor}. @@ -79,12 +107,39 @@ See the following example: \inputminted{latex}{example.bib} +\subsubsection{For \bibtype{bookinincollection}} + +The \bibfield{crossfield} of a \bibtype{bookinincollection} entry refering to a \bibtype{inincollection} entry. The fields are inherited from \bibtype{inincollection} following these rule: +\begin{itemize} + \item \bibfield{author} becomes \bibfield{bookauthor}. + \item \bibfield{booktitle} becomes \bibfield{maintitle}. + \item \bibfield{booksubtitle} becomes \bibfield{mainsubtitle}. + \item \bibfield{title} becomes \bibfield{booktitle}. + \item \bibfield{subtitle} becomes \bibfield{booksubtitle}. +\end{itemize} + +See the following example: + +\inputminted{latex}{example-bookinincollection.bib} \subsection{\bibtype{inarticle} Entry Type} The package also provides a \bibtype{inarticle} Entry Type, to show a section of an article with its own title. It's like \bibtype{bookinarticle}, but the \bibtype{title} field is printed with italic, and not with quotation marks. + +\subsection{\bibtype{inincollection} Entry Type} + +The package also provides a \bibtype{inincollection} Entry Type, to show a section of an article with its own title. It's like \bibtype{bookinincollection}, but the \bibtype{title} field is printed with italic, and not with quotation marks. + +\subsection{Loading package} + +The package must be loaded after the \biblatex package: +\begin{minted}{latex} +\usepackage[…]{biblatex} +\usepackage{biblatex-bookinarticle} +\end{minted} + \subsection{Loading package} The package must be loaded after the \biblatex package: @@ -95,7 +150,7 @@ The package must be loaded after the \biblatex package: \subsection{Customization} -The way where \bibtype{bookinarticle} are printed is derivated from the \emph{verbose} bibliographic style. You can customize it by overriding bibliographic macros or bibliographic driver. Look at the file \verb+biblatex-bookinarticle+. +The ways which \bibtype{bookinarticle} and \bibtype{bookinincollection} are printed are derivated from the \emph{verbose} bibliographic style. You can customize it by overriding bibliographic macros or bibliographic driver. Look at the file \verb+biblatex-bookinarticle+. \section{Credits} @@ -111,6 +166,9 @@ All issues can be submitted, in French or English, in the GitHub issues page\foo \begin{changelog} +\begin{release}{1.1.0}{2014-10-09} +\item Add \bibtype{bookinincollection} and \bibtype{inincollection}. +\end{release} \begin{release}{1.0.0}{2014-07-02} \item First public release. diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example-bookinincollection.bib b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example-bookinincollection.bib new file mode 100644 index 00000000000..5cb6efc2c5e --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example-bookinincollection.bib @@ -0,0 +1,19 @@ +@bookinincollection{AcTiteLatin, + Crossref = {Chiesa2008}, + Pages = {51-54}, + Title = {Passio Sancti Titi Apostoli, Mense Ianurii die Quarto}} + +@incollection{Chiesa2008, + Author = {Paolo Chiesa}, + Crossref = {Griggio2008}, + Library = {ENS Ulm, Sorbonne centrale}, + Pages = {41-54}, + Title = {\enquote{Non tibi proderit hec eruditio}. La versione latina degli \emph{Acta} greci del discepolo Tito}} + +@collection{Griggio2008, + Address = {Udine}, + Editor = {Claudio Griggio and Fabio Vendruscolo}, + Publisher = {Forum Edizione}, + Subtitle = {studi offerti dai colleghi udinesi a Ernesto Berti}, + Title = {Suave mari magno\ldots}, + Year = {2008}} diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example.pdf b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example.pdf deleted file mode 100644 index 0246d00877c..00000000000 Binary files a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/example.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/makefile b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/makefile index 85ef2cfc1ad..9f34e5f28c7 100644 --- a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/makefile +++ b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/documentation/makefile @@ -1,9 +1,7 @@ all: *tex *bib xelatex --shell-escape biblatex-bookinarticle.tex + biber biblatex-bookinarticle xelatex --shell-escape biblatex-bookinarticle.tex - xelatex --shell-escape example.tex - biber example - xelatex --shell-escape example.tex clean:bookinarticle $(MAKE) -C documentation clean diff --git a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/makefile b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/makefile index 6e51f82764d..d24dc7651f1 100644 --- a/Master/texmf-dist/doc/latex/biblatex-bookinarticle/makefile +++ b/Master/texmf-dist/doc/latex/biblatex-bookinarticle/makefile @@ -4,9 +4,9 @@ FILES = *.sty documentation makefile README dist: all rm -rf biblatex-bookinarticle mkdir biblatex-bookinarticle - cp README *sty *makefile biblatex-bookinarticle + ln README *sty *makefile biblatex-bookinarticle mkdir biblatex-bookinarticle/documentation - cp documentation/*tex documentation/*bib documentation/*pdf documentation/makefile biblatex-bookinarticle/documentation + ln documentation/*tex documentation/*bib documentation/*pdf documentation/makefile biblatex-bookinarticle/documentation $(RM) ../biblatex-bookinarticle.zip zip -r ../biblatex-bookinarticle.zip biblatex-bookinarticle @@ -16,4 +16,4 @@ clean: @$(RM) *.pdf *.toc *.aux *.out *.fdb_latexmk *.log *.bbl *.bcf *.blg *run.xml *.synctex.gz* all: documentation/biblatex-bookinarticle.tex documentation/example.bib - $(MAKE) -C documentation all \ No newline at end of file + $(MAKE) -C documentation all diff --git a/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty b/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty index de3dbe9471e..09a59620b4d 100644 --- a/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty +++ b/Master/texmf-dist/tex/latex/biblatex-bookinarticle/biblatex-bookinarticle.sty @@ -12,9 +12,9 @@ % % The Current Maintainer of this work is Maïeul Rouquette \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{biblatex-bookinarticle}[2014/06/17 v1.0.0 Book in article with biblatex] +\ProvidesPackage{biblatex-bookinarticle}[2014/10/09 v1.0.0 Book in article and book in incollection with biblatex] -% 1. The driver +% 1. The drivers \DeclareBibliographyDriver{inarticle}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -48,13 +48,69 @@ \setunit{\bibpagerefpunct}\newblock \usebibmacro{pageref}% \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inincollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \iffieldundef{author}{}{\setunit{\labelnamepunct}\newblock}% + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{booktitle}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock}%% + }% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} % 2. The alias \DeclareBibliographyAlias{bookinarticle}{inarticle} - +\DeclareBibliographyAlias{bookinincollection}{inincollection} % 3. The formats -\DeclareFieldFormat[inarticle]{title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[inarticle,inincollection]{title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat[inincollection,bookinincollection]{booktitle}{\mkbibquote{#1\isdot}} \DeclareFieldFormat[inarticle,bookinarticle]{maintitle}{\mkbibquote{#1\isdot}} @@ -66,7 +122,15 @@ \inherit{subtitle}{mainsubtitle}% } +\DeclareDataInheritance{incollection}{bookinincollection,inincollection}{ + \inherit{author}{bookauthor}% Il faudra modifier quand je saurais comment déclarer des nouveaux champs + \inherit{title}{booktitle}% + \inherit{subtitle}{booksubtitle}% + \inherit{booktitle}{maintitle}% + \inherit{booksubtitle}{mainsubtitle}% +} + %5. Label name -\DeclareLabelname[bookinarticle]{\field{author}} -\endinput \ No newline at end of file +\DeclareLabelname[bookinincollection,bookinarticle]{\field{author}} +\endinput -- cgit v1.2.3