summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-philosophy/philosophy-verbose.cbx
blob: 24253e2033ae2b94cc9b4aec7290c381e3c03219 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
% $Id: philosophy-verbose.cbx,v 0.7c 2011/05/16 17:00:00 15:42:33 valbusa beta $
%	Copyright 2009-2011 Ivan Valbusa. This package is author-maintained. 
%	Permission is granted to copy, distribute and/or modify this software under the 
%	terms of the LaTeX Project Public License, version 1.3c 
%	http://www.ctan.org/tex-archive/macros/latex/base/lppl.txt.

\ProvidesFile{philosophy-verbose.cbx}
[$Id: philosophy-verbose.cbx,v 0.7c 2011/05/16 valbusa beta $]

\RequireCitationStyle{verbose-trad2}

\newtoggle{cbx:scauthorscite}
\newtoggle{cbx:latinemph}
\newtoggle{cbx:commacit}
\DeclareBibliographyOption{scauthorscite}[true]{%
  \settoggle{cbx:scauthorscite}{#1}}
\DeclareBibliographyOption{latinemph}[true]{%
  \settoggle{cbx:latinemph}{#1}}
\DeclareBibliographyOption{commacit}[true]{%
  \settoggle{cbx:commacit}{#1}}
\ExecuteBibliographyOptions{%
	idemtracker=false,
	loccittracker=strict,
	scauthorscite=false,
	latinemph=false,
	commacit=false}

\AtEveryCite{%
  \togglefalse{bbx:annotation}
  \iftoggle{cbx:latinemph}{\renewcommand*{\mkibid}{\emph}}{}%
 \iftoggle{cbx:scauthorscite}{\DeclareNameFormat{labelname}{%
  \ifcase\value{uniquename}%
    \usebibmacro{name:last}{\textsc{#1}}{\textsc{#3}}{\textsc{#5}}{\textsc{#7}}%
  \or
    \ifuseprefix
      {\usebibmacro{name:first-last}{\textsc{#1}}{\textsc{#4}}{\textsc{#5}}{\textsc{#8}}}
      {\usebibmacro{name:first-last}{\textsc{#1}}{\textsc{#4}}{\textsc{#6}}{\textsc{#8}}}%
  \or
    \usebibmacro{name:first-last}{\textsc{#1}}{\textsc{#3}}{\textsc{#5}}{\textsc{#7}}%
  \fi
  \usebibmacro{name:andothers}}}{}}

\DeclareNameFormat{scdefault}{%
  \iffirstinits
    {\usebibmacro{name:first-last}{\textsc{#1}}{\textsc{#4}}{\textsc{#5}}{\textsc{#7}}}
    {\ifblank{#3}{\usebibmacro{name:first-last}{\textsc{#1}}{#3}{#5}{\textsc{#7}}}{\usebibmacro{name:first-last}{\textsc{#1}}{\textsc{#3}}{\textsc{#5}}{\textsc{#7}}}}%
  \usebibmacro{name:andothers}}

%		MACROS
%***********************************
\newbibmacro*{cite:loccit}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \bibstring[\mkibid]{loccit}}}%
  \global\toggletrue{cbx:loccit}}
  
\renewbibmacro*{cite:ibid}{%
 \ifloccit
   {\usebibmacro{cite:loccit}}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \bibstring[\mkibid]{ibidem}}}}}%

 \renewbibmacro*{cite:title}{%
 \ifsingletitle{\bibstring[\mkibid]{opcit}}{
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
    \iftoggle{cbx:commacit}{\setunit{\addcomma\space}}
    {\setunit{\addspace\midsentence}}}%
      \bibstring{cit}\midsentence}}

 \renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \global\toggletrue{cbx:fullcite}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\iftoggle{cbx:scauthorscite}{\DeclareNameAlias{sortname}{scdefault}}{\DeclareNameAlias{sortname}{default}}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\newbibmacro*{ccite}{% 
  \global\togglefalse{cbx:loccit}% 
  \bibhypertarget{cite\the\value{instcount}}{% 
    \ifciteseen 
      {\iffieldundef{shorthand} 
         {\ifciteibid 
            {\usebibmacro{cite:ibid}} 
            {\usebibmacro{cite:title}}% 
     \usebibmacro{cite:save}} 
         {\usebibmacro{cite:shorthand}}} 
      {\usebibmacro{ccite:full}% 
       \usebibmacro{cite:save}}}} 

\newbibmacro*{ccite:full}{% 
  \renewbibmacro*{author}{}% 
  \renewbibmacro*{editor}{}% 
  \renewbibmacro*{translator}{}% 
  \renewbibmacro*{editor+others}{}% 
  \printtext[bibhypertarget]{% 
    \usedriver 
      {\DeclareNameAlias{sortname}{default}} 
      {\thefield{entrytype}}}% 
  \usebibmacro{shorthandintro}} 
    
%		COMMANDS
%***********************************
\DeclareCiteCommand{\ccite} 
  {\usebibmacro{prenote}} 
  {\usebibmacro{citeindex}% 
   \usebibmacro{ccite}} 
  {\multicitedelim} 
  {\usebibmacro{cite:postnote}} 

\DeclareCiteCommand{\cbx@crossref}
  {\let\scshape\normalfont}% per evitare il maiuscoletto all'interno della voce
  {\ifciteseen{\usebibmacro{editor+others}%
  \setunit*{\addcomma\space}\printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
       \iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
    {\setunit{\addspace\midsentence}}%
        \bibstring{cit}}}{\usebibmacro{incollection:full}}}%
  {}%
  {}%	

\DeclareCiteCommand{\cbx@inbookcrossref}
  {\let\scshape\normalfont}% per evitare il maiuscoletto all'interno della voce
  {\ifciteseen{\usebibmacro{bybookauthor}%
  \setunit*{\addcomma\space}\printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
        \iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
    {\setunit{\addspace\midsentence}}%
    \bibstring{cit}}}{\usebibmacro{inbook:full}}}%
  {}%
  {}%

\endinput