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-anonymous |
Initial commit
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-anonymous')
6 files changed, 314 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/README b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/README new file mode 100644 index 0000000000..9b603fd8b5 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/README @@ -0,0 +1,4 @@ +biblatex-anonymous +================== + +Manage anonymous works with biblatex diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.pdf Binary files differnew file mode 100644 index 0000000000..9e0b3e9bf8 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.sty b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.sty new file mode 100644 index 0000000000..a703ba40c5 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.sty @@ -0,0 +1,131 @@ +%% Copyright 2014-… 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 +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{biblatex-anonymous}[2018/09/02 v2.6.2 Manage anonymous works with biblatex] + +%1. Just execute bibliographic option for some entries type +\ExecuteBibliographyOptions[% + book,% + bookinbook,% + bookinarticle,% + bookincollection,% + bookinincollection,% + mvbook,% + inbook,% + bookininbook,% + bookininarticle,% + inreference,% + bookinreference,% + bookininreference% + ]{useeditor=false,usetranslator=false} +\ifdefined\etb@tgl@blx@userealeditor + \ExecuteBibliographyOptions[% + book,% + bookinbook,% + bookinarticle,% + bookincollection,% + bookinincollection,% + mvbook,% + inbook,% + bookininbook,% + bookininarticle,% + inreference,% + bookinreference,% + bookininreference% + ]{userealeditor=false} +\fi +\ifdefined\etb@tgl@blx@usebookineditor + \ExecuteBibliographyOptions[% + book,% + bookinbook,% + bookinarticle,% + bookincollection,% + bookinincollection,% + mvbook,% + inbook,% + bookininbook,% + bookininarticle,% + inreference,% + bookinreference,% + bookininreference% + ]{usebookineditor=false,useineditor=false,usemaineditor=false} +\fi +% 2. Sorting +\ifdef{\DeclareSortingTemplate}% + {}% + {\let\DeclareSortingTemplate\DeclareSortingScheme}% + +\def\bbx@anonymous@sorting{ + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \literal{0000} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume} + \literal{0000} + } +} +\DeclareSortingTemplate{anonymous}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \bbx@anonymous@sorting +} + +\ifundef{\bbx@manuscripts@sorting}{}% + { + \DeclareSortingTemplate{anonymous+manuscripts}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \bbx@anonymous@sorting + \bbx@manuscripts@sorting + } + } + +%%3.1 And so, prevent the spurious space in case of \cites command +%%% Hack suggested on https://github.com/plk/biblatex/issues/285#issuecomment-226918950 +\AtEveryCitekey{\iffieldundef{prenote}{\blx@initunit}{}} + +%4. Tools to prevent inhering author field (require biblatex > 3.4) +\ifdefined\DeclareDatafieldSet + + \DeclareDatafieldSet{author}{ + \member[field=author] + } + +\fi +%5. Language specific setting +\DefineBibliographyStrings{french}{% + byeditor = % + {\ifuseeditor{dir\adddotspace}{\'ed\adddot}}, +} +\endinput diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.tex b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.tex new file mode 100644 index 0000000000..8da9ce65d2 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/biblatex-anonymous.tex @@ -0,0 +1,165 @@ +\documentclass{ltxdockit}[2011/03/25] +\usepackage{btxdockit} +\usepackage{fontspec} +\usepackage[mono=false]{libertine} +\usepackage{microtype} +\usepackage[main=english,french,latin]{babel} +\usepackage[strict]{csquotes} +\setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono} +\usepackage{shortvrb} +\usepackage{pifont} +\usepackage{minted} +% Usefull commands +\newcommand{\biblatex}{biblatex\xspace} +\pretocmd{\bibfield}{\sloppy}{}{} +\pretocmd{\bibtype}{\sloppy}{}{} +\newcommand{\namebibstyle}[1]{\texttt{#1}} +% Meta-datas +\titlepage{% + title={Managing anonymous works with biblatex}, + subtitle={}, + email={maieul <at> maieul <dot> net}, + author={Maïeul Rouquette}, + revision={2.6.2}, + date={02/09/2018}, + url={https://github.com/maieul/biblatex-anonymous}} + +\begin{document} + + +\printtitlepage +\tableofcontents + +\section{Introduction} + +In some scholar fields, like history or philology, we have to work with anonymous works. + +This package provides facility to manage them with \biblatex, with citation and bibliography style of the \namebibstyle{verbose} family. +It is compatible with the biblatex-morenames and biblatex-realeditor package. + +\section{What does the package do?} + +This package does those things for \bibtype{book}, \bibtype{bookinbook}, \bibtype{bookinarticle}, \bibtype{bookinincollection}, \bibtype{mvbook}, \bibtype{inbook}: +\begin{enumerate} + + + \item Changing label name to author only, never editor. + \item Providing a sorting scheme to put all anonymous works at the beginning of a bibliography. This sorting scheme is derivated from \verb+nyt+ scheme. + \item For French, changing \enquote{\selectlanguage{french}dir.} by \enquote{\selectlanguage{french}éd.}. + \item Printing only the author name before the title, and never the editor, even if the book is anonymous. + \item Fixing \biblatex\ bug with \expandafter\cs\expandafter{\prm{xx}cites} command when using anonymous works.\footnote{\url{https://github.com/plk/biblatex/issues/285}.} + +\end{enumerate} + +\section{Using the package} + +\subsection{Loading} +You must load the package after \biblatex package: +\begin{minted}{latex} +\usepackage[…]{biblatex} +\usepackage{biblatex-anonymous} +\end{minted} + +\subsection{Sorting with anonymous scheme} + +If you want your bibliographies to have all anonymous works at the begining, you can pass option \verb+sorting=anonymous+: + +\begin{itemize} + \item To \biblatex package, to apply it to all bibliographies. + \item To an optional argument of a \cs{refcontext} environment, to apply it to a single bibliography. +\end{itemize} + +The package also provides a \verb-anonymous+manuscripts- sorting scheme to use in combination with the \emph{biblatex-manuscripts-philology} package (please read handbook of this package for more details about it). +\subsection{Making exceptions} + +If you want to use the \bibfield{editor} or \bibfield{translator} for a entry concerned by this package (e.g. \bibtype{book}, \bibtype{bookinbook} etc.), you can use the \verb+useeditor=true+ or \verb+usetranslator=true+ +option in the \bibfield{options} field. However, in many case, such entry should be a \bibtype{proceedings} or \bibtype{collection}. + +\subsection{Anonymous works edited on not anonymous books}\label{noinherit} + +Sometime, an anonymous \bibtype{bookinbook} is printed in a NOT anonymous book. +If you use cross-referencing system, you would like to NOT inherit the \bibfield{name} from the main entry in the subentry. + +\textbf{From \biblatex~3.4.0}, you can use entry option \opt{noinherit=author} as in the following example: + +\begin{minted}{latex} +@book{mainentry, + Author = {Name}, + … +} +@book{subentry, + Crossref = {mainentry}, + Options = {noinherit=author}, + … +} +\end{minted} +\section{Credits} + +This package was created for Maïeul Rouquette's phd dissertation\footnote{\url{http://apocryphes.hypothese.org}.} in 2014. It is licensed on the \emph{\LaTeX\ Project Public License}\footnote{\url{http://latex-project.org/lppl/lppl-1-3c.html}.}. + +Its code was explained before (in French) on Maïeul Rouquette website\footnote{\url{http://geekographie.maieul.net/Gestions-des-oeuvres-anonymes}.}. + +All issues can be submitted, in French or English, in the GitHub issues page\footnote{\url{https://github.com/maieul/biblatex-multiple-anonymous/issues}.}. + +\section{Change history} + +\begin{changelog} + +\begin{release}{2.6.2}{2018-09-02} + \item Fix \verb+anonymous+manuscripts+ sorting scheme. +\end{release} +\begin{release}{2.6.1}{2017-11-19} + \item Improve compatibility with biblatex 3.8. +\end{release} + +\begin{release}{2.6.0}{2017-01-24} + \item Add compatibility with the biblatex-morenames package. +\end{release} + +\begin{release}{2.5.0}{2016-10-23} + \item Add \verb+anonymous+manuscripts+ sorting scheme. +\end{release} + +\begin{release}{2.4.0}{2016-09-25} + \item Also works for anonymous \bibtype{inreference}, \bibtype{bookinreference} and \bibtype{bookininreference}. + \item Fix bug added by version 2.2.2 when using the \emph{biblatex-realauthor} package. +\end{release} + +\begin{release}{2.3.0}{2016-09-08} + \item Add compatibility with \bibtype{bookininbook} and \bibtype{bookininarticle} of \emph{biblatex-bookinbook} package. +\end{release} + +\begin{release}{2.2.3}{2016-06-27} + \item Fix bug added on v.~2.2.2 when using prenote argument. + \end{release} + +\begin{release}{2.2.2a}{2016-06-21} + \item Fix typo in handbook. + \end{release} + +\begin{release}{2.2.2}{2016-06-18} + \item Fix \biblatex\ bug with \expandafter\cs\expandafter{\prm{xx}cites} command when using anonymous works. + \item Fix bug added by version 2.0.0 when not using the \emph{biblatex-realauthor} package. + \end{release} +\begin{release}{2.2.1}{2016-06-06} + \item Fix compatibility with biblatex < 3.4, broken by v. 2.2.0 +\end{release} +\begin{release}{2.2.0}{2016-06-05} + \item Takes account of the \bibfield{realeditor} field of the \emph{biblatex-realauthor} package~2.4.0 and later. + \item Adds tools to prevent inherinting name from main entry \see{noinherit}. +\end{release} + +\begin{release}{2.1.0}{2014-10-30} +\item Coming back, and improve, the \verb+anonymous+ sorting scheme. +\end{release} + +\begin{release}{2.0.0}{2014-10-27} +\item Use less complex code, and more \enquote{biblatex friendly} code to suppress editor and translator. +\item Compatibility with \bibtype{bookinincollection} type. +\end{release} + +\begin{release}{1.0.0}{2014-07-23} +\item First public release. +\end{release} +\end{changelog} +\end{document} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/latexmkrc b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/latexmkrc new file mode 100644 index 0000000000..d6cfc714fa --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/latexmkrc @@ -0,0 +1,2 @@ +$pdflatex = "xelatex --shell-escape %S"; +$pdf_mode = "1"; diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/makefile b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/makefile new file mode 100644 index 0000000000..1f945315a7 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-anonymous/makefile @@ -0,0 +1,12 @@ +FILES = *sty *tex *pdf README makefile latexmkrc +%.pdf: %.tex latexmkrc + latexmk *tex +dist: biblatex-anonymous.pdf + @$(RM) ../biblatex-anonymous.zip + rm -rf biblatex-anonymous + mkdir biblatex-anonymous + ln $(FILES) biblatex-anonymous + zip -r ../biblatex-anonymous.zip biblatex-anonymous + +clean: + @$(RM) *.pdf *.toc *.aux *.out *.fdb_latexmk *.log *.bbl *.bcf *.blg *run.xml *.synctex.gz* |