%%%%%% BIBLATEX-SWISS-LEGAL-BASE : BIBLIOGRAPHY %%%%%%% % Copyright 2014 Adrien Vion % % 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 Adrien Vion. % Encoding of this file: UTF-8. Code is ASCII compatible. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProvidesFile{biblatex-swiss-legal-base.bbx}[2014/01/21 v1.1.2 alpha] \RequireBiber[2] % Ce paquet est con��u pour fonctionner avec biber. Il devrait pouvoir fonctionner avec bibtex, mais certaines de ses fonctionnalit��s ne fonctionneront pas (par exemple, le tri de la jurisprudence). \RequirePackage{xstring}% % Commande choisissant le fichier .lbx \DeclareLanguageMapping{french}{biblatex-swiss-legal-fr} \DeclareLanguageMapping{german}{biblatex-swiss-legal-de} \DeclareLanguageMapping{germanb}{biblatex-swiss-legal-de} \DeclareLanguageMapping{ngerman}{biblatex-swiss-legal-de} %%%%%%%%%%% NOUVELLES COMMANDES DE BIBLIOGRAPHIE %%%%%%%%%%%%%%%% \newcommand{\printpaperbibliography}{\printbibliography[nottype=online, title=Bibliographie]} \newcommand{\printonlinebibliography}{\printbibliography[type=online, title=Sources en ligne]} \newcommand{\printsepbibliography}{% \printbibheading \printbibliography[nottype=online, heading=subbibliography, title=Sources physiques] \printbibliography[type=online, heading=subbibliography, title=Sources en ligne] \bigskip } % Commandes pour la citation uniforme des num��ros \providecommand{\chaN}[2]{\S~#1 #2} \providecommand{\chaparN}[2]{\S~#1 \parN #2} \providecommand{\chaparNN}[2]{\S~#1 \parNN #2} %%%%%%%%%%% OPTIONS DE BIBLIOGRAPHIE ET DE CITATION %%%%%%%%%%%%%%%% % Cr��ation des variables \newtoggle{bbx:abrjournal} \newtoggle{bbx:abstracts} \newtoggle{bbx:adarticle} \newtoggle{bbx:bookspages} \newtoggle{bbx:editorssc} \newtoggle{bbx:firstnames} \newtoggle{bbx:jstitles} \newtoggle{bbx:jurisdictionindex} \newtoggle{bbx:library} \newtoggle{bbx:notes} \newtoggle{bbx:shortform} \newtoggle{bbx:titleit} \newtoggle{bbx:subtitles} \newcount\blx@punctsubtitle% Compteurs pour options �� choix multiples \newcount\blx@commentarystyle% % Cr��ation des options \DeclareBibliographyOption{abrjournal}[true]{% \settoggle{bbx:abrjournal}{#1}} \DeclareBibliographyOption{abstracts}[true]{% \settoggle{bbx:abstracts}{#1}} \DeclareBibliographyOption{adarticle}[true]{% \settoggle{bbx:adarticle}{#1}} \DeclareBibliographyOption{bookspages}[true]{% \settoggle{bbx:bookspages}{#1}} \DeclareBibliographyOption{editorssc}[true]{% \settoggle{bbx:editorssc}{#1}} \DeclareBibliographyOption{firstnames}[true]{% \settoggle{bbx:firstnames}{#1}} \DeclareBibliographyOption{jstitles}[true]{% \settoggle{bbx:jstitles}{#1}} \DeclareBibliographyOption{jurisdictionindex}[true]{% \settoggle{bbx:jurisdictionindex}{#1}} \DeclareBibliographyOption{library}[true]{% \settoggle{bbx:library}{#1}} \DeclareBibliographyOption{notes}[true]{% \settoggle{bbx:notes}{#1}} \DeclareBibliographyOption{shortform}[true]{% \settoggle{bbx:shortform}{#1}} \DeclareBibliographyOption{subtitles}[true]{% \settoggle{bbx:subtitles}{#1}} \DeclareBibliographyOption{titleit}[true]{% \settoggle{bbx:titleit}{#1}} \DeclareBibliographyOption{punctsubtitle}{% Option �� choix multiples pour la ponctuation titre - sous-titre \ifcsdef{blx@opt@punctsubtitle@#1} {\blx@punctsubtitle\csuse{blx@opt@punctsubtitle@#1}} {\blx@err@invopt{punctsubtitle=#1}{}}} \cslet{blx@opt@punctsubtitle@fulldash}\z@ \let\blx@opt@punctsubtitle@halfdash\@ne \let\blx@opt@punctsubtitle@comma\tw@ \DeclareBibliographyOption{commentarystyle}{% Option �� choix multiples pour le style de citation de commentaire \ifcsdef{blx@opt@commentarystyle@#1} {\blx@commentarystyle\csuse{blx@opt@commentarystyle@#1}} {\blx@err@invopt{commentarystyle=#1}{}}} \cslet{blx@opt@commentarystyle@styleA}\z@ \let\blx@opt@commentarystyle@styleB\@ne \let\blx@opt@commentarystyle@styleC\tw@ % S��lection d'options par d��faut \ExecuteBibliographyOptions{% abbreviate=true, date=long, dateabbrev=false, ibidtracker=context, maxbibnames=99, maxcitenames=4, mincrossrefs=1, singletitle=true, uniquename=full, uniquelist=true, urldate=long, abrjournal=true, abstracts=true, adarticle=false, bookspages=false, commentarystyle=styleA, editorssc=true, firstnames=true, jstitles=true, jurisdictionindex=false, library=true, notes=true, punctsubtitle=fulldash, shortform=true, subtitles=true, titleit=true } %%%%%%%%%%% FORMATAGE GENERAL DE LA BIBLIOGRAPHIE %%%%%%%%%%%%% \newcommand{\longbibtype}{% \defbibenvironment{bibliography} {\list{} {\setlength{\leftmargin}{\bibhang}% \setlength{\itemindent}{-\leftmargin}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}} {\endlist} {\item} \setlength{\bibitemsep}{10pt} } \usepackage{amssymb} \newcommand{\shortbibglyphformat}[1]{\raisebox{0.15ex}{#1}} \newcommand{\shortbibglyph}{\shortbibglyphformat{$\blacktriangleright$}} \newcommand{\shortbibtype}{% \defbibenvironment{bibliography}% {\footnotesize\noindent}{\adddot\textnormal}{\hspace{0.6em}\shortbibglyph\addnbspace}% \renewcommand{\finentrypunct}{}% } \newcommand{\nobibtype}{% \renewcommand{\printbibliography}{} } %%%%%%%%%%% COMMANDES DE TRI %%%%%%%%%%% \DeclareSortingScheme{ntyintro}{% Code en test non mentionn�� dans le manuel \sort{ \field{presort} } \sort[final]{ \field{sortkey} } \sort{ \name{sortname} \name{introduction} \name{author} \name{editor} \name{translator} \field{sorttitle} \field{title} } \sort{ \field{sorttitle} \field{title} } \sort{ \field{sortyear} \field{year} } } \DeclareSortingScheme{ntyjurisdiction}{% Code en test non mentionn�� dans le manuel \sort{ \field{presort} } \sort[final]{ \field{sortkey} } \sort{ \name{sortname} \name{introduction} \name{author} \name{editor} \name{translator} } \sort[direction=descending]{ \field{usera} } \sort{ \field[padside=left, padwidth=3, padchar=0]{userb} } \sort{ \field{userc} } \sort{ \field{userd} } \sort{ \field{sorttitle} \field{title} } \sort{ \field{sortyear} \field{year} } \sort{ \field[padside=left,padwidth=4,padchar=0]{volume} \literal{0000} } } \DeclareSortingScheme{chronological}{ \sort{ \field{presort} } \sort{ \name{sortname} \name{introduction} \name{author} \name{editor} \name{translator} } \sort[direction=ascending]{ \field{origyear} } \sort[direction=ascending]{ \field{origmonth} } \sort[direction=ascending]{ \field{origday} } } %%%%%%%%%%% FORMATAGE DES DONNEES %%%%%%%%%%%%% % Ponctuation \renewcommand{\newblockpunct}{\addcomma\addspace}% \renewcommand{\newunitpunct}{\addspace}% \renewcommand{\subtitlepunct}{% {\ifnum\blx@punctsubtitle=\z@% Si on a choisi l'option punctsubtitle=fulldash (activ��e par d��faut) \addnbspace\printtext{---}\addspace% Alors un tiret cadratin est imprim�� \else% Dans les autres cas \ifnum\blx@punctsubtitle=\@ne% Si on a choisi l'option halfdash \addnbspace\printtext{--}\addspace% Alors un tiret demi-cadratin est imprim�� \else% Dans les autres cas = on a choisi l'option comma \addcomma\addspace% une virgule et une espace sont imprim��es \fi% \fi}% } % Format des s��parateurs entre les noms: des slash \renewcommand*{\multinamedelim}{\ifcitation{\slash}{\addnbspace\slash\addspace}}% Dans les citations, pas d'espaces entre les slash (contrairement �� la bibliographie) \renewcommand*{\finalnamedelim}{\multinamedelim}% % Adaptation de la macro last-first \renewbibmacro*{name:last-first}[4]{% \ifuseprefix {\usebibmacro{name:delim}{#3#1}% \usebibmacro{name:hook}{#3#1}% \ifblank{#3}{}{% \ifcapital {\mkbibnameprefix{\MakeCapital{#3}}\isdot} {\mkbibnameprefix{#3}\isdot}% \ifpunctmark{'}{}{\bibnamedelimc}}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}} {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% \ifblank{#2#3}{}{}%\addcomma}% Suppression de la virgule entre le nom et pr��nom \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}% \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} % Format du labelname \DeclareNameFormat{labelname}{% \ifcase\value{uniquename}% \usebibmacro{name:last}{\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}{#3}{#5}{#7}% \or \ifuseprefix {\usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}{#4}{#5}{#8}} {\usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}{#4}{#6}{#8}}% \or \usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}{#3}{#5}{#7}% \fi \usebibmacro{name:andothers}} % Liste des auteurs \DeclareNameFormat*{author}{% \iftoggle{bbx:firstnames}% {\usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}{#3}{}{#7}}% {\ifcase\value{uniquename}% \usebibmacro{name:last}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#3}{}{#7}% \or% \ifuseprefix {\usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#4}{}{#8}} {\usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#4}{#6}{#8}}% \or \usebibmacro{name:last-first}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#3}{}{#7}% \fi \usebibmacro{name:andothers}}% } % Introducteurs: idem auteurs \DeclareNameAlias{introduction}{author}% % Traducteurs (le pr��nom appara��t d'abord, avant le nom) \DeclareNameFormat*{translator}{% \iftoggle{bbx:firstnames}% {\usebibmacro{name:first-last}{\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}{#3}{}{#7}}% {\ifcase\value{uniquename}% \usebibmacro{name:last}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#3}{}{#7}% \or% \ifuseprefix {\usebibmacro{name:first-last}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#4}{}{#8}} {\usebibmacro{name:first-last}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#4}{#6}{#8}}% \or \usebibmacro{name:first-last}{\ifblank{#5}{}{\textsc{#5}\addspace}#1}{#3}{}{#7}% \fi \usebibmacro{name:andothers}}% } %Si on veut qu'ils apparaissent comme les auteurs, simplement activer la ligne suivante et commenter le code pr��c��dent %\DeclareNameAlias{translator}{author} % Liste des ��diteurs \DeclareNameFormat*{editor}{% \ifnamesequal{editor}{author}% a) Test v��rifiant si la liste des auteurs et des ��diteurs est exactement la m��me. {\ifthenelse{% a => SI OUI : \value{listcount}=\value{liststop}% aa) Test v��rifiant si on est �� la fin de la liste (ce test sert �� ce que le string "idem" ne soit imprim�� qu'une seule fois) } {% Si on est �� la fin de la liste, le string idem est imprim��. \iftoggle{bbx:editorssc}% <= test pour savoir si l'option editorssc est activ��e. {\bibcpstring[\textsc]{idem}} {\bibcpstring{idem}} }% {}% Si on n'est pas �� la fin de la liste, rien ne se passe. }% {% b => SI NON: \iftoggle{bbx:firstnames}% {% Les pr��noms sont imprim��s donc pas besoin de d��sambiguation. \usebibmacro{name:last-first}{% \iftoggle{bbx:editorssc}% <= test pour savoir si l'option editorssc est activ��e. {\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}% Si oui: particule et nom en petites capitales {\ifblank{#5}{}{\textnormal{#5}\addspace}\textnormal{#1}}% }{#3}{}{#7}% Pr��nom \ignorespaces}% {% Les pr��noms ne sont pas imprim��s donc potentiel besoin de d��sambiguation \ifcase\value{uniquename}% A) PAS de d��sambiguation n��cessaire \usebibmacro{name:last}{% \iftoggle{bbx:editorssc}% <= test pour savoir si l'option editorssc est activ��e. {\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}% Si oui: particule et nom en petites capitales {\ifblank{#5}{}{\textnormal{#5}\addspace}\textnormal{#1}}% }{#3}{}{#7}% \or% B) DESAMBIGUATION avec initiales \ifuseprefix {\usebibmacro{name:last-first}{% \iftoggle{bbx:editorssc}% <= test pour savoir si l'option editorssc est activ��e. {\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}% Si oui: particule et nom en petites capitales {\ifblank{#5}{}{\textnormal{#5}\addspace}\textnormal{#1}}% }{#4}{}{#8}} {\usebibmacro{name:last-first}{% \iftoggle{bbx:editorssc}% <= test pour savoir si l'option editorssc est activ��e. {\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}% Si oui: particule et nom en petites capitales {\ifblank{#5}{}{\textnormal{#5}\addspace}\textnormal{#1}}% }{#4}{#6}{#8}}% \or% C) DESAMBIGUATION avec pr��noms complets \usebibmacro{name:last-first}{% \iftoggle{bbx:editorssc}% <= test pour savoir si l'option editorssc est activ��e. {\ifblank{#5}{}{\textsc{#5}\addspace}\textsc{#1}}% Si oui: particule et nom en petites capitales {\ifblank{#5}{}{\textnormal{#5}\addspace}\textnormal{#1}}% }{#3}{}{#7}% \fi% } \usebibmacro{name:andothers}\ignorespaces% S��parations entre les noms } \ifthenelse{\value{listcount}=\value{liststop}}% Mention "(��diteur)": seulement �� la fin de la liste {\ifthenelse{\value{listtotal}=1}% si la liste ne comporte qu'un nom {\addspace\mkbibparens{\bibstring{editor}}}% alors on utilise le string editor {\addspace\mkbibparens{\bibstring{editors}}}% sinon, on utilise le string editors }% {}% } % Format des titres et sous-titres: en italique, si titleit est activ��e \DeclareFieldFormat*{title}{% \iftoggle{bbx:titleit}% {\emph{#1}}% {#1}% }% \DeclareFieldAlias{subtitle}{title}% \DeclareFieldAlias{shorttitle}{title}% \DeclareFieldAlias{labeltitle}{title}% \DeclareFieldAlias{booktitle}{title}% \DeclareFieldAlias{booksubtitle}{title}% \DeclareFieldAlias{origtitle}{title}% \DeclareFieldFormat[legislation]{title}{#1}% Dans les entr��es legislation et online, le titre, sous-titre et titre court n'est pas en italique mais en romain. \DeclareFieldFormat[legislation]{subtitle}{#1}% \DeclareFieldFormat[legislation]{shorttitle}{#1}% \DeclareFieldFormat[online]{title}{#1}% \DeclareFieldFormat[online]{subtitle}{#1}% \DeclareFieldFormat[online]{shorttitle}{#1}% % Format des listes de villes \DeclareListFormat{location}{% #1% \ifthenelse{% \value{listcount}<\value{liststop}% }% {\addnbspace\slash\addspace}% {}% } % Format de l'��dition \DeclareFieldFormat*{edition}{\mkbibordinal{#1}\addspace\bibstring{edition}} % Format du volume \DeclareFieldFormat{volume}{\bibstring{volume}\addspace#1} \DeclareFieldFormat[article]{volume}{#1} \DeclareFieldFormat[jurisdiction]{volume}{#1} \DeclareFieldFormat[customb]{volume}{#1} \DeclareFieldFormat[legislation]{volume}{% \ifboolexpr{% Cas o�� on cite la FF ou le RO, BOCN, BOCE test {\iffieldequalstr{series}{ff}} or test {\iffieldequalstr{series}{ro}} or test {\iffieldequalstr{series}{bocn}} or test {\iffieldequalstr{series}{boce}} } {#1} {\bibstring{volume}\addspace#1} } % Format du nom de revue \DeclareFieldFormat*{journaltitle}{#1} % Format des champs part et type (pour les commentaires) \DeclareFieldFormat{part}{#1} % Format des pages % Les mentions "pages" ne seront jamais imprim��es en toutes lettres, que l'option abbreviate soit activ��e ou non. Cela peut ��tre modifi�� dans le fichier .lbx (red��finir les strings page et pages). \DeclareFieldFormat{pages}{% \ifnumeral{#1}% {\pno~#1}% {\ifnumerals{#1}% {\ppno~#1}% {#1}% }% } % Crossref \DeclareDataInheritance{jurisdiction}{customb}{% } \DeclareDataInheritance{commentary}{customa}{% } %%%%%%%%%%% MACROS %%%%%%%%%%%%% % Auteurs \newbibmacro{authors}{% \ifnameundef{author}% {}% {\printnames{author}% \printtext{,}\addspace}% <= Exceptionnellement, c'est pas la commande \newblock qui est utilis��e, cela pour ��viter d'avoir pas de virgule apr��s un pr��nom abr��g��. } % Titre et sous-titre avec subtitlepunct \newbibmacro{title+subtitle}{% \printfield{title}% \iftoggle{bbx:subtitles} {% \iffieldundef{subtitle}% {}% {\subtitlepunct% \printfield{subtitle}}% }% {}% \newblock% } % Edition \newbibmacro{edition}{% \printfield{edition}% \newblock% } % In \newbibmacro{printin}{\bibstring{in}\addnbthinspace\addcolon\newunit} \newbibmacro{in}{% \iffieldequalstr{entrytype}{article}% {\usebibmacro{printin}}% {\ifboolexpr{% not test {\ifnameundef{author}}% l'auteur est d��fini and% et (% not test {\ifnameundef{editor}}% l'��diteur est d��fini or% ou not test {\iflistundef{organization}}% l'organisation est d��finie )% }% {\usebibmacro{printin}}% alors in est imprim�� {\ifboolexpr{% sinon not test {\ifnameundef{author}}% si l'auteur est d��fini and% et not test {\iffieldundef{booktitle}}% le titre de l'ouvrage est d��fini }% {\usebibmacro{printin}}% alors in est aussi imprim�� {}% }% }% } % ��diteurs \newbibmacro{editors}{% \ifnameundef{editor}% {}% {\printnames{editor}\newblock}% }% % Titre et sous-titre de l'ouvrage \newbibmacro{booktitle+booksubtitle}{% \printfield{booktitle}% \iftoggle{bbx:subtitles} {% \iffieldundef{booksubtitle}% {}% {\subtitlepunct% \printfield{booksubtitle}}% }% {}% \newblock% } % Collection / s��rie + num��ro \newbibmacro{serienum}{% \iffieldbibstring{series}% {\biblstring{\thefield{series}}}% {\printfield{series}}% \iffieldundef{number} {} {% <= Refaire ce bout de code au propre avec setunit. \addspace% \no% \printfield{number}% }% \newblock% } % Volume \newbibmacro{volume}{% \printfield{volume}% \newblock% } % Th��se \newbibmacro{thesis}{% \iffieldequalstr{entrysubtype}{habilitation}% Test pour savoir si le champ entrysubtype contient "habilitation" {\bibstring{habth}}% {\bibstring{phdthesis}}% \iflistundef{institution}% {}% {\iflistsequal{institution}{location}% {}% {\addspace\printlist{institution}}% }% \newblock% } % Villes et ann��e \newbibmacro{cities+date}{% \ifboolexpr{% 1) Cas normal: ville(s), ann��e not test {\iflistundef{location}}% si la liste ville est d��finie and% et not test {\iffieldundef{year}}% si le champ ann��e est d��fini }% {\printlist{location}\addspace\newunit\printdate\newblock}% alors la liste des villes et l'ann��e sont imprim��es {\ifboolexpr{% 2) sinon: test {\iflistundef{location}}% si la liste ville n'est pas d��finie and% et not test {\iffieldundef{year}}% si le champ ann��e est d��fini }% {\bibstring{sineloco}\newblock\printdate\newblock}% alors "sine loco, ann��e" est imprim�� {\ifboolexpr{% 3) sinon: not test {\iflistundef{location}}% si la liste ville est d��finie and% et test {\iffieldundef{year}}% si le champ ann��e n'est pas d��fini }% {\printlist{location}\newblock\bibstring{sineanno}\newblock}% alors la liste des villes et "sine anno" est imprim�� {\bibstring{sinelocoetanno}\newblock}% 4) sinon "sine loco et anno" est imprim�� }% }% } % Etat de la publication \newbibmacro{pubstate}{% \newunit% \iffieldundef{pubstate}% {}% {\setunit{\nopunct}\printtext{\addspace}% \mkbibparens{% \setunit{\nopunct}% \iffieldbibstring{pubstate}% {% \bibsstring{\thefield{pubstate}}% }% {% \printfield{pubstate}% \newunit% }% }% }% } % Revues (stable) \newbibmacro{journals}{% \iftoggle{bbx:abrjournal}% {% a) Cas o�� l'option abrjournal est activ��e => on v��rifie s'il existe un string (cas ��ch��ant, on imprime le string en abr��g��), puis on imprime la r��f��rence de mani��re raccourcie \iffieldbibstring{journaltitle} {% aa) s'il existe un string pour le nom de la revue \midsentence\bibsstring{\thefield{journaltitle}}% le midsentence emp��che la capitalisation automatique apr��s les deux points en allemand }% {% bb) s'il n'existe pas de string pour le nom de la revue \printfield{journaltitle}% }% \newunit% \usebibmacro{date}% \newunit% \printfield{volume}% \newunit% \iffieldundef{number}% {}% {\bibsstring{number}\addnbthinspace\printfield{number}}% \newunit% \printfield{pages}% \newblock% }% {% b) Cas o�� l'option abrjournal n'est pas activ��e \iffieldbibstring{journaltitle}% {% aa) s'il existe un string pour le nom de la revue \biblstring{\thefield{journaltitle}}% }% {% bb) s'il n'existe pas de string pour le nom de la revue \printfield{journaltitle}% }% \newblock% \usebibmacro{date}% \newblock% \iffieldundef{volume}% {}% {\bibstring{volume}\addspace\printfield{volume}}% \newblock% \iffieldundef{number}% {}% {\bibstring{number}\addspace\printfield{number}}% \newblock% \printfield{pages}% \newblock% }% } % consid��rant et page topique dans la jurisprudence \newbibmacro{recitalandpage}{% \iffieldundef{usere}% Consid��rant et page topique {}% {\addcomma\addspace\bibsstring{recital}\addspace\printfield{usere}% \iffieldundef{userf}% {}% {\addspace\mkbibparens{\printfield{userf}}}% }% } % R��f��rence principale de la jurisprudence \newbibmacro{mainref}{% \iffieldbibstring{usera}% Si le champ usera correspond �� un string (p.ex. atf ou atc) {\bibstring{\thefield{usera}}}% Alors on imprime le string correspondant {\printfield{usera}}% Sinon: on imprime le champ brut \iffieldundef{userb}% {}% {\newunit% \iffieldbibstring{userb}% Si le champ usera correspond �� un string (p.ex. vd ou vs) {\bibstring{\thefield{userb}}}% Alors on imprime le string correspondant {\printfield{userb}}% Sinon: on imprime le champ brut }% \iffieldundef{userc}% {}% {\newunit\printfield{userc}}% \iffieldundef{userd}% {}% {\newunit\printfield{userd}}% \iffieldequalstr{usera}{atf}% <= La date ne s'imprime que s'il ne s'agit pas d'un ATF. {}% {\iffieldundef{origyear}% {}% {\addspace\mkbibparens{\printfield{origday}\adddot\printfield{origmonth}\adddot\printfield{origyear}}}% %%%% Possibilit�� d'utiliser \mkbibmonth si on veut avoir un mois en toutes lettres, cf. manuel biblatex. }% \iftoggle{bbx:jstitles}% Option pour activer / d��sactiver la mention du "surnom" dans les citations d'arr��ts {\iffieldundef{title}% {}% {\newunit% \printfield{title}}% }% {}% \iflistundef{language}% Langue de l'arr��t original {}% {\addspace\mkbibbrackets{\thelist{language}}}% \usebibmacro{recitalandpage}% } % Liaison entre r��f��rence principale et r��f��rence secondaire \newbibmacro{interref}{% \iffieldundef{howpublished}{}% {% \iffieldequalstr{howpublished}{publ}% Liaison entre r��f��rence principale et secondaire {\iftoggle{bbx:abrjournal}% {\newunit}% {\newblock}% }% {\newblock}% \iffieldbibstring{howpublished}% {\iftoggle{bbx:abrjournal}% {\bibsstring{\thefield{howpublished}}}% {\biblstring{\thefield{howpublished}}}% }% {\printfield{howpublished}}% \newunit% }} % Pages \newbibmacro{pages}{% \printfield{pages}% \newblock% } % Url and Url pour les sources papier \DeclareFieldFormat{urldate}{#1} \newbibmacro{stringurldate}{% \iffieldundef{urlyear}% {}% {\newblock\bibstring{urlseen}\newunit\printurldate}% } \newbibmacro{paper:url+urldate}{% \iffieldundef{url}% {}% {\setunit{\nopunct}\printtext{\addspace}% \mkbibparens{\printfield{url}\usebibmacro{stringurldate}}% }% } % URL and URLDATE pour les sources online \newbibmacro{online:url+urldate}{% \printfield{url}\usebibmacro{stringurldate}% } % INTRODUCTION \DeclareLabelname{% \field{introduction}% \field{shortauthor}% \field{author}% \field{shorteditor}% \field{editor}% \field{translator}% }% On red��finit Labelname avec le nom de l'introducteur \newbibmacro{introby}{% \ifnameundef{introduction}% {}% {% \printnames{introduction}% \newblock% \mkbibemph{\bibcplstring{introduction}}% \newblock% \usebibmacro{printin}}% } %% Vieux code, pour avoir le nom des introducteurs apr��s. %\newbibmacro{introby}{% %\ifnameundef{introduction}% % {}% % {\newblock\biblstring{withintroduction}\addspace\printnames{introduction}\newblock}% %} % Traductions \newbibmacro{translation}{% \ifnameundef{translator}% {}% {\setunit{\nopunct}\printtext{\addspace}% \mkbibparens{% \setunit{\nopunct}% \bibstring{bytranslator}% \newunit% \printnames{translator}% \newunit% \iffieldsequal{title}{origtitle}% Variantes selon que le titre original et traduit sont les m��mes ou pas (des fois que le titre ne soit pas traduit) {% \bibstring{sametitle}% \newunit% \printlist{origlocation}% \newunit% \bibstring{inyear}% \newunit% \printfield{origyear}% }% {% \iffieldundef{origtitle}{}{%Test pour ne pas imprimer de string si le titre original n'est pas d��fini \bibstring{othertitle}% \newunit% \printfield{origtitle}% \newblock% \printlist{origlocation}% \newunit% \printfield{origyear}% }}% }% }% } % Abr��g�� \newbibmacro{shortform}{% \iftoggle{bbx:shortform}% {% \ifboolexpr% {% test {\ifsingletitle}% S'il n'y qu'une seule r��f��rence du m��me auteur / ��diteur % and% ET % test {\value{uniquename}=0}% S'il n'y a pas besoin de d��sambiguer les noms des auteurs }% {}% ALORS rien n'est imprim�� {\setunit{\nopunct}\printtext{\addspace}% SINON (abr.: ...) est imprim�� \mkbibparens{% \setunit{\nopunct}% \bibstring{shortform}% \addnbthinspace% \addcolon% \addspace% \printnames{labelname}% \printtext{,}\addspace% <= Exceptionnellement, c'est pas la commande \newblock qui est utilis��e, cela pour ��viter d'avoir pas de virgule apr��s un pr��nom abr��g��. \printfield{labeltitle}% }% }% }% {}% }% % Cote en biblioth��que \newbibmacro{library}{% \ifcitation{}{% N'est utilis�� que si l'on n'est PAS dans une citation \iftoggle{bbx:library}% {% \iffieldundef{library}% {}% {\adddot\\% \setunit{\nopunct}\footnotesize{\bibcpstring{library}\addnbthinspace\addcolon\addspace\printfield{library}}% }% }% {}% }} % R��sum�� \newbibmacro{resume}{% \ifcitation{}{% N'est utilis�� que si l'on n'est PAS dans une citation \iftoggle{bbx:abstracts} {\iffieldundef{abstract}% {}% {\adddot\\% \setunit{\nopunct}\footnotesize{\bibcpstring{abstract}\addnbthinspace\addcolon\addspace\printfield{abstract}}% }% }% {}% }} % Note \newbibmacro{note}{% \ifcitation{}{% N'est utilis�� que si l'on n'est PAS dans une citation \iftoggle{bbx:notes}% {% \iffieldundef{note}% {}% {\adddot\\% \setunit{\nopunct}\footnotesize{\bibcpstring{note}\addnbthinspace\addcolon\addspace\printfield{note}}% }% }% {}% }}% % Ibidem \newcommand{\bbltxsl@lastrulingcited@text}{} \newcommand{\bbltxsl@lastrulingcited@foot}{} \newcommand{\testibid}[1]{% \ifcitation{% N'est utilis�� que si l'on est dans une citation \ifdefequal{\blx@imc@ifciteibid}{\@secondoftwo}% Si l'option ibidtracker=false est activ��e {#1}% La citation est imprim��e sans autre contr��le {% Si n'importe quelle autre variable est utilis��e \ifthenelse{% \iffieldequalstr{entrytype}{jurisdiction}% }% {% Si type = @jurisdiction \ifdefequal{\blx@imc@ifciteibid}{\blx@ifciteibid@context}% Option ibidtracker=context {% \iftoggle{blx@footnote}% {\iffieldequals{entrykey}{\bbltxsl@lastrulingcited@foot}% {\bibcpstring{lastruling}}% oui = string lastruling {#1\savefield{entrykey}{\bbltxsl@lastrulingcited@foot}}}% {\iffieldequals{entrykey}{\bbltxsl@lastrulingcited@text}% {\bibcpstring{lastruling}}% oui = string lastruling {#1\savefield{entrykey}{\bbltxsl@lastrulingcited@text}}}% }% {% \ifdefequal{\blx@imc@ifciteibid}{\blx@ifciteibid@constrict}% Option ibidtracker=constrict {% \iftoggle{blx@footnote}% {\iffieldequals{entrykey}{\bbltxsl@lastrulingcited@foot}% {\bibcpstring{lastruling}}% oui = string lastruling {#1\savefield{entrykey}{\bbltxsl@lastrulingcited@foot}}}% {\iffieldequals{entrykey}{\bbltxsl@lastrulingcited@text}% {\bibcpstring{lastruling}}% oui = string lastruling {#1\savefield{entrykey}{\bbltxsl@lastrulingcited@text}}}% }% {% Option ibidtracker=true ou Option ibidtracker=strict \iffieldequals{entrykey}{\bbltxsl@lastrulingcited@text}% Si l'arr��t actuel est le m��me que le pr��c��dent cit�� {\bibcpstring{lastruling}}% oui = string lastruling {#1\savefield{entrykey}{\bbltxsl@lastrulingcited@text}\savefield{crossref}{\bbltxsl@lastrulingcited@foot}}% non = r��f��rence normale + enregistrement de l'entrykey actuelle pour le test dans l'entr��e suivante }% }% } {% Si type n'est pas @ jurisdiction \iffieldequalstr{entrytype}{customb}% Si type = @customb {% \ifdefequal{\blx@imc@ifciteibid}{\blx@ifciteibid@context}% Option ibidtracker=context {% \iftoggle{blx@footnote}% {\iffieldequals{crossref}{\bbltxsl@lastrulingcited@foot}% {\bibcpstring{lastruling}\newblock\usebibmacro{recitalandpage}}% oui = string lastruling + consid et page {#1\savefield{crossref}{\bbltxsl@lastrulingcited@foot}}}% {\iffieldequals{crossref}{\bbltxsl@lastrulingcited@text}% {\bibcpstring{lastruling}\newblock\usebibmacro{recitalandpage}}% oui = string lastruling + consid et page {#1\savefield{crossref}{\bbltxsl@lastrulingcited@text}}}% }% {% \ifdefequal{\blx@imc@ifciteibid}{\blx@ifciteibid@constrict}% Option ibidtracker=constrict {% \iftoggle{blx@footnote}% {\iffieldequals{crossref}{\bbltxsl@lastrulingcited@foot}% {\bibcpstring{lastruling}\newblock\usebibmacro{recitalandpage}}% oui = string lastruling + consid et page {#1\savefield{crossref}{\bbltxsl@lastrulingcited@foot}}}% {\iffieldequals{crossref}{\bbltxsl@lastrulingcited@text}% {\bibcpstring{lastruling}\newblock\usebibmacro{recitalandpage}}% oui = string lastruling + consid et page {#1\savefield{crossref}{\bbltxsl@lastrulingcited@text}}}% }% {% Option ibidtracker=true ou Option ibidtracker=strict \iffieldequals{crossref}{\bbltxsl@lastrulingcited@text}% Si l'arr��t actuel est le m��me que le pr��c��dent cit�� {\bibcpstring{lastruling}\newblock\usebibmacro{recitalandpage}}% oui = string lastruling + consid et page {#1\savefield{crossref}{\bbltxsl@lastrulingcited@text}\savefield{crossref}{\bbltxsl@lastrulingcited@foot}}% non = r��f��rence normale + enregistrement de l'entrykey actuelle pour le test dans l'entr��e suivante }% }% }% {\ifciteibid% Si le type n'est ni @jurisdiction ni @customb. {\emph{\bibcpstring{ibidem}}}% {#1}% \savefield{entrykey}{\bbltxsl@lastrulingcited@text}% Enregistrement de l'entrykey actuelle \savefield{entrykey}{\bbltxsl@lastrulingcited@foot}% Enregistrement de l'entrykey actuelle }% }% }}% {#1}% } %%%%%%%%%%% DRIVERS %%%%%%%%%%%%% \DeclareBibliographyAlias{*}{book} % G��n��rique \newbibmacro{generic:short}{% \testibid{% \ifnameundef{labelname}% {}% {\printnames{labelname}\newblock}% \ifsingletitle% {}% {\newblock\printfield{labeltitle}}% }} % @book \newbibmacro{book:full}{% \testibid{% \usebibmacro{introby}% \usebibmacro{authors}% \usebibmacro{title+subtitle}% \usebibmacro{edition}% \usebibmacro{serienum}% \usebibmacro{volume}% \usebibmacro{cities+date}% \usebibmacro{pubstate}% \iftoggle{bbx:bookspages}% {\usebibmacro{pages}}% {}% \usebibmacro{translation}% \usebibmacro{paper:url+urldate}% \usebibmacro{shortform}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @thesis \newbibmacro{thesis:full}{% \testibid{% \usebibmacro{introby}% \usebibmacro{authors}% \usebibmacro{title+subtitle}% \usebibmacro{edition}% \usebibmacro{serienum}% \usebibmacro{volume}% \usebibmacro{thesis}% \usebibmacro{cities+date}% \usebibmacro{pubstate}% \iftoggle{bbx:bookspages}% {\usebibmacro{pages}}% {}% \usebibmacro{translation}% \usebibmacro{paper:url+urldate}% \usebibmacro{shortform}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @inbook \newbibmacro{inbook:full}{% \testibid{% \usebibmacro{introby}% Est-ce justifi��? Qui fait une introduction dans un ouvrage collectif qui n'est pas un article? �� supprimer. \usebibmacro{authors}% \usebibmacro{title+subtitle}% \usebibmacro{in}% \usebibmacro{editors}% \usebibmacro{booktitle+booksubtitle}% \usebibmacro{edition}% \usebibmacro{serienum}% \usebibmacro{volume}% \usebibmacro{cities+date}% \usebibmacro{pubstate}% \usebibmacro{pages}% \usebibmacro{translation}% \usebibmacro{paper:url+urldate}% \usebibmacro{shortform}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @article \newbibmacro{article:full}{% \testibid{% \usebibmacro{introby}% L�� encore, ��a para��t douteux que ce soit n��cessaire. \usebibmacro{authors}% \usebibmacro{title+subtitle}% \usebibmacro{in}% \usebibmacro{editors}% \usebibmacro{journals}% \usebibmacro{shortform}% \usebibmacro{paper:url+urldate}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @commentary \newbibmacro{commentary:full}{% \testibid{% \usebibmacro{introby}% \usebibmacro{authors}% \usebibmacro{title+subtitle}% \usebibmacro{in}% \usebibmacro{editors}% \usebibmacro{booktitle+booksubtitle}% \usebibmacro{edition}% \usebibmacro{serienum}% \usebibmacro{volume}% \usebibmacro{cities+date}% \usebibmacro{pubstate}% \iftoggle{bbx:bookspages}% {\usebibmacro{pages}}% {}% \usebibmacro{translation}% \usebibmacro{paper:url+urldate}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @customa \newbibmacro{customa:styleA}{% Format "BK-Kramer, 1 CO, n�� ...." \iffieldbibstring{series}% {\bibsstring{\thefield{series}}}% {\printfield{series}}% \iffieldundef{series}{}{\printtext{-}}% \printnames{labelname}% \iffieldundef{type}% {% \iftoggle{bbx:adarticle}% {\newunit}% {\newblock}% }% {\newblock% \iffieldbibstring{type}{\bibsstring{\thefield{type}}}{\printfield{type}}% \newunit}% \iffieldundef{part}% {}% {\iftoggle{bbx:adarticle}% {\bibsstring{ad}\newunit}% {}% \ifboolexpr{% test {\iffieldequalstr{series}{beckkuko}} or test {\iffieldequalstr{series}{mnk}} or test {\iffieldequalstr{series}{nmk}} or test {\iffieldequalstr{series}{palandt}} or test {\iffieldequalstr{series}{stk}} } {% Si le commentaire est allemand \ifboolexpr{% Test pour savoir s'il y a plusieurs articles test {\IfSubStr{\thefield{part}}{-}} or test {\IfSubStr{\thefield{part}}{f.}} or test {\IfSubStr{\thefield{part}}{ff}} or test {\IfSubStr{\thefield{part}}{\psq}} or test {\IfSubStr{\thefield{part}}{\psqq}} } {\bibstring{articlesde}} {\bibstring{articlede}} }% {\bibsstring{article}}% Si le commentaire n'est pas allemand \addspace\printfield{part}% }% \newunit% \printfield{titleaddon}% } \newbibmacro{customa:styleB}{% \iffieldundef{series} {\usebibmacro{customa:styleA}}% Si les s��ries ne sont pas d��finies, utilisation du style A {\iffieldbibstring{series}% {\bibsstring{\thefield{series}}\printtext{-}}% {\iffieldundef{series}% {}% {\printfield{series}\printtext{-}}% }% \iffieldundef{titleaddon}% {}% {\printfield{titleaddon}\addspace}% \iffieldundef{volume}% {}% {\thefield{volume}}% \newblock% \printnames{labelname}% \iffieldundef{type}% {% \iftoggle{bbx:adarticle}% {\newunit}% {\newblock}% }% {\newblock% \iffieldbibstring{type}{\bibsstring{\thefield{type}}}{\printfield{type}}% \newunit}% \iffieldundef{part}% {}% {\iftoggle{bbx:adarticle}% {\bibsstring{ad}\newunit}% {}% \bibsstring{article}\addspace\printfield{part}% }% }}% \newbibmacro{customa:styleC}{% \iftoggle{bbx:firstnames} {\printnames{author}}% {\printnames{labelname}}% \iffieldundef{series}% {}% {\newblock\usebibmacro{printin}% \iffieldbibstring{series}% {\biblstring{\thefield{series}}}% {\printfield{series}}% }% \iffieldundef{type}% {% \iftoggle{bbx:adarticle}% {\newunit}% {\newblock}% }% {\newblock% \iffieldbibstring{type}{\bibsstring{\thefield{type}}}{\printfield{type}}% \newunit}% \iffieldundef{part}% {}% {\iftoggle{bbx:adarticle}% {\bibsstring{ad}\newunit}% {}% \bibsstring{article}\addspace\printfield{part}% }% \newunit% \printfield{titleaddon}% } \newbibmacro{customa:full}{% \testibid{% {\ifnum\blx@commentarystyle=\z@% Si on a choisi le style A (par d��faut, c'est le cas) \usebibmacro{customa:styleA}% \else% Dans les autres cas \ifnum\blx@commentarystyle=\@ne% Si on a choisi l'option halfdash \usebibmacro{customa:styleB}% Alors un tiret demi-cadratin est imprim�� \else% Dans les autres cas = on a choisi l'option comma \usebibmacro{customa:styleC}% une virgule et une espace sont imprim��es \fi% \fi}% }} % @jurisdiction \newbibmacro{jurisdiction:full}{% \testibid{% \usebibmacro{mainref}% \usebibmacro{interref}% \usebibmacro{journals}% r��f��rence secondaire de l'arr��t = publication, traduction ou commentaire dans une revue. \usebibmacro{paper:url+urldate}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @online \newbibmacro{online:full}{% \testibid{% \usebibmacro{authors}% \usebibmacro{title+subtitle}% \usebibmacro{online:url+urldate}% \usebibmacro{library}% \usebibmacro{resume}% \usebibmacro{note}% % \finentry% }} % @legislation \newbibmacro{legislation:full}{% \testibid{% \ifboolexpr{% Cas o�� on cite la FF ou le RO, BOCN, BOCE test {\iffieldequalstr{series}{ff}} or test {\iffieldequalstr{series}{ro}} or test {\iffieldequalstr{series}{bocn}} or test {\iffieldequalstr{series}{boce}} } {% \bibstring{\thefield{series}}% \newunit% \printdate% \newunit% \printfield{volume}% \newunit% \printfield{pages}% } {% \usebibmacro{authors}% \usebibmacro{title+subtitle}% \newblock \iffieldundef{origyear}% {}% {\printorigdate\newblock}% \ifboolexpr{% Si le titre et la s��rie sont d��finis et que la s��rie correspond �� un bibstring, alors "in:" s'imprime. Cela permet d'avoir un in quand le document est publi�� dans une collection, tout en gardant une flexibilit�� s'il ne l'est pas. not test {\iffieldundef{title}}% and% not test {\iffieldundef{series}}% and% test {\iffieldbibstring{series}}% }% {\usebibmacro{printin}}% {}% \newblock% \iffieldbibstring{series}% {\bibstring{\thefield{series}}}% {\printfield{series}}% \newblock% \printdate% \newunit% \printfield{volume}% \newblock% \printfield{number}% \newunit% \printfield{pages}% }% \usebibmacro{online:url+urldate}% \usebibmacro{pubstate}% \usebibmacro{resume}% \usebibmacro{note}% \usebibmacro{library}% % \finentry% }} \endinput