% \@ifclassloaded{cnltx-doc}{}{% % \GenericError % {(cnltx.bbx)\@spaces\@spaces\@spaces\@spaces} % {cnltx bibliography style error: invalid class} % {See the cnltx bundle documentation for explanation.} % {% % The `cnltx' bibliography style can only be used with the `cnltx-doc' % document class% % }% % } \RequirePackage{cnltx-example} \ProvidesFile{cnltx.bbx}[\cnltx@@date\space \cnltx@@version\space \cnltx@@info] \RequireBibliographyStyle{alphabetic} \ExecuteBibliographyOptions{block=ragged} \DeclareBibliographyDriver{latex}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \usebibmacro{maintainer}% \setunit{\labelnamepunct}\newblock \usebibmacro{title+subtitle}% \printfield{version}% \setunit{\addcomma\addspace}% \usebibmacro{date}% \newunit\newblock \usebibmacro{url+urldate}% \newunit\newblock \usebibmacro{finentry}% } \DeclareBibliographyAlias{package}{latex} \DeclareBibliographyAlias{class}{latex} \DeclareBibliographyAlias{bundle}{latex} \newbibmacro{title+subtitle}{% \iffieldundef{title}{}{% \printfield{title}% \ifbibindex{\indexfield{title}}{}% \setunit{\adddot\addspace}% \iffieldundef{subtitle}{}{% \printfield{subtitle}% \setunit{\adddot\addspace}% }% }% } \newbibmacro*{maintainer}{% \printtext{% \ifnameundef{maintainer} {} {% \addcomma\addspace \ifnumgreater{\value{maintainer}}{1} {\GetTranslation{cnltx-maintainers}} {\GetTranslation{cnltx-maintainer}}% \addcolon\addspace \printnames{maintainer}% }% }% } \DeclareNameAlias[package]{maintainer}{default} \DeclareNameAlias[class]{maintainer}{default} \DeclareNameAlias[bundle]{maintainer}{default} \DeclareIndexNameAlias[package]{maintainer}{default} \DeclareIndexNameAlias[class]{maintainer}{default} \DeclareIndexNameAlias[bundle]{maintainer}{default} \DeclareFieldFormat[package]{title}{\pkg*{#1}} \DeclareFieldFormat[class]{title}{\cls*{#1}} \DeclareFieldFormat[bundle]{title}{\bnd*{#1}} \DeclareIndexFieldFormat[package]{title}{% \ifstrequal{#1}{\KOMAScript} {\pkgidx[KOMA-Script]{\KOMAScript}} {\pkgidx{#1}}% } \DeclareIndexFieldFormat[class]{title}{% \ifstrequal{#1}{\KOMAScript} {\clsidx[KOMA-Script]{\KOMAScript}} {\clsidx{#1}}% } \DeclareIndexFieldFormat[bundle]{title}{% \ifstrequal{#1}{\KOMAScript} {\bndidx[KOMA-Script]{\KOMAScript}} {\bndidx{#1}}% } \DeclareIndexFieldFormat[package]{indextitle}{% \ifstrequal{#1}{\KOMAScript} {\pkgidx[KOMA-Script]{\KOMAScript}} {\pkgidx{#1}}% } \DeclareIndexFieldFormat[class]{indextitle}{% \ifstrequal{#1}{\KOMAScript} {\clsidx[KOMA-Script]{\KOMAScript}} {\clsidx{#1}}% } \DeclareIndexFieldFormat[bundle]{indextitle}{% \ifstrequal{#1}{\KOMAScript} {\bndidx[KOMA-Script]{\KOMAScript}} {\bndidx{#1}}% } \DeclareFieldFormat[package]{subtitle}{\mkbibemph{#1}} \DeclareFieldFormat[class]{subtitle}{\mkbibemph{#1}} \DeclareFieldFormat[bundle]{subtitle}{\mkbibemph{#1}} \DeclareLabelname[package,class,bundle]{% \field{shortauthor} \field{author} \field{maintainer} \field{shorteditor} \field{editor} \field{translator} } \DeclareDriverSourcemap[datatype=bibtex]{ \map{ \step[fieldsource=info, fieldtarget=subtitle] } } \endinput HISTORY: 2013/09/14 v0.4 - first version added to the bundle 2013/10/04 v0.7a - added drivers `@class' and `@bundle' 2013/11/22 v0.9 - made independent from the `cnltx-doc' class