summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-swiss-legal/biblatex-swiss-legal-base.cbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-swiss-legal/biblatex-swiss-legal-base.cbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-swiss-legal/biblatex-swiss-legal-base.cbx418
1 files changed, 418 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-swiss-legal/biblatex-swiss-legal-base.cbx b/Master/texmf-dist/tex/latex/biblatex-swiss-legal/biblatex-swiss-legal-base.cbx
new file mode 100644
index 00000000000..24761e1406a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-swiss-legal/biblatex-swiss-legal-base.cbx
@@ -0,0 +1,418 @@
+ %%%%%% BIBLATEX-SWISS-LEGAL-BASE : CITATIONS %%%%%%%
+
+
+% Copyright 2012 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.cbx}[2012/12/28 v1.1 alpha]
+
+\RequireBibliographyStyle{biblatex-swiss-legal-base}
+
+
+%%%%%%%%%%% FORMATAGE DES DONNEES %%%%%%%%%%%%%
+
+% Format de postnote (pour les commentaires)
+
+\DeclareFieldFormat[customa]{postnote}{\ifnumeral{#1}{\parN #1}{\ifnumerals{#1}{\parNN #1}{#1}}}
+
+% Dans les commentaires, le champ postnote est automatiquement reformaté avec les n° au lieu de p. Si l'on veut N ou NN à la place, il faut modifier les strings paragraph et paragraphs dans le fichier .lbx
+
+
+
+
+%%%%%%%%%%% MACROS %%%%%%%%%%%%%
+
+% Macros général de citation
+
+\newbibmacro*{cite}%
+{%
+\iffieldequalstr{entrytype}{book}%
+ {\usebibmacro{book:cite}}%
+ {\iffieldequalstr{entrytype}{thesis}%
+ {\usebibmacro{thesis:cite}}%
+ {\iffieldequalstr{entrytype}{inbook}%
+ {\usebibmacro{inbook:cite}}%
+ {\iffieldequalstr{entrytype}{article}%
+ {\usebibmacro{article:cite}}%
+ {\iffieldequalstr{entrytype}{commentary}%
+ {\usebibmacro{commentary:cite}}%
+ {\iffieldequalstr{entrytype}{customa}%
+ {\usebibmacro{customa:cite}}%
+ {\iffieldequalstr{entrytype}{jurisdiction}%
+ {\usebibmacro{jurisdiction:cite}}%
+ {\iffieldequalstr{entrytype}{customb}%
+ {\usebibmacro{customb:cite}}%
+ {\iffieldequalstr{entrytype}{online}%
+ {\usebibmacro{online:cite}}%
+ {\iffieldequalstr{entrytype}{legislation}%
+ {\usebibmacro{legislation:cite}}%
+ {\usebibmacro{book:cite}}%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}%
+
+
+\newbibmacro*{fullcite}%
+{%
+\iffieldequalstr{entrytype}{book}%
+ {\usebibmacro{book:full}}%
+ {\iffieldequalstr{entrytype}{thesis}%
+ {\usebibmacro{thesis:full}}%
+ {\iffieldequalstr{entrytype}{inbook}%
+ {\usebibmacro{inbook:full}}%
+ {\iffieldequalstr{entrytype}{article}%
+ {\usebibmacro{article:full}}%
+ {\iffieldequalstr{entrytype}{commentary}%
+ {\usebibmacro{commentary:full}}%
+ {\iffieldequalstr{entrytype}{customa}%
+ {\usebibmacro{customa:full}}%
+ {\iffieldequalstr{entrytype}{jurisdiction}%
+ {\usebibmacro{jurisdiction:full}}%
+ {\iffieldequalstr{entrytype}{customb}%
+ {\usebibmacro{customb:full}}%
+ {\iffieldequalstr{entrytype}{online}%
+ {\usebibmacro{online:full}}%
+ {\iffieldequalstr{entrytype}{legislation}%
+ {\usebibmacro{legislation:full}}%
+ {\usebibmacro{book:full}}%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}%
+
+
+\newbibmacro{citetitle}{\printfield{title}}
+
+
+%%%%%%%%%%% CORRECTION D'UN BUG (POSTNOTE DANS LES TYPES NON STANDARD) %%%%%%%%%%%
+
+\AtEveryCitekey{%
+\ifboolexpr{%
+test {\iffieldequalstr{entrytype}{online}}%
+or
+test {\iffieldequalstr{entrytype}{legislation}}%
+or
+test {\iffieldequalstr{entrytype}{jurisdiction}}%
+or
+test {\iffieldequalstr{entrytype}{customb}}%
+and
+not test {\iffieldundef{postnote}}
+}%
+{\renewbibmacro{postnote}{\postnotedelim\printfield{postnote}}}
+{}%
+}
+
+%%%%%%%%%%% COMMANDES DE CITATION %%%%%%%%%%%
+
+\DeclareCiteCommand{\footcite}[\mkbibfootnote]%
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+\DeclareCiteCommand{\textcite}[]%
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+\DeclareCiteCommand{\cite}[]%
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+\DeclareCiteCommand{\parencite}[\mkbibparens]%
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+\DeclareCiteCommand{\fullcite}%
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{fullcite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+\DeclareCiteCommand{\citetitle}%
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{citetitle}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+%%%%%%%%%%% COMMANDES SPECIFIQUES POUR LES CITATIONS DE JURISPRUDENCE (expérimental) %%%%%%%%%%%
+
+% Commandes pour l'utilisateur
+
+\usepackage{xargs}
+
+\newcommandx{\jdcite}[5][1,2,3,4]{%
+\ifdef{\jurisdiction@prenote}%
+ {\renewcommand{\jurisdiction@prenote}{#1}}% Actualisation de la commande \jurisdiction@prenote avec le contenu du champ #1
+ {\newcommand{\jurisdiction@prenote}{#1}}%
+\ifdef{\jurisdiction@recital}%
+ {\renewcommand{\jurisdiction@recital}{#3}}% Actualisation de la commande \jurisdiction@recital avec le contenu du champ #3
+ {\newcommand{\jurisdiction@recital}{#3}}%
+\ifdef{\jurisdiction@page}%
+ {\renewcommand{\jurisdiction@page}{#4}}% Actualisation de la commande \jurisdiction@page avec le contenu du champ #4
+ {\newcommand{\jurisdiction@page}{#4}}%
+\jurisdiction@cite%
+[#1]%
+[#2]%
+{#5}%
+}
+
+%%% UTILISER ifstrempty pour savoir si un argument est vide => si oui, le redéfinir avec l'argument suivant
+%%% le problème des multicitecommands subsiste. il faudrait essayer de faire un test \value{multicitecount}<{multicitetotal}. Mais ça ne résout de loin pas tous les problèmes.
+
+
+% Interface avec biblatex
+
+\DeclareCiteCommand{\jurisdiction@cite}[]%
+ {% PRECODE
+ \usebibmacro{prenote}%
+ \ifcsempty{jurisdiction@prenote}% test pour savoir s'il y a quelque chose dans le champ optionnel prenote.
+ {\bibsentence}% s'il n'y a rien, le bibstring (p. ex. Arrêt précité) suivant est capitalisé
+ {\midsentence}% s'il y a quelque chose, le bibstring suivant commence par une minuscule
+}%
+ {% LOOPCODE
+ \usebibmacro{citeindex}%
+\iffieldequalstr{entrytype}{jurisdiction}% test pour être sur qu'on est dans une fiche @jurisdiction
+{\usebibmacro{jurisdiction@details}}% si c'est bien le cas, on utilise le macro jurisdiction@details
+{% <= Un message d'erreur apparaît si on est pas dans une fiche @jurisdiction
+\PackageError{biblatex-swiss-legal}{Use the \protect\jdcite\space command \MessageBreak ONLY for 'jurisdiction' entry types!}{Replace the entrykey by an \MessageBreak entrykey corresponding to a 'jurisdiction' entry.}%
+}%
+}%
+ {\multicitedelim}% SEPCODE
+ {\usebibmacro{postnote}}% POSTCODE
+
+\DeclareMultiCiteCommand{\jurisdiction@cites}{\jurisdiction@cite}{\multicitedelim}
+
+
+
+
+
+%% Macro détaillée
+
+\newbibmacro{jurisdiction@details}{%
+\ifciteibid% Test pour savoir si l'arrêt vient d'être cité
+ {\ifcsempty{jurisdiction@recital}% Si oui, on se demande si un numéro de considérant a été défini
+ {\usebibmacro{ibid}}% Si ça n'est pas le cas, le bibstring lastruling uniqument s'imprime
+ {\usebibmacro{ibid}\addcomma\addspace\bibsstring{recital}\addspace\jurisdiction@recital% Sinon, impression du bibstring + considérant + év. page.
+ \ifcsempty{jurisdiction@page}%
+ {}%
+ {\addspace\mkbibparens{\jurisdiction@page}}%
+ }%
+ }%
+ {%
+\printfield{usera}%
+\iffieldundef{userb}%
+ {}%
+ {\newunit\printfield{userb}}%
+\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}}}%
+ }%
+\iftoggle{bbx:jstitles}% <= Option pour activer / désactiver la mention du titre dans les citations d'arrêts
+ {\iffieldundef{title}%
+ {}%
+ {\newunit%
+ \printfield{title}}%
+ }%
+ {}%
+\iflistundef{language}%
+ {}%
+ {\addspace\mkbibbrackets{\printlist{language}}}%
+\ifcsempty{jurisdiction@recital}%
+ {}%
+ {%
+ \addcomma\addspace\bibsstring{recital}\addspace\jurisdiction@recital%
+ \ifcsempty{jurisdiction@page}%
+ {}%
+ {\addspace\mkbibparens{\jurisdiction@page}}%
+ }%
+\iffieldequalstr{howpublished}{publ}
+ {\newunit}%
+ {\newblock}%
+\iffieldbibstring{howpublished}%
+ {\bibsstring{\thefield{howpublished}}}% Dans les citations, on va toujours utiliser le string abrégé.
+ {\printfield{howpublished}}%
+\newunit%
+ \iffieldbibstring{journaltitle}
+ {% aa) s'il existe un string pour le nom de la revue
+ \bibsstring{\thefield{journaltitle}}%
+ }%
+ {% 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}%
+}%
+}
+
+
+
+
+%%%%%%%%%%% INDEXATION AUTOMATIQUE DE LA JURISPRUDENCE (pour l'instant désactivé) %%%%%%%%%%%
+
+% Une alternative pourrait consister à utiliser l'option indexing de biblatex, à essayer.
+
+%\newcommand{\printjurisdictionindex}{%
+%\printindex{jurisdictionfed}{Arrêts fédéraux}
+%\printindex{jurisdictioncnt}{Arrêts cantonaux}
+%\printindex{jurisdictionfgn}{Arrêts étrangers}
+%}
+
+%\iftoggle{bbx:jurisdictionindex}%
+%{%
+%\usepackage{multind}
+%\usepackage{xstring}
+%\makeindex{jurisdictionfed}%
+%\makeindex{jurisdictioncnt}%
+%\makeindex{jurisdictionfgn}%
+%\AtEveryCitekey{%
+% \ifboolexpr{%
+%% test (\iffieldequalstr{usera}{ataf})%
+%% or%
+% test (\iffieldequalstr{usera}{atf})%
+%% or%
+%% test (\iffieldequalstr{usera}{atfb})%
+%% or%
+%% test (\iffieldequalstr{usera}{atfnp})%
+%% or%
+%% test (\iffieldequalstr{usera}{atfpp})%
+%% or%
+%% test (\iffieldequalstr{usera}{atpf})%
+%% or%
+%% test (\iffieldequalstr{usera}{bge})%
+% }
+% {% Si arrêt fédéral
+% \iffieldequalstr{entrytype}{jurisdiction}%
+% {\StrLen{\thefield{userb}}[\nombreATF]%
+% \ifdefstring{\nombreATF}{1}
+% {\index{jurisdictionfed}{ATF 1@\thefield{userb}\addspace\thefield{userc}\addspace\thefield{userd}}}
+% {\ifdefstring{\nombreATF}{2}
+% {\index{jurisdictionfed}{ATF 10@\thefield{userb}\addspace\thefield{userc}\addspace\thefield{userd}}}
+% {\ifdefstring{\nombreATF}{3}
+% {\index{jurisdictionfed}{ATF 100@\thefield{userb}\addspace\thefield{userc}\addspace\thefield{userd}}}
+% {}
+% }
+% }
+%}{}}{}}}
+
+% \index{jurisdictionfed}{ATF\addspace%
+% \thefield{userb}\addspace\thefield{userc}\addspace\thefield{userd}}}
+% {}
+% }
+% {}% Sinon
+%}
+%
+% \iffieldequalstr{entrytype}{jurisdiction}%
+% {\index{jurisdiction}{[\thefield{origyear}-\thefield{origmonth}-\thefield{origday}] \thefield{usera}\addspace\thefield{userb}\addspace\thefield{userc}\addspace\thefield{userd}}}%
+% {%
+% \iffieldequalstr{entrytype}{customb}%
+% {\index{jurisdiction}{[\thefield{origyear}-\thefield{origmonth}-\thefield{origday}] \thefield{usera}\addspace\thefield{userb}\addspace\thefield{userc}\addspace\thefield{userd}!-- consid.\addspace\thefield{usere}}}%
+% {}%
+% }%
+%
+% }%
+%}%
+%{}%
+%
+
+
+
+%%%%%%%%%%% AJOUT DES REVUES ABREGÉES AUX ABREVIATIONS %%% (essais de code, ne fonctionnant pas)
+%
+%\AtEveryCitekey{%
+%}%
+%\iftoggle{bbx:abrjournal}%
+% {\nomenclature{\textt{}}{oui ça marche}}%
+% {}%
+%}%
+
+%
+%\biblstring{\thefield{journaltitle}}
+
+%%%
+
+%\newcommand{\abreviation}[2]{
+%
+%\AtEveryCitekey{%
+%\iffieldundef{journaltitle}%
+%{}%
+%{%
+%%\renewcommand{\titreessai}{\thefield{journaltitle}}%
+%%\xdef\titrecourt{\titreessai}
+%%\xdef\abrintershort{\titrecourt}
+%%\edef{\titreessai}{\thefield{journaltitle}}%
+%%\ifdef{\abrintershort}%
+%% {\renewcommand{\abrintershort}{}%
+%% {\newcommand{\abrintershort}{\bibsstring{\thefield{journaltitle}}}}%
+%%\ifdef{\abrinterlong}%
+%% {\renewcommand{\abrinterlong}{\biblstring{\thefield{journaltitle}}}}%
+%% {\newcommand{\abrinterlong}{\biblstring{\thefield{journaltitle}}}}%
+%%\@expandtwoargs\nomenclature{\abrintershort}{TEST}%
+%%
+%\newcommand{\testXIV}[2]{\nomenclature{#1}{#2}}%
+%\expandafter\testXIV{\thefield{journaltitle}}{Test}%
+%%
+%}%
+%}
+
+%\newcommand{\abrintershort}[1]{\bibsstring{\thefield{journaltitle}}}
+
+%\newcommand{\abrinterlong}[1]{\biblstring{\thefield{journaltitle}}}
+
+
+\endinput \ No newline at end of file