bookvvmrus.bbx 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041
  1. \ProvidesFile{bookvvmrus.bbx}
  2. [\abx@bbxid]
  3. \newtoggle{bbx:isbn}
  4. \newtoggle{bbx:url}
  5. \newtoggle{bbx:doi}
  6. \newtoggle{bbx:eprint}
  7. \newtoggle{bbx:related}
  8. \DeclareBibliographyOption[boolean]{isbn}[true]{%
  9. \settoggle{bbx:isbn}{#1}}
  10. \DeclareBibliographyOption[boolean]{url}[true]{%
  11. \settoggle{bbx:url}{#1}}
  12. \DeclareBibliographyOption[boolean]{doi}[true]{%
  13. \settoggle{bbx:doi}{#1}}
  14. \DeclareBibliographyOption[boolean]{eprint}[true]{%
  15. \settoggle{bbx:eprint}{#1}}
  16. \DeclareBibliographyOption[boolean]{related}[true]{%
  17. \settoggle{bbx:related}{#1}}
  18. \ExecuteBibliographyOptions{isbn,url,doi,eprint,related}
  19. \newbibmacro*{begentry}{}
  20. \newbibmacro*{finentry}{\finentry}
  21. \DeclareBibliographyDriver{article}{%
  22. \usebibmacro{bibindex}%
  23. \usebibmacro{begentry}%
  24. \usebibmacro{author}%
  25. \printfield{labelyear}%
  26. \ifkeyword{addedByTranslator}{\textdegree}{}%
  27. \ifkeyword{addedByReTyper}{\textsuperscript{rt}}{}.\kern1ex%
  28. % \setunit{\printdelim{nametitledelim}}\newblock
  29. \usebibmacro{title}%
  30. \newunit
  31. \printlist{language}%
  32. \newunit\newblock
  33. \usebibmacro{byauthor}%
  34. \newunit\newblock
  35. \usebibmacro{bytranslator+others}%
  36. \newunit\newblock
  37. \printfield{version}%
  38. \newunit\newblock
  39. \usebibmacro{journal+issuetitle}%
  40. \newunit
  41. \usebibmacro{byeditor+others}%
  42. \newunit
  43. \usebibmacro{note+pages}%
  44. \newunit\newblock
  45. \iftoggle{bbx:isbn}
  46. {\printfield{issn}}
  47. {}%
  48. \newunit\newblock
  49. \usebibmacro{doi+eprint+url}%
  50. \newunit\newblock
  51. \usebibmacro{addendum}%
  52. \setunit{\bibpagerefpunct}\newblock
  53. \usebibmacro{pageref}%
  54. \newunit\newblock
  55. \iftoggle{bbx:related}
  56. {\usebibmacro{related:init}%
  57. \usebibmacro{related}}
  58. {}%
  59. \usebibmacro{finentry}}
  60. \DeclareBibliographyDriver{book}{%
  61. \usebibmacro{bibindex}%
  62. \usebibmacro{begentry}%
  63. \usebibmacro{author}%
  64. \printfield{labelyear}%
  65. \ifkeyword{addedByTranslator}{\textdegree}{}%
  66. \ifkeyword{addedByReTyper}{\textsuperscript{rt}}{}.\kern1ex%
  67. % \setunit{}\newblock
  68. \usebibmacro{maintitle+title}%
  69. \newunit
  70. \printlist{language}%
  71. \newunit\newblock
  72. \usebibmacro{byauthor}%
  73. \newunit\newblock
  74. \usebibmacro{byeditor+others}%
  75. \newunit\newblock
  76. \printfield{edition}%
  77. \newunit
  78. \iffieldundef{maintitle}
  79. {\printfield{volume}%
  80. \printfield{part}}
  81. {}%
  82. \newunit
  83. \printfield{volumes}%
  84. \newunit\newblock
  85. \usebibmacro{series+number}%
  86. \newunit\newblock
  87. \printfield{note}%
  88. \newunit\newblock
  89. \usebibmacro{publisher+location+date}%
  90. \newunit\newblock
  91. \usebibmacro{chapter+pages}%
  92. \newunit
  93. \printfield{pagetotal}%
  94. \newunit\newblock
  95. \iftoggle{bbx:isbn}
  96. {\printfield{isbn}}
  97. {}%
  98. \newunit\newblock
  99. \usebibmacro{doi+eprint+url}%
  100. \newunit\newblock
  101. \usebibmacro{addendum}%
  102. \setunit{\bibpagerefpunct}\newblock
  103. \usebibmacro{pageref}%
  104. \newunit\newblock
  105. \iftoggle{bbx:related}
  106. {\usebibmacro{related:init}%
  107. \usebibmacro{related}}
  108. {}%
  109. \usebibmacro{finentry}}
  110. \DeclareBibliographyDriver{booklet}{%
  111. \usebibmacro{bibindex}%
  112. \usebibmacro{begentry}%
  113. \usebibmacro{author/editor+others/translator+others}%
  114. \setunit{\printdelim{nametitledelim}}\newblock
  115. \usebibmacro{title}%
  116. \newunit
  117. \printlist{language}%
  118. \newunit\newblock
  119. \usebibmacro{byauthor}%
  120. \newunit\newblock
  121. \usebibmacro{byeditor+others}%
  122. \newunit\newblock
  123. \printfield{howpublished}%
  124. \newunit\newblock
  125. \printfield{type}%
  126. \newunit\newblock
  127. \printfield{note}%
  128. \newunit\newblock
  129. \usebibmacro{location+date}%
  130. \newunit\newblock
  131. \usebibmacro{chapter+pages}%
  132. \newunit
  133. \printfield{pagetotal}%
  134. \newunit\newblock
  135. \usebibmacro{doi+eprint+url}%
  136. \newunit\newblock
  137. \usebibmacro{addendum+pubstate}%
  138. \setunit{\bibpagerefpunct}\newblock
  139. \usebibmacro{pageref}%
  140. \newunit\newblock
  141. \iftoggle{bbx:related}
  142. {\usebibmacro{related:init}%
  143. \usebibmacro{related}}
  144. {}%
  145. \usebibmacro{finentry}}
  146. \DeclareBibliographyDriver{collection}{%
  147. \usebibmacro{bibindex}%
  148. \usebibmacro{begentry}%
  149. \usebibmacro{editor+others}%
  150. \setunit{\printdelim{nametitledelim}}\newblock
  151. \usebibmacro{maintitle+title}%
  152. \newunit
  153. \printlist{language}%
  154. \newunit\newblock
  155. \usebibmacro{byeditor+others}%
  156. \newunit\newblock
  157. \printfield{edition}%
  158. \newunit
  159. \iffieldundef{maintitle}
  160. {\printfield{volume}%
  161. \printfield{part}}
  162. {}%
  163. \newunit
  164. \printfield{volumes}%
  165. \newunit\newblock
  166. \usebibmacro{series+number}%
  167. \newunit\newblock
  168. \printfield{note}%
  169. \newunit\newblock
  170. \usebibmacro{publisher+location+date}%
  171. \newunit\newblock
  172. \usebibmacro{chapter+pages}%
  173. \newunit
  174. \printfield{pagetotal}%
  175. \newunit\newblock
  176. \iftoggle{bbx:isbn}
  177. {\printfield{isbn}}
  178. {}%
  179. \newunit\newblock
  180. \usebibmacro{doi+eprint+url}%
  181. \newunit\newblock
  182. \usebibmacro{addendum+pubstate}%
  183. \setunit{\bibpagerefpunct}\newblock
  184. \usebibmacro{pageref}%
  185. \newunit\newblock
  186. \iftoggle{bbx:related}
  187. {\usebibmacro{related:init}%
  188. \usebibmacro{related}}
  189. {}%
  190. \usebibmacro{finentry}}
  191. \DeclareBibliographyDriver{inbook}{%
  192. \usebibmacro{bibindex}%
  193. \usebibmacro{begentry}%
  194. \usebibmacro{author/translator+others}%
  195. \setunit{\printdelim{nametitledelim}}\newblock
  196. \usebibmacro{title}%
  197. \newunit
  198. \printlist{language}%
  199. \newunit\newblock
  200. \usebibmacro{byauthor}%
  201. \newunit\newblock
  202. \usebibmacro{in:}%
  203. \usebibmacro{bybookauthor}%
  204. \newunit\newblock
  205. \usebibmacro{maintitle+booktitle}%
  206. \newunit\newblock
  207. \usebibmacro{byeditor+others}%
  208. \newunit\newblock
  209. \printfield{edition}%
  210. \newunit
  211. \iffieldundef{maintitle}
  212. {\printfield{volume}%
  213. \printfield{part}}
  214. {}%
  215. \newunit
  216. \printfield{volumes}%
  217. \newunit\newblock
  218. \usebibmacro{series+number}%
  219. \newunit\newblock
  220. \printfield{note}%
  221. \newunit\newblock
  222. \usebibmacro{publisher+location+date}%
  223. \newunit\newblock
  224. \usebibmacro{chapter+pages}%
  225. \newunit\newblock
  226. \iftoggle{bbx:isbn}
  227. {\printfield{isbn}}
  228. {}%
  229. \newunit\newblock
  230. \usebibmacro{doi+eprint+url}%
  231. \newunit\newblock
  232. \usebibmacro{addendum+pubstate}%
  233. \setunit{\bibpagerefpunct}\newblock
  234. \usebibmacro{pageref}%
  235. \newunit\newblock
  236. \iftoggle{bbx:related}
  237. {\usebibmacro{related:init}%
  238. \usebibmacro{related}}
  239. {}%
  240. \usebibmacro{finentry}}
  241. \DeclareBibliographyDriver{incollection}{%
  242. \usebibmacro{bibindex}%
  243. \usebibmacro{begentry}%
  244. \usebibmacro{author/translator+others}%
  245. \setunit{\printdelim{nametitledelim}}\newblock
  246. \usebibmacro{title}%
  247. \newunit
  248. \printlist{language}%
  249. \newunit\newblock
  250. \usebibmacro{byauthor}%
  251. \newunit\newblock
  252. \usebibmacro{in:}%
  253. \usebibmacro{maintitle+booktitle}%
  254. \newunit\newblock
  255. \usebibmacro{byeditor+others}%
  256. \newunit\newblock
  257. \printfield{edition}%
  258. \newunit
  259. \iffieldundef{maintitle}
  260. {\printfield{volume}%
  261. \printfield{part}}
  262. {}%
  263. \newunit
  264. \printfield{volumes}%
  265. \newunit\newblock
  266. \usebibmacro{series+number}%
  267. \newunit\newblock
  268. \printfield{note}%
  269. \newunit\newblock
  270. \usebibmacro{publisher+location+date}%
  271. \newunit\newblock
  272. \usebibmacro{chapter+pages}%
  273. \newunit\newblock
  274. \iftoggle{bbx:isbn}
  275. {\printfield{isbn}}
  276. {}%
  277. \newunit\newblock
  278. \usebibmacro{doi+eprint+url}%
  279. \newunit\newblock
  280. \usebibmacro{addendum+pubstate}%
  281. \setunit{\bibpagerefpunct}\newblock
  282. \usebibmacro{pageref}%
  283. \newunit\newblock
  284. \iftoggle{bbx:related}
  285. {\usebibmacro{related:init}%
  286. \usebibmacro{related}}
  287. {}%
  288. \usebibmacro{finentry}}
  289. \DeclareBibliographyDriver{inproceedings}{%
  290. \usebibmacro{bibindex}%
  291. \usebibmacro{begentry}%
  292. \usebibmacro{author/translator+others}%
  293. \setunit{\printdelim{nametitledelim}}\newblock
  294. \usebibmacro{title}%
  295. \newunit
  296. \printlist{language}%
  297. \newunit\newblock
  298. \usebibmacro{byauthor}%
  299. \newunit\newblock
  300. \usebibmacro{in:}%
  301. \usebibmacro{maintitle+booktitle}%
  302. \newunit\newblock
  303. \usebibmacro{event+venue+date}%
  304. \newunit\newblock
  305. \usebibmacro{byeditor+others}%
  306. \newunit\newblock
  307. \iffieldundef{maintitle}
  308. {\printfield{volume}%
  309. \printfield{part}}
  310. {}%
  311. \newunit
  312. \printfield{volumes}%
  313. \newunit\newblock
  314. \usebibmacro{series+number}%
  315. \newunit\newblock
  316. \printfield{note}%
  317. \newunit\newblock
  318. \printlist{organization}%
  319. \newunit
  320. \usebibmacro{publisher+location+date}%
  321. \newunit\newblock
  322. \usebibmacro{chapter+pages}%
  323. \newunit\newblock
  324. \iftoggle{bbx:isbn}
  325. {\printfield{isbn}}
  326. {}%
  327. \newunit\newblock
  328. \usebibmacro{doi+eprint+url}%
  329. \newunit\newblock
  330. \usebibmacro{addendum+pubstate}%
  331. \setunit{\bibpagerefpunct}\newblock
  332. \usebibmacro{pageref}%
  333. \newunit\newblock
  334. \iftoggle{bbx:related}
  335. {\usebibmacro{related:init}%
  336. \usebibmacro{related}}
  337. {}%
  338. \usebibmacro{finentry}}
  339. \DeclareBibliographyDriver{manual}{%
  340. \usebibmacro{bibindex}%
  341. \usebibmacro{begentry}%
  342. \usebibmacro{author/editor}%
  343. \setunit{\printdelim{nametitledelim}}\newblock
  344. \usebibmacro{title}%
  345. \newunit
  346. \printlist{language}%
  347. \newunit\newblock
  348. \usebibmacro{byauthor}%
  349. \newunit\newblock
  350. \usebibmacro{byeditor}%
  351. \newunit\newblock
  352. \printfield{edition}%
  353. \newunit\newblock
  354. \usebibmacro{series+number}%
  355. \newunit\newblock
  356. \printfield{type}%
  357. \newunit
  358. \printfield{version}%
  359. \newunit
  360. \printfield{note}%
  361. \newunit\newblock
  362. \printlist{organization}%
  363. \newunit
  364. \usebibmacro{publisher+location+date}%
  365. \newunit\newblock
  366. \usebibmacro{chapter+pages}%
  367. \newunit
  368. \printfield{pagetotal}%
  369. \newunit\newblock
  370. \iftoggle{bbx:isbn}
  371. {\printfield{isbn}}
  372. {}%
  373. \newunit\newblock
  374. \usebibmacro{doi+eprint+url}%
  375. \newunit\newblock
  376. \usebibmacro{addendum+pubstate}%
  377. \setunit{\bibpagerefpunct}\newblock
  378. \usebibmacro{pageref}%
  379. \newunit\newblock
  380. \iftoggle{bbx:related}
  381. {\usebibmacro{related:init}%
  382. \usebibmacro{related}}
  383. {}%
  384. \usebibmacro{finentry}}
  385. \DeclareBibliographyDriver{misc}{%
  386. \usebibmacro{bibindex}%
  387. \usebibmacro{begentry}%
  388. \usebibmacro{author/editor+others/translator+others}%
  389. \setunit{\printdelim{nametitledelim}}\newblock
  390. \usebibmacro{title}%
  391. \newunit
  392. \printlist{language}%
  393. \newunit\newblock
  394. \usebibmacro{byauthor}%
  395. \newunit\newblock
  396. \usebibmacro{byeditor+others}%
  397. \newunit\newblock
  398. \printfield{howpublished}%
  399. \newunit\newblock
  400. \printfield{type}%
  401. \newunit
  402. \printfield{version}%
  403. \newunit
  404. \printfield{note}%
  405. \newunit\newblock
  406. \usebibmacro{organization+location+date}%
  407. \newunit\newblock
  408. \usebibmacro{doi+eprint+url}%
  409. \newunit\newblock
  410. \usebibmacro{addendum+pubstate}%
  411. \setunit{\bibpagerefpunct}\newblock
  412. \usebibmacro{pageref}%
  413. \newunit\newblock
  414. \iftoggle{bbx:related}
  415. {\usebibmacro{related:init}%
  416. \usebibmacro{related}}
  417. {}%
  418. \usebibmacro{finentry}}
  419. \DeclareBibliographyDriver{online}{%
  420. \usebibmacro{bibindex}%
  421. \usebibmacro{begentry}%
  422. \usebibmacro{author/editor+others/translator+others}%
  423. \setunit{\printdelim{nametitledelim}}\newblock
  424. \usebibmacro{title}%
  425. \newunit
  426. \printlist{language}%
  427. \newunit\newblock
  428. \usebibmacro{byauthor}%
  429. \newunit\newblock
  430. \usebibmacro{byeditor+others}%
  431. \newunit\newblock
  432. \printfield{version}%
  433. \newunit
  434. \printfield{note}%
  435. \newunit\newblock
  436. \printlist{organization}%
  437. \newunit\newblock
  438. \usebibmacro{date}%
  439. \newunit\newblock
  440. \iftoggle{bbx:eprint}
  441. {\usebibmacro{eprint}}
  442. {}%
  443. \newunit\newblock
  444. \usebibmacro{url+urldate}%
  445. \newunit\newblock
  446. \usebibmacro{addendum+pubstate}%
  447. \setunit{\bibpagerefpunct}\newblock
  448. \usebibmacro{pageref}%
  449. \newunit\newblock
  450. \iftoggle{bbx:related}
  451. {\usebibmacro{related:init}%
  452. \usebibmacro{related}}
  453. {}%
  454. \usebibmacro{finentry}}
  455. \DeclareBibliographyDriver{patent}{%
  456. \usebibmacro{bibindex}%
  457. \usebibmacro{begentry}%
  458. \usebibmacro{author}%
  459. \setunit{\printdelim{nametitledelim}}\newblock
  460. \usebibmacro{title}%
  461. \newunit
  462. \printlist{language}%
  463. \newunit\newblock
  464. \usebibmacro{byauthor}%
  465. \newunit\newblock
  466. \printfield{type}%
  467. \setunit*{\addspace}%
  468. \printfield{number}%
  469. \iflistundef{location}
  470. {}
  471. {\setunit*{\addspace}%
  472. \printtext[parens]{%
  473. \printlist[][-\value{listtotal}]{location}}}%
  474. \newunit\newblock
  475. \usebibmacro{byholder}%
  476. \newunit\newblock
  477. \printfield{note}%
  478. \newunit\newblock
  479. \usebibmacro{date}%
  480. \newunit\newblock
  481. \usebibmacro{doi+eprint+url}%
  482. \newunit\newblock
  483. \usebibmacro{addendum+pubstate}%
  484. \setunit{\bibpagerefpunct}\newblock
  485. \usebibmacro{pageref}%
  486. \newunit\newblock
  487. \iftoggle{bbx:related}
  488. {\usebibmacro{related:init}%
  489. \usebibmacro{related}}
  490. {}%
  491. \usebibmacro{finentry}}
  492. \DeclareBibliographyDriver{periodical}{%
  493. \usebibmacro{bibindex}%
  494. \usebibmacro{begentry}%
  495. \usebibmacro{editor}%
  496. \setunit{\printdelim{nametitledelim}}\newblock
  497. \usebibmacro{title+issuetitle}%
  498. \newunit
  499. \printlist{language}%
  500. \newunit\newblock
  501. \usebibmacro{byeditor}%
  502. \newunit\newblock
  503. \printfield{note}%
  504. \newunit\newblock
  505. \iftoggle{bbx:isbn}
  506. {\printfield{issn}}
  507. {}%
  508. \newunit\newblock
  509. \usebibmacro{doi+eprint+url}%
  510. \newunit\newblock
  511. \usebibmacro{addendum+pubstate}%
  512. \setunit{\bibpagerefpunct}\newblock
  513. \usebibmacro{pageref}%
  514. \newunit\newblock
  515. \iftoggle{bbx:related}
  516. {\usebibmacro{related:init}%
  517. \usebibmacro{related}}
  518. {}%
  519. \usebibmacro{finentry}}
  520. \DeclareBibliographyDriver{proceedings}{%
  521. \usebibmacro{bibindex}%
  522. \usebibmacro{begentry}%
  523. \usebibmacro{editor+others}%
  524. \setunit{\printdelim{nametitledelim}}\newblock
  525. \usebibmacro{maintitle+title}%
  526. \newunit
  527. \printlist{language}%
  528. \newunit\newblock
  529. \usebibmacro{event+venue+date}%
  530. \newunit\newblock
  531. \usebibmacro{byeditor+others}%
  532. \newunit\newblock
  533. \iffieldundef{maintitle}
  534. {\printfield{volume}%
  535. \printfield{part}}
  536. {}%
  537. \newunit
  538. \printfield{volumes}%
  539. \newunit\newblock
  540. \usebibmacro{series+number}%
  541. \newunit\newblock
  542. \printfield{note}%
  543. \newunit\newblock
  544. \printlist{organization}%
  545. \newunit
  546. \usebibmacro{publisher+location+date}%
  547. \newunit\newblock
  548. \usebibmacro{chapter+pages}%
  549. \newunit
  550. \printfield{pagetotal}%
  551. \newunit\newblock
  552. \iftoggle{bbx:isbn}
  553. {\printfield{isbn}}
  554. {}%
  555. \newunit\newblock
  556. \usebibmacro{doi+eprint+url}%
  557. \newunit\newblock
  558. \usebibmacro{addendum+pubstate}%
  559. \setunit{\bibpagerefpunct}\newblock
  560. \usebibmacro{pageref}%
  561. \newunit\newblock
  562. \iftoggle{bbx:related}
  563. {\usebibmacro{related:init}%
  564. \usebibmacro{related}}
  565. {}%
  566. \usebibmacro{finentry}}
  567. \DeclareBibliographyDriver{report}{%
  568. \usebibmacro{bibindex}%
  569. \usebibmacro{begentry}%
  570. \usebibmacro{author}%
  571. \setunit{\printdelim{nametitledelim}}\newblock
  572. \usebibmacro{title}%
  573. \newunit
  574. \printlist{language}%
  575. \newunit\newblock
  576. \usebibmacro{byauthor}%
  577. \newunit\newblock
  578. \printfield{type}%
  579. \setunit*{\addspace}%
  580. \printfield{number}%
  581. \newunit\newblock
  582. \printfield{version}%
  583. \newunit
  584. \printfield{note}%
  585. \newunit\newblock
  586. \usebibmacro{institution+location+date}%
  587. \newunit\newblock
  588. \usebibmacro{chapter+pages}%
  589. \newunit
  590. \printfield{pagetotal}%
  591. \newunit\newblock
  592. \iftoggle{bbx:isbn}
  593. {\printfield{isrn}}
  594. {}%
  595. \newunit\newblock
  596. \usebibmacro{doi+eprint+url}%
  597. \newunit\newblock
  598. \usebibmacro{addendum+pubstate}%
  599. \setunit{\bibpagerefpunct}\newblock
  600. \usebibmacro{pageref}%
  601. \newunit\newblock
  602. \iftoggle{bbx:related}
  603. {\usebibmacro{related:init}%
  604. \usebibmacro{related}}
  605. {}%
  606. \usebibmacro{finentry}}
  607. \DeclareBibliographyDriver{thesis}{%
  608. \usebibmacro{bibindex}%
  609. \usebibmacro{begentry}%
  610. \usebibmacro{author}%
  611. \setunit{\printdelim{nametitledelim}}\newblock
  612. \usebibmacro{title}%
  613. \newunit
  614. \printlist{language}%
  615. \newunit\newblock
  616. \usebibmacro{byauthor}%
  617. \newunit\newblock
  618. \printfield{note}%
  619. \newunit\newblock
  620. \printfield{type}%
  621. \newunit
  622. \usebibmacro{institution+location+date}%
  623. \newunit\newblock
  624. \usebibmacro{chapter+pages}%
  625. \newunit
  626. \printfield{pagetotal}%
  627. \newunit\newblock
  628. \iftoggle{bbx:isbn}
  629. {\printfield{isbn}}
  630. {}%
  631. \newunit\newblock
  632. \usebibmacro{doi+eprint+url}%
  633. \newunit\newblock
  634. \usebibmacro{addendum+pubstate}%
  635. \setunit{\bibpagerefpunct}\newblock
  636. \usebibmacro{pageref}%
  637. \newunit\newblock
  638. \iftoggle{bbx:related}
  639. {\usebibmacro{related:init}%
  640. \usebibmacro{related}}
  641. {}%
  642. \usebibmacro{finentry}}
  643. \DeclareBibliographyDriver{unpublished}{%
  644. \usebibmacro{bibindex}%
  645. \usebibmacro{begentry}%
  646. \usebibmacro{author}%
  647. \setunit{\printdelim{nametitledelim}}\newblock
  648. \usebibmacro{title}%
  649. \newunit
  650. \printlist{language}%
  651. \newunit\newblock
  652. \usebibmacro{byauthor}%
  653. \newunit\newblock
  654. \printfield{howpublished}%
  655. \newunit\newblock
  656. \printfield{note}%
  657. \newunit\newblock
  658. \usebibmacro{location+date}%
  659. \newunit\newblock
  660. \iftoggle{bbx:url}
  661. {\usebibmacro{url+urldate}}
  662. {}%
  663. \newunit\newblock
  664. \usebibmacro{addendum+pubstate}%
  665. \setunit{\bibpagerefpunct}\newblock
  666. \usebibmacro{pageref}%
  667. \newunit\newblock
  668. \iftoggle{bbx:related}
  669. {\usebibmacro{related:init}%
  670. \usebibmacro{related}}
  671. {}%
  672. \usebibmacro{finentry}}
  673. \DeclareBibliographyDriver{shorthand}{%
  674. \usedriver
  675. {\DeclareNameAlias{sortname}{default}}
  676. {\thefield{entrytype}}%
  677. \finentry}
  678. \DeclareBibliographyDriver{set}{%
  679. \entryset{}{}%
  680. \newunit\newblock
  681. \usebibmacro{setpageref}%
  682. \finentry}
  683. \DeclareBibliographyAlias{mvbook}{book}
  684. \DeclareBibliographyAlias{bookinbook}{inbook}
  685. \DeclareBibliographyAlias{suppbook}{inbook}
  686. \DeclareBibliographyAlias{mvcollection}{collection}
  687. \DeclareBibliographyAlias{suppcollection}{incollection}
  688. \DeclareBibliographyAlias{mvproceedings}{proceedings}
  689. \DeclareBibliographyAlias{reference}{collection}
  690. \DeclareBibliographyAlias{mvreference}{reference}
  691. \DeclareBibliographyAlias{inreference}{incollection}
  692. \DeclareBibliographyAlias{suppperiodical}{article}
  693. \DeclareBibliographyAlias{review}{article}
  694. \DeclareBibliographyAlias{*}{misc}
  695. \newbibmacro*{maintitle+title}{%
  696. \iffieldsequal{maintitle}{title}
  697. {\clearfield{maintitle}%
  698. \clearfield{mainsubtitle}%
  699. \clearfield{maintitleaddon}}
  700. {\iffieldundef{maintitle}
  701. {}
  702. {\usebibmacro{maintitle}%
  703. \newunit\newblock
  704. \iffieldundef{volume}
  705. {}
  706. {\printfield{volume}%
  707. \printfield{part}%
  708. \setunit{\addcolon\space}}}}%
  709. \usebibmacro{title}%
  710. \newunit}
  711. \newbibmacro*{maintitle+booktitle}{%
  712. \iffieldundef{maintitle}
  713. {}
  714. {\usebibmacro{maintitle}%
  715. \newunit\newblock
  716. \iffieldundef{volume}
  717. {}
  718. {\printfield{volume}%
  719. \printfield{part}%
  720. \setunit{\addcolon\space}}}%
  721. \usebibmacro{booktitle}%
  722. \newunit}
  723. \newbibmacro*{journal+issuetitle}{%
  724. \usebibmacro{journal}%
  725. \setunit*{\addspace}%
  726. \iffieldundef{series}
  727. {}
  728. {\newunit
  729. \printfield{series}%
  730. \setunit{\addspace}}%
  731. \usebibmacro{volume+number+eid}%
  732. %\setunit{\addspace}%
  733. %\usebibmacro{issue+date}%
  734. %\setunit{\addcolon\space}%
  735. \setunit{\addcomma\space}%
  736. \usebibmacro{issue}%
  737. \newunit}
  738. \newbibmacro*{volume+number+eid}{%
  739. \printfield{volume}%
  740. \setunit*{\adddot}%
  741. \printfield{number}%
  742. \setunit{\addcomma\space}%
  743. \printfield{eid}}
  744. \newbibmacro*{title+issuetitle}{%
  745. \usebibmacro{periodical}%
  746. \setunit*{\addspace}%
  747. \iffieldundef{series}
  748. {}
  749. {\newunit
  750. \printfield{series}%
  751. \setunit{\addspace}}%
  752. \printfield{volume}%
  753. \setunit*{\adddot}%
  754. \printfield{number}%
  755. \setunit{\addcomma\space}%
  756. \printfield{eid}%
  757. \setunit{\addspace}%
  758. \usebibmacro{issue+date}%
  759. \setunit{\addcolon\space}%
  760. \usebibmacro{issue}%
  761. \newunit}
  762. \newbibmacro*{issue+date}{%
  763. \printtext[parens]{%
  764. \iffieldundef{issue}
  765. {\usebibmacro{date}}
  766. {\printfield{issue}%
  767. \setunit*{\addspace}%
  768. \usebibmacro{date}}}%
  769. \newunit}
  770. \newbibmacro*{event+venue+date}{%
  771. \printfield{eventtitle}%
  772. \newunit
  773. \printfield{eventtitleaddon}%
  774. \ifboolexpr{
  775. test {\iffieldundef{venue}}
  776. and
  777. test {\iffieldundef{eventyear}}
  778. }
  779. {}
  780. {\setunit*{\addspace}%
  781. \printtext[parens]{%
  782. \printfield{venue}%
  783. \setunit*{\addcomma\space}%
  784. \printeventdate}}%
  785. \newunit}
  786. \newbibmacro*{series+number}{%
  787. \printfield{series}%
  788. \setunit*{\addspace}%
  789. \printfield{number}%
  790. \newunit}
  791. \newbibmacro*{publisher+location+date}{%
  792. \printlist{location}%
  793. \iflistundef{publisher}
  794. {\setunit*{\addcomma\space}}
  795. {\setunit*{\addcolon\space}}%
  796. \printlist{publisher}%
  797. \setunit*{\addcomma\space}%
  798. \usebibmacro{date}%
  799. \newunit}
  800. \newbibmacro*{institution+location+date}{%
  801. \printlist{location}%
  802. \iflistundef{institution}
  803. {\setunit*{\addcomma\space}}
  804. {\setunit*{\addcolon\space}}%
  805. \printlist{institution}%
  806. \setunit*{\addcomma\space}%
  807. \usebibmacro{date}%
  808. \newunit}
  809. \newbibmacro*{organization+location+date}{%
  810. \printlist{location}%
  811. \iflistundef{organization}
  812. {\setunit*{\addcomma\space}}
  813. {\setunit*{\addcolon\space}}%
  814. \printlist{organization}%
  815. \setunit*{\addcomma\space}%
  816. \usebibmacro{date}%
  817. \newunit}
  818. \newbibmacro*{location+date}{%
  819. \printlist{location}%
  820. \setunit*{\addcomma\space}%
  821. \usebibmacro{date}%
  822. \newunit}
  823. \newbibmacro*{chapter+pages}{%
  824. \printfield{chapter}%
  825. \setunit{\bibpagespunct}%
  826. \printfield{pages}%
  827. \newunit}
  828. \newbibmacro*{note+pages}{%
  829. \printfield{note}%
  830. \setunit{\bibpagespunct}%
  831. \printfield{pages}%
  832. \newunit}
  833. \newbibmacro*{doi+eprint+url}{%
  834. \iftoggle{bbx:doi}
  835. {\printfield{doi}}
  836. {}%
  837. \newunit\newblock
  838. \iftoggle{bbx:eprint}
  839. {\usebibmacro{eprint}}
  840. {}%
  841. \newunit\newblock
  842. \iftoggle{bbx:url}
  843. {\usebibmacro{url+urldate}}
  844. {}}
  845. \newbibmacro*{addendum+pubstate}{%
  846. \printfield{addendum}%
  847. \newunit\newblock
  848. \printfield{pubstate}}
  849. \newcounter{bbx:relatedcount}
  850. \newcounter{bbx:relatedtotal}
  851. \newbibmacro*{related:init}{%
  852. \csundef{bbx:relatedloop}}
  853. \newbibmacro*{begrelated}{}
  854. \newbibmacro*{endrelated}{}
  855. \newbibmacro*{begrelatedloop}{}
  856. \newbibmacro*{endrelatedloop}{}
  857. \def\ifrelatedloop{%
  858. \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}
  859. or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}
  860. \newbibmacro*{related}{%
  861. \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }
  862. {}
  863. {\usebibmacro{begrelated}%
  864. \def\bbx@tempa{}%
  865. \setcounter{bbx:relatedtotal}{0}%
  866. \def\do##1{%
  867. \entrydata{##1}{%
  868. \ifrelatedloop
  869. {}
  870. {\stepcounter{bbx:relatedtotal}%
  871. \gappto{\bbx@tempa}{##1,}}}}%
  872. \docsvfield{related}%
  873. \restorefield{related}{\bbx@tempa}%
  874. \ifnumgreater{\value{bbx:relatedtotal}}{0}
  875. {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}%
  876. \iffieldundef{clonesourcekey}
  877. {}
  878. {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}%
  879. \setcounter{bbx:relatedcount}{0}%
  880. \def\do{%
  881. \stepcounter{bbx:relatedcount}%
  882. \ifnumgreater{\value{bbx:relatedcount}}{1}
  883. {\ifcsundef{relateddelim\strfield{relatedtype}}
  884. {\printtext{\relateddelim}}
  885. {\printtext{\csuse{relateddelim\strfield{relatedtype}}}}}
  886. {}}%
  887. \ifbibmacroundef{related:\strfield{relatedtype}}
  888. {\appto{\do}{\usebibmacro{related:default}}}
  889. {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}%
  890. \iffieldformatundef{related:\strfield{relatedtype}}
  891. {\def\bbx@tempa{related}}
  892. {\def\bbx@tempa{related:\strfield{relatedtype}}}%
  893. \iffieldformatundef{relatedstring:\strfield{relatedtype}}
  894. {\def\bbx@tempb{relatedstring:default}}
  895. {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}%
  896. \printtext[\bbx@tempa]{%
  897. \usebibmacro{begrelatedloop}%
  898. \iffieldundef{relatedstring}
  899. {\ifboolexpr{
  900. test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}
  901. and
  902. test {\ifbibxstring{\thefield{relatedtype}s}}
  903. }
  904. {\printtext[\bbx@tempb]{%
  905. \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}
  906. {\iffieldbibstring{relatedtype}
  907. {\printtext[\bbx@tempb]{%
  908. \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}
  909. {}}}
  910. {\iffieldbibstring{relatedstring}
  911. {\printtext[\bbx@tempb]{%
  912. \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}
  913. {\printfield[\bbx@tempb]{relatedstring}}}%
  914. \docsvfield{related}%
  915. \usebibmacro{endrelatedloop}}}%
  916. {}%
  917. \usebibmacro{endrelated}}}
  918. %%==============================================================================
  919. \DeclareSortingScheme{vvm}{
  920. \sort{
  921. \field{presort}
  922. }
  923. \sort[final]{
  924. \field{sortkey}
  925. }
  926. \sort{
  927. \field{sortname}
  928. \field{author}
  929. \field{editor}
  930. \field{translator}
  931. \field{sorttitle}
  932. \field{title}
  933. }
  934. \sort{
  935. \field{sortyear}
  936. \field{year}
  937. }
  938. \sort{
  939. \field{sorttitle}
  940. \field{title}
  941. }
  942. \sort{
  943. \field{volume}
  944. \literal{0}
  945. }
  946. }
  947. \renewcommand*{\revsdnamepunct}{\hspace*{.25em}}
  948. \renewcommand*{\newunitpunct}{\addcomma\space}
  949. \DeclareNameAlias{default}{family-given}
  950. \DeclareFieldFormat{booktitle}{#1}
  951. \DeclareFieldFormat{title}{#1}
  952. \DeclareFieldFormat{journaltitle}{#1}
  953. \renewbibmacro*{publisher+location+date}{%
  954. \printlist{location}%
  955. \iflistundef{publisher}
  956. {\setunit*{\space}}
  957. {\setunit*{\space(}}%
  958. \printlist{publisher}%
  959. \iflistundef{publisher}
  960. {\setunit*{}}
  961. {\iflistundef{location}{}{)}\space}%
  962. \printfield{year}%
  963. \newunit%
  964. }
  965. \newbibmacro*{addendum}{%
  966. \printfield{addendum}%
  967. \newunit\newblock}
  968. \renewbibmacro*{author}{%
  969. \ifkeyword{firstItemOfTheAuthor}%
  970. {%
  971. {\sparseFnt
  972. \printnames{author}\space\printfield{nameaddon}%
  973. \iffieldundef{authortype}
  974. {}
  975. {\setunit{\addcomma\space}%
  976. \usebibmacro{authorstrg}}%
  977. }\par\nopagebreak
  978. \hskip-\bibYearPointWidth
  979. }
  980. {\hskip\bibItemFirstLineIndent}%
  981. }
  982. \renewbibmacro*{title}{%
  983. \ifboolexpr{test {\iffieldundef{title}} and test {\iffieldundef{subtitle}}}
  984. {}
  985. {\printfield[titlecase]{title}%
  986. \setunit{\subtitlepunct}%
  987. \printfield[titlecase]{subtitle}}%
  988. %{\printfield{title}\newunit}%
  989. \printfield{titleaddon}}
  990. %%==============================================================================
  991. \endinput