aboutsummaryrefslogtreecommitdiff
path: root/_preamble_bbl.tex
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2018-10-04 17:18:54 +0200
committerRobert Alessi <alessi@robertalessi.net>2018-10-04 17:18:54 +0200
commit639318d6e7443445fe3f9ffdeae3ff73b1266c94 (patch)
treedc95e53a5da9f790ec76b7bc22c860e64b9fd477 /_preamble_bbl.tex
parente0fff70aec7a11ad6d7a3f1d22bd52dad5b7a0bf (diff)
downloadcourses-639318d6e7443445fe3f9ffdeae3ff73b1266c94.tar.gz
new biblatex engine
Diffstat (limited to '_preamble_bbl.tex')
-rw-r--r--_preamble_bbl.tex140
1 files changed, 120 insertions, 20 deletions
diff --git a/_preamble_bbl.tex b/_preamble_bbl.tex
index 383f396..c0e41fa 100644
--- a/_preamble_bbl.tex
+++ b/_preamble_bbl.tex
@@ -1,21 +1,121 @@
1\usepackage[style=footnote-dw, xref=true, loccittracker, opcittracker, 1% biblatex-dw:
2autopunct=false, ibidemfont=italic, idemfont=italic, 2% \usepackage[style=footnote-dw, xref=true, loccittracker, opcittracker,
3citeauthorname=firstfull, idembibformat=dash, nopublisher=false, 3% autopunct=false, ibidemfont=italic, idemfont=italic,
4annotation=true, pageref=true, journalnumber=date, 4% citeauthorname=firstfull, idembibformat=dash, nopublisher=false,
5acronyms=true]{biblatex} 5% annotation=true, pageref=true, journalnumber=date,
6 6% acronyms=true]{biblatex}
7\DefineBibliographyExtras{french}{% 7
8 \renewcommand{\mkbibnamefamily}[1]{#1}% 8% \renewcommand{\mkbibacro}[1]{%
9} 9% \textls[55]{\scalefont{0.95}#1}\isdot}
10\renewcommand{\mkbibacro}[1]{% 10% \renewcommand{\labelnamepunct}{\addperiod\space}
11 \textls[55]{\scalefont{0.95}#1}\isdot} 11% \DeclareLanguageMapping{french}{french-dw}
12\renewcommand{\labelnamepunct}{\addperiod\space} 12% \DeclareFieldFormat[book]{title}{\mkbibemph{#1}}
13\DeclareLanguageMapping{french}{french-dw} 13% \DeclareFieldFormat[book]{citetitle}{\mkbibemph{#1}}
14\DeclareFieldFormat[book]{title}{\mkbibemph{#1}} 14% \DeclareFieldFormat[article]{title}{\mkbibquote{#1}}
15\DeclareFieldFormat[book]{citetitle}{\mkbibemph{#1}} 15% \DeclareFieldFormat[article]{citetitle}{\mkbibquote{#1}}
16\DeclareFieldFormat[article]{title}{\mkbibquote{#1}} 16% \DeclareFieldFormat[inreference]{citetitle}{\mkbibquote{#1}}
17\DeclareFieldFormat[article]{citetitle}{\mkbibquote{#1}} 17% \DeclareFieldFormat{journaltitle}{\mkbibemph{#1}}
18\DeclareFieldFormat[inreference]{citetitle}{\mkbibquote{#1}} 18% \DeclareFieldFormat{citejournaltitle}{\mkbibemph{#1}}
19\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}} 19
20\DeclareFieldFormat{citejournaltitle}{\mkbibemph{#1}} 20\usepackage[style=ext-verbose-inote]{biblatex}
21
22% \DefineBibliographyExtras{french}{%
23% \renewcommand{\mkbibnamefamily}[1]{#1}%
24% }
25
21\addbibresource{../bibliography.bib} 26\addbibresource{../bibliography.bib}
27
28% Automatically cite authors in full at first, then only by last
29% name. See https://tex.stackexchange.com/a/314708
30\makeatletter
31\newrobustcmd*{\cbx@nametracker@global}[1]{%
32 \xifinlistcs{#1}{cbx@bseen@names@\the\c@refsection}
33 {}
34 {\listcsxadd{cbx@bseen@names@\the\c@refsection}{#1}}}
35
36\newrobustcmd*{\cbx@nametracker@context}[1]{%
37 \iftoggle{blx@footnote}
38 {\xifinlistcs{#1}{cbx@fseen@names@\the\c@refsection}
39 {}
40 {\listcsxadd{cbx@fseen@names@\the\c@refsection}{#1}}}
41 {\xifinlistcs{#1}{cbx@bseen@names@\the\c@refsection}
42 {}
43 {\listcsxadd{cbx@bseen@names@\the\c@refsection}{#1}}}}
44
45\newrobustcmd*{\cbx@ifnameseen@global}[1]{%
46 \xifinlistcs{#1}{cbx@bseen@names@\the\c@refsection}}
47
48\newrobustcmd*{\cbx@ifnameseen@context}[1]{%
49 \iftoggle{blx@footnote}%
50 {\xifinlistcs{#1}{cbx@fseen@names@\the\c@refsection}}%
51 {\xifinlistcs{#1}{cbx@bseen@names@\the\c@refsection}}}
52
53\DeclareBibliographyOption[string]{nametracker}[true]{%
54 \ifcsdef{blx@opt@nametracker@#1}
55 {\csuse{blx@opt@nametracker@#1}}
56 {\blx@err@invopt{nametracker=#1}{}}}
57
58\def\blx@opt@nametracker@global{%
59 \let\cbx@ifnameseen\cbx@ifnameseen@global
60 \let\cbx@nametracker\cbx@nametracker@global}
61
62\let\blx@opt@nametracker@true\blx@opt@nametracker@global
63
64\def\blx@opt@nametracker@false{%
65 \protected\long\def\cbx@ifnameseen##1##2##3{##3}%
66 \let\cbx@nametracker\relax}
67
68\def\blx@opt@nametracker@context{%
69 \let\cbx@ifnameseen\cbx@ifnameseen@context
70 \let\cbx@nametracker\cbx@nametracker@context}
71
72\appto\blx@secinit{%
73 \ifcsundef{cbx@bseen@names@\the\c@refsection}
74 {\global\cslet{cbx@bseen@names@\the\c@refsection}\@empty}
75 {}%
76 \ifcsundef{cbx@fseen@names@\the\c@refsection}
77 {\global\cslet{cbx@fseen@names@\the\c@refsection}\@empty}
78 {}}
79
80\InitializeCitationStyle{%
81 \global\cslet{cbx@bseen@names@\the\c@refsection}\@empty
82 \global\cslet{cbx@fseen@names@\the\c@refsection}\@empty}
83
84\ExecuteBibliographyOptions{nametracker=context}
85
86\DeclareNameFormat{labelname}{%
87 \cbx@ifnameseen{\thefield{hash}}
88 {\ifcase\value{uniquename}%
89 \usebibmacro{name:family}
90 {\namepartfamily}
91 {\namepartgiven}
92 {\namepartprefix}
93 {\namepartsuffix}%
94 \or
95 \ifuseprefix
96 {\usebibmacro{name:given-family}
97 {\namepartfamily}
98 {\namepartgiveni}
99 {\namepartprefix}
100 {\namepartsuffixi}}
101 {\usebibmacro{name:given-family}
102 {\namepartfamily}
103 {\namepartgiveni}
104 {\namepartprefixi}
105 {\namepartsuffixi}}%
106 \or
107 \usebibmacro{name:given-family}
108 {\namepartfamily}
109 {\namepartgiven}
110 {\namepartprefix}
111 {\namepartsuffix}%
112 \fi}
113 {\usebibmacro{name:given-family}
114 {\namepartfamily}
115 {\namepartgiven}
116 {\namepartprefix}
117 {\namepartsuffix}%
118 \cbx@nametracker{\thefield{hash}}}
119 \usebibmacro{name:andothers}}
120\makeatother
121