From 0346b3f79c4d93c82f729fc781ba3ad202974738 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 8 Feb 2016 22:38:26 +0000 Subject: droit-fr (8feb16) git-svn-id: svn://tug.org/texlive/trunk@39626 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/droit-fr/droit-fr.bbx | 177 +++++++++++++++++----- Master/texmf-dist/tex/latex/droit-fr/droit-fr.cbx | 26 +++- Master/texmf-dist/tex/latex/droit-fr/droit-fr.cls | 70 +++++---- 3 files changed, 193 insertions(+), 80 deletions(-) (limited to 'Master/texmf-dist/tex/latex/droit-fr') diff --git a/Master/texmf-dist/tex/latex/droit-fr/droit-fr.bbx b/Master/texmf-dist/tex/latex/droit-fr/droit-fr.bbx index 254c7ce8fb6..9541860ecd3 100644 --- a/Master/texmf-dist/tex/latex/droit-fr/droit-fr.bbx +++ b/Master/texmf-dist/tex/latex/droit-fr/droit-fr.bbx @@ -1,14 +1,97 @@ -\ProvidesFile{droit-fr.bbx}[2014/01/30 v0.4 style droit francais] +%% Copyright 2010-2015 Yves de Saint-Pern +% +% 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 Yves de Saint-Pern. + +\ProvidesFile{droit-fr.bbx}[2015/10/02 v1.1 style droit francais] \RequireBibliographyStyle{verbose-ibid} \RequireBiber[3] +%%%%%%%%%%%%%%%%%%%%%% +% OPTIONS DE PACKAGE % +%%%%%%%%%%%%%%%%%%%%%% + +% style du champ auteur: auteurs secondaires inversés ou non ? +\DeclareBibliographyOption{revertauthors}[false]{% + \ifstrequal{#1}{true} + {\DeclareNameAlias{sortname}{last-first}} + {\DeclareNameAlias{sortname}{last-first/first-last}}} + +% style de chaque nom d'une entrée de la bibliographie +\DeclareBibliographyOption{namestyle}[parens]{% + \ifcsdef{bbx@opt@namestyle@#1} + {\csuse{bbx@opt@namestyle@#1}} + {\PackageError{biblatex} + {Invalid option 'namestyle=#1'} + {Valid values are 'parens', 'parensprefix', 'plain'}}} + +\def\bbx@opt@namestyle@parens{% + \renewbibmacro*{name:last-first}{\usebibmacro*{name:last-first:parens}}} + +\def\bbx@opt@namestyle@parensprefix{% + \renewbibmacro*{name:last-first}{\usebibmacro*{name:last-first:parensprefix}}} + +\def\bbx@opt@namestyle@plain{% + \renewbibmacro*{name:last-first}{\usebibmacro*{name:last-first:plain}}} + +% formatage des noms de famille indexés ? +\newcommand{\mkbibindexnamelast}{} +\DeclareBibliographyOption{indexnameformat}[true]{% + \ifstrequal{#1}{true}% + {\renewcommand{\mkbibindexnamelast}{\mkbibnamelast}}% + {\renewcommand{\mkbibindexnamelast}{}}} + +% gestion des prénoms dont l'abréviation doit être formée de 2 ou 3 lettres et non d'une seule: +% - ceux commençant par un digramme (2 consonnes formant un son): Ch, Th, Ph +% - ceux commençant par une consonne ou un digramme, puis l ou r: Cl, Chr, Fr, etc. +% le code ci-dessous s'applique aux prénoms des champs author et editor. +% il protège chacune de ces abréviations par la substitution suivante effectuée a la volée: +% "Malaurie, Philippe" => "Malaurie, {\relax{}Ph}ilippe" +\DeclareBibliographyOption{smartinitials}[true]{% + \ifstrequal{#1}{true}% +{\DeclareStyleSourcemap{% + \maps[datatype=bibtex]{% + \map{% + % champ author + \step[fieldsource=author,% + match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))(\S*,)}},% + replace={\regexp{\{$1\}$3}}]% protection noms de famille si format "prénom nom" + \step[fieldsource=author,% + match={\regexp{([^,]\s)\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))}},% + replace={\regexp{$1\{$2\}}}]% protection noms de famille si format "nom, prénom" + \step[fieldsource=author,% + match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))([^\}])}},% + replace={\regexp{\{\\relax\{\}$1\}$3}}]% insertion \relax dans les prénoms trouvés + % champ editor + \step[fieldsource=editor,% + match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))(\S*,)}},% + replace={\regexp{\{$1\}$3}}]% protection noms de famille si format "prénom nom" + \step[fieldsource=editor,% + match={\regexp{([^,]\s)\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))}},% + replace={\regexp{$1\{$2\}}}]% protection noms de famille si format "nom, prénom" + \step[fieldsource=editor,% + match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))([^\}])}},% + replace={\regexp{\{\\relax\{\}$1\}$3}}]% insertion \relax dans les prénoms trouvés +}}}% +} +{}} + % l'editor ne remplace pas un champ author laissé vide. % il reste imprimé à sa place (généralement après le title). -\ExecuteBibliographyOptions{useeditor=false} +\ExecuteBibliographyOptions{useeditor=false,sorting=nyt} -% classement par nom, année titre (voir plus bas pour customisation du tri nytx) -\ExecuteBibliographyOptions{sorting=nyt} +% options locales par défaut +\ExecuteBibliographyOptions{revertauthors=false,namestyle=parens,indexnameformat=true,smartinitials=true} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % REDEFINITIONS/AJOUT DE MOTS-CLES % @@ -113,67 +196,88 @@ {\usebibmacro{name:first-last}{#1}{#4}{#6}{#8}}% \usebibmacro{name:andothers}} -% modification pour obtenir "NOM, (Prénom particule)" pour les auteurs dans la bibliographie. -\renewbibmacro*{name:last-first}[4]{% - \ifuseprefix - {\usebibmacro{name:delim}{#3#1}% - \ifblank{#3}{}{% - \mkbibnameprefix{\MakeCapital{#3}\isdot}% - \ifpunctmark{'}{}{\addhighpenspace}}% - \mkbibnamelast{#1\isdot}% - \ifblank{#4}{}{\addlowpenspace\mkbibnameaffix{#4}\isdot}% - \ifblank{#2}{}{\addlowpenspace\mkbibparens{\mkbibnamefirst{#2}\isdot}}} - {\usebibmacro{name:delim}{#1}% - \mkbibnamelast{#1}\isdot - \ifblank{#4}{}{\addlowpenspace\mkbibnameaffix{#4}\isdot}% - \ifblank{#2#3}{}{}% - \ifblank{#2}{}{% - \ifblank{#3} - {\addlowpenspace\mkbibparens{\mkbibnamefirst{#2}\isdot}}% - {\addlowpenspace\mkbibparens{\mkbibnamefirst{#2}\addlowpenspace\mkbibnameprefix{#3}\isdot}}}}} +% correspond à la macro "name:last-first" de biblatex.def +% NOM, Prénom particule +\newbibmacro*{name:last-first:plain}[4]{% + \usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#2#3}{}{\revsdnamepunct}% + \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}% + \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}} + +% NOM (Prénom particule) +\newbibmacro*{name:last-first:parens}[4]{% + \usebibmacro{name:delim}{#1}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#2#3}{}{\bibnamedelimd\mkbibparens{% + \ifblank{#2}{}{\mkbibnamefirst{#2}\isdot}% + \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}} + } +} + +% NOM (particule), Prénom +\newbibmacro*{name:last-first:parensprefix}[4]{% + \usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \mkbibnamelast{#1}\isdot + \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#3}{}{\bibnamedelimd\mkbibparens{\mkbibnameprefix{#3}\isdot}} + \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{#2}\isdot}} % affichage du prénom en initiales, suivi du nom pour les autres champs (editor, translator, etc). \DeclareNameFormat{first-last}{% \usebibmacro{name:first-last}{#1}{#4}{#5}{#7} \usebibmacro{name:andothers}} - % caractère de séparation entre plusieurs entrées référencées dans "related" \renewcommand*{\relateddelim}{\addsemicolon\addspace} % modification du champ "related" pour les commentaires d'arrêt -\newbibmacro*{related:default}[1]{% +\renewbibmacro*{related:default}[1]{% \entrydata{#1}{\usedriver{}{commentary}}} +%%%%%%%%% +% INDEX % +%%%%%%%%% + % indexation des auteurs seulement \renewbibmacro*{bibindex}{% \ifbibindex {\indexnames{labelname}} {}} +% indexation des auteurs seulement +\renewbibmacro*{citeindex}{% + \ifciteindex + {\indexnames{labelname}} + {}} + +% formatage des noms indexés \renewcommand*{\mkbibindexname}[4]{% \ifuseprefix {\ifblank{#3}{}{#3 }% \@firstofone #1% remove spurious braces - \ifblank{#4}{}{ #4}% - \ifblank{#2}{}{, #2}% \actualoperator \ifblank{#3}{}{\MakeCapital{#3} }% #1% \ifblank{#4}{}{ #4}% \ifblank{#2}{}{, #2}} {\@firstofone #1% remove spurious braces - \ifblank{#4}{}{ #4}% ajouté - \ifblank{#2#3}{}{,}% ajouté - \ifblank{#2}{}{ #2}% ajouté - \ifblank{#3}{}{ #3} % ajouté - \actualoperator % ajouté - \textsc{#1}% + \actualoperator % ajouté + \mkbibindexnamelast{#1}% \ifblank{#4}{}{ #4}% \ifblank{#2#3}{}{,}% \ifblank{#2}{}{ #2}% \ifblank{#3}{}{ #3}}} + +%%%%%%%%%%%%%%%%%% +% SCHEMAS DE TRI % +%%%%%%%%%%%%%%%%%% + % schéma de tri destiné à la jurisprudence: institution, date de décision \DeclareSortingScheme{iymd}{ \sort{ @@ -227,10 +331,6 @@ } } -%TODO: abrévations de prénoms -% digrammes (deux consonnes pour un seul son): Ch, Gh, Ph, Th -% consonne ou digramme suivi de L ou R: - %%%%%%%%%%% % DRIVERS % @@ -349,7 +449,10 @@ \newunit\newblock \usebibmacro{pageref}% \setunit{\addsemicolon\addspace}\newblock - \usebibmacro{related}% + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% \usebibmacro{finentry}} % cas de jurisprudence anglaise diff --git a/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cbx b/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cbx index 897d145a381..bfea69f914f 100644 --- a/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cbx +++ b/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cbx @@ -1,15 +1,23 @@ -\ProvidesFile{droit-fr.cbx}[2014/01/30 v0.4 style droit francais] +%% Copyright 2010-2015 Yves de Saint-Pern +% +% 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 Yves de Saint-Pern. + +\ProvidesFile{droit-fr.cbx}[2015/10/02 v1.1 style droit francais] \RequireCitationStyle{verbose-ibid} \renewcommand*{\mkibid}{\emph} % mots latins en italique -% indexation des auteurs seulement -\renewbibmacro*{citeindex}{% - \ifciteindex - {\indexnames{labelname}} - {}} - % pas de version raccourcie des note de bas de page passée la 1ère référence. \renewbibmacro*{cite:short}{% \usebibmacro{cite:full:citepages}% @@ -27,4 +35,8 @@ {\multicitedelim} {\usebibmacro{cite:postnote}} +% commande de citation multiple, dérivée de \smartcites. +\DeclareMultiCiteCommand{\cites}[\iffootnote\bibfootnotewrapper\mkbibfootnote] + {\cite}{\multicitedelim} + \endinput diff --git a/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cls b/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cls index 15dd03051f2..1ed45717751 100644 --- a/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cls +++ b/Master/texmf-dist/tex/latex/droit-fr/droit-fr.cls @@ -1,5 +1,19 @@ +%% Copyright 2010-2015 Yves de Saint-Pern +% +% 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 Yves de Saint-Pern. + \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{droit-fr}[2014/01/30 v0.4 classe pour droit francais] +\ProvidesClass{droit-fr}[2015/10/02 v1.1 classe pour droit francais] \LoadClassWithOptions{memoir} % classe de référence: memoir %%% OPTIONS %%% @@ -27,8 +41,8 @@ \RequirePackage{footmisc} % gestion des notes de bas de page \RequirePackage{engrec} % compteur à symbole grecs \RequirePackage{filecontents} % génération des fichers de style makeindex -\usepackage{babel} % support des langues -\usepackage[babel]{csquotes} % support des guillemets babel +\RequirePackage{babel} % support des langues +\RequirePackage[babel]{csquotes} % support des guillemets babel %%% PAGE DE TITRE %%% @@ -81,14 +95,15 @@ \thispagestyle{empty} \begin{center} -{\LARGE Universit\'e \theuniversity \\[1\onelineskip]} -{\large \'Ecole doctorale de \theschool \\[2\onelineskip]} +%\includegraphics[height=3cm]{logo} \\[1\onelineskip] +{\Large Université \theuniversity \\[1\onelineskip]} +{École doctorale de \theschool \\[3\onelineskip]} -{Th\`ese de doctorat en \thespeciality \\ -soutenue le \theapprovaldate \\[2\onelineskip]} +{\LARGE\bfseries\scshape \thetitle\\[3\onelineskip]} -{\LARGE\bfseries \thetitle \\[2\onelineskip]} -{\Large \theauthor \\[2\onelineskip]} +{Thèse pour le Doctorat en \thespeciality\ (Arrêté du 7 août 2006)\\ +présentée et soutenue publiquement le \theapprovaldate\ par\\} +{\theauthor \\[2\onelineskip]} \vfill @@ -153,9 +168,6 @@ Membres du jury: & \themembera \\ \fi #1}} -\pagestyle{corpus} - - %%% SECTIONS %%% % [-2] parties ("Première partie") @@ -304,7 +316,7 @@ Membres du jury: & \themembera \\ \else% \versetcontent{{\versetsepstyle\versetsepifempty}}% \fi% - \addtocounter{indexv}{1}% + \refstepcounter{indexv}% } % numérotation visible @@ -325,12 +337,6 @@ Membres du jury: & \themembera \\ } -%%% GLOSSAIRE - -\renewcommand{\memgloterm}[1]{\textbf{#1}} -\renewcommand{\memglodesc}[1]{\hspace{1ex}#1} -\renewcommand{\memglonum}[1]{} - %%% INDEX %%% \renewcommand*{\seename}{\textit{voir}} @@ -339,7 +345,7 @@ Membres du jury: & \themembera \\ \ifdraft{\showindexmarks}{} % index de base par versets -\newcommand{\indexvfilename}{\jobname} +\newcommand{\indexvfilename}{index} \newcommand{\makeindexv}{\makeindex[\indexvfilename]} \newcommand{\indexv}[1]{\specialindex{\indexvfilename}{indexv}{#1}} \newcommand{\printindexv}{\printindex[\indexvfilename]} @@ -353,11 +359,6 @@ Membres du jury: & \themembera \\ % entête de l'index \newcommand{\idxmark}[1]{#1\markboth{#1}{#1}} -% raccourcis de style pour entrées indexées -\newcommand{\hyperbf}[1]{\textbf{\hyperpage{#1}}} -\newcommand{\hyperit}[1]{\textit{\hyperpage{#1}}} - - %%% SOMMAIRE & TABLE DES MATIERES %%% % paramètres communs @@ -493,7 +494,7 @@ Membres du jury: & \themembera \\ }% % génération du fichier de style .ist -\begin{filecontents}{\jobname.ist} +\begin{filecontents}{\indexvfilename.ist} % output main entry as: \item \idxmark{}, item_0 "\n\\item \\idxmark{" delim_0 "}, " @@ -505,19 +506,16 @@ heading_suffix "\\hfil}\\nopagebreak\n" headings_flag 1 \end{filecontents} -% génération du fichier de style .gst -\begin{filecontents}{\jobname.gst} -% Output style parameters -preamble "\\begin{theglossary}" -postamble "\n\\end{theglossary}\n" -item_0 "\n\\glossitem" -delim_0 "{\\memglonum{" -encap_suffix "}}}" +\begin{filecontents}{\indexafilename.ist} +% output main entry as: \item \idxmark{}, +item_0 "\n\\item \\idxmark{" +delim_0 "}, " +% not forgetting the subitem case% added 2008 +item_x1 "} \n \\subitem " +% Wrap and uppercase head letters heading_prefix "{\\bfseries\\hfil " heading_suffix "\\hfil}\\nopagebreak\n" headings_flag 1 -% Input style parameters -keyword "\\glossaryentry" \end{filecontents} \endinput -- cgit v1.2.3