bookvvmrus.cbx 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. \ProvidesFile{bookvvmrus.cbx}
  2. [\abx@cbxid]
  3. \ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,autocite=inline}
  4. %%=================================================
  5. \renewcommand*{\multicitedelim}{\addcomma\space}
  6. %%=================================================
  7. \renewcommand*{\iffinalcitedelim}{\iflastcitekey}
  8. \newbool{cbx:parens}
  9. \newbibmacro*{cite}{%
  10. \iffieldundef{shorthand}
  11. {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
  12. {\usebibmacro{cite:label}%
  13. \setunit{\printdelim{nonameyeardelim}}}
  14. %{\printnames{labelname}%
  15. {\printnames{labelyear}%
  16. \setunit{\printdelim{nameyeardelim}}}%
  17. \usebibmacro{cite:labelyear+extrayear}}
  18. {\usebibmacro{cite:shorthand}}%
  19. \ifkeyword{starred}{*}{}\ifkeyword{addedByTranslator}{\textdegree}{}}
  20. \newbibmacro*{citeyear}{%
  21. \iffieldundef{shorthand}
  22. {\iffieldundef{labelyear}
  23. {\usebibmacro{cite:label}}
  24. {\usebibmacro{cite:labelyear+extrayear}}}
  25. {\usebibmacro{cite:shorthand}}}
  26. \newbibmacro*{textcite}{%
  27. \ifnameundef{labelname}
  28. {\iffieldundef{shorthand}
  29. {\usebibmacro{cite:label}%
  30. \setunit{%
  31. \global\booltrue{cbx:parens}%
  32. \printdelim{nonameyeardelim}\bibopenparen}%
  33. \ifnumequal{\value{citecount}}{1}
  34. {\usebibmacro{prenote}}
  35. {}%
  36. \usebibmacro{cite:labelyear+extrayear}}
  37. {\usebibmacro{cite:shorthand}}}
  38. {\printnames{labelname}%
  39. \setunit{%
  40. \global\booltrue{cbx:parens}%
  41. \printdelim{nameyeardelim}\bibopenparen}%
  42. \ifnumequal{\value{citecount}}{1}
  43. {\usebibmacro{prenote}}
  44. {}%
  45. \usebibmacro{citeyear}}}
  46. \newbibmacro*{cite:shorthand}{%
  47. \printtext[bibhyperref]{\printfield{shorthand}}}
  48. \newbibmacro*{cite:label}{%
  49. \iffieldundef{label}
  50. {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
  51. {\printtext[bibhyperref]{\printfield{label}}}}
  52. % Inside \printtext, argumentless macros also need '%' afterwards
  53. % otherwise the newlines are spaces
  54. \newbibmacro*{cite:labelyear+extrayear}{%
  55. \iffieldundef{labelyear}
  56. {}
  57. {\printtext[bibhyperref]{%
  58. \ifdefstring\blx@dateformat@labeldate{edtf}
  59. {}
  60. {\datecircaprint}%
  61. \dateeraprintpre{labelyear}%
  62. \printfield{labelyear}%
  63. \printfield{extrayear}%
  64. \dateuncertainprint%
  65. \iffieldsequal{labeldateera}{labelenddateera}{}
  66. {\dateeraprint{labelyear}}%
  67. \ifdefstring\blx@dateformat@labeldate{edtf}
  68. {\datecircaprintedtf}
  69. {}%
  70. \iffieldundef{labelendyear}
  71. {}
  72. {\iffieldsequal{labelyear}{labelendyear}{}
  73. {\ifdefstring\blx@dateformat@labeldate{edtf}
  74. {\slash}% strict EDTF
  75. {\bibdaterangesep
  76. \enddatecircaprint}%
  77. \dateeraprintpre{labelendyear}%
  78. \printfield{labelendyear}%
  79. \enddateuncertainprint
  80. \ifdefstring\blx@dateformat@labeldate{edtf}
  81. {\enddatecircaprintedtf}
  82. {}%
  83. \dateeraprint{labelendyear}}}}}}
  84. \newbibmacro*{textcite:postnote}{%
  85. \iffieldundef{postnote}
  86. {\ifbool{cbx:parens}
  87. {\bibcloseparen}
  88. {}}
  89. {\ifbool{cbx:parens}
  90. {\setunit{\postnotedelim}}
  91. {\setunit{\extpostnotedelim\bibopenparen}}%
  92. \printfield{postnote}\bibcloseparen}}
  93. \DeclareCiteCommand{\cite}
  94. {\lbrack\usebibmacro{prenote}}%
  95. {\usebibmacro{citeindex}%
  96. \usebibmacro{cite}}
  97. {\multicitedelim}
  98. {\usebibmacro{postnote}\rbrack}
  99. \DeclareCiteCommand*{\cite}
  100. {\usebibmacro{prenote}}%
  101. {\usebibmacro{citeindex}%
  102. \usebibmacro{citeyear}}
  103. {\multicitedelim}
  104. {\usebibmacro{postnote}}
  105. \DeclareCiteCommand{\parencite}[\mkbibparens]
  106. {\usebibmacro{prenote}}%
  107. {\usebibmacro{citeindex}%
  108. \usebibmacro{cite}}
  109. {\multicitedelim}
  110. {\usebibmacro{postnote}}
  111. \DeclareCiteCommand*{\parencite}[\mkbibparens]
  112. {\usebibmacro{prenote}}
  113. {\usebibmacro{citeindex}%
  114. \usebibmacro{citeyear}}
  115. {\multicitedelim}
  116. {\usebibmacro{postnote}}
  117. \DeclareCiteCommand{\footcite}[\mkbibfootnote]
  118. {\usebibmacro{prenote}}
  119. {\usebibmacro{citeindex}%
  120. \usebibmacro{cite}}
  121. {\multicitedelim}
  122. {\usebibmacro{postnote}}
  123. \DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
  124. {\usebibmacro{prenote}}
  125. {\usebibmacro{citeindex}%
  126. \usebibmacro{cite}}
  127. {\multicitedelim}
  128. {\usebibmacro{postnote}}
  129. \DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote]
  130. {\usebibmacro{prenote}}
  131. {\usebibmacro{citeindex}%
  132. \usebibmacro{cite}}
  133. {\multicitedelim}
  134. {\usebibmacro{postnote}}
  135. \DeclareCiteCommand{\textcite}
  136. {\boolfalse{cbx:parens}}
  137. {\usebibmacro{citeindex}%
  138. \iffirstcitekey
  139. {\setcounter{textcitetotal}{1}}
  140. {\stepcounter{textcitetotal}%
  141. \textcitedelim}%
  142. \usebibmacro{textcite}}
  143. {\ifbool{cbx:parens}
  144. {\bibcloseparen\global\boolfalse{cbx:parens}}
  145. {}}
  146. {\usebibmacro{textcite:postnote}}
  147. \DeclareMultiCiteCommand{\textcites}{\textcite}{}
  148. %%==============================================================================
  149. \DeclareLabeldate{%
  150. \field{pubstate}
  151. \field{date}
  152. \field{year}
  153. \field{eventdate}
  154. \field{origdate}
  155. \field{urldate}
  156. \literal{nodate}
  157. }
  158. %%==============================================================================
  159. \endinput