\ProvidesFile{jyu-chem.bbx}[2024/02/05 JYU Chemistry Department bibliography style] % Based on numeric style \RequireBibliographyStyle{numeric} % Finnish locale \DeclareLanguageMapping{finnish}{finnish} % Remove unwanted fields \ExecuteBibliographyOptions{ isbn=false, doi=false, eprint=false, sorting=none, giveninits=true, minnames=999, maxnames=999, } \DeclareFieldFormat{labelnumberwidth}{#1\adddot} % Name format: Last, F. I.; Last2, F. I. \DeclareNameAlias{author}{family-given} \DeclareNameAlias{editor}{family-given} \DeclareNameAlias{translator}{family-given} % Semicolon separator between authors, 'ja' before last author \renewcommand*{\multinamedelim}{\addsemicolon\space} \renewcommand*{\finalnamedelim}{\space ja\space} % Initialize with period and space \renewcommand*{\bibinitdelim}{\addspace} \renewcommand*{\bibinitperiod}{.} % Comma after names \renewcommand*{\labelnamepunct}{\addcomma\space} % Format for article titles (no quotes, normal text) \DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished,report,online]{title}{#1\addcomma} % Format for book titles (italic) \DeclareFieldFormat[book,thesis]{title}{\mkbibemph{#1}} % Format for container titles (italic, abbreviated for journals) \DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot} \DeclareFieldFormat{booktitle}{\mkbibemph{#1}} % Volume in italics for articles \DeclareFieldFormat[article]{volume}{\mkbibemph{#1}} % Year in bold for articles \DeclareFieldFormat[article]{year}{\mkbibbold{#1}} % Pages without "pp." \DeclareFieldFormat{pages}{#1} % ss for books \DeclareFieldFormat[inbook]{pages}{ss. #1} \DeclareFieldFormat[book]{pages}{ss. #1} % DOI format (only if user enables it) \DeclareFieldFormat{doi}{% \mkbibacro{DOI}\addcolon\space \ifhyperref {\href{https://doi.org/#1}{\nolinkurl{#1}}} {\nolinkurl{#1}}} % Edition format \DeclareFieldFormat{edition}{% \ifinteger{#1} {\mkbibordinal{#1}~\bibstring{edition}} {#1}} % URL format for webpages \DeclareFieldFormat{url}{\url{#1}} \DeclareFieldFormat{urldate}{#1} % Suppress URL for all types except online \AtEveryBibitem{% \ifentrytype{online}{}{\clearfield{url}\clearfield{urldate}}} % Define "In:" for chapters \DefineBibliographyStrings{finnish}{% in = {in}, edition = {painos}, page = {s\adddot}, pages = {s\adddot}, } % Modify the date macro to handle bold year for articles \renewbibmacro*{date}{% \iffieldundef{year} {} {\printfield{year}}} % Journal article driver \DeclareBibliographyDriver{article}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \newunit\newblock \usebibmacro{journal}% \setunit{\addcomma\space}% \usebibmacro{date}% \setunit{\addcomma\space}% \printfield{volume}% \setunit{\addcomma\space}% \printfield{pages}% \newunit\newblock \iftoggle{bbx:doi}{\printfield{doi}}{}% \usebibmacro{finentry}} % Book driver \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{maintitle+title}% \setunit{\addcomma\space}% \printfield{edition}% \setunit{\addcomma\space}% \usebibmacro{publisher+location+date}% \setunit{\addcomma\space}% \printfield{volume}% \setunit{\addcomma\space}% \printfield{pages}% \usebibmacro{finentry}} % Thesis driver - Format: Author, Title, thesis type, Institution, Location, Year \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \setunit{\addcomma\space}% \printfield{type}% \setunit{\addcomma\space}% \printlist{institution}% \setunit{\addcomma\space}% \printlist{location}% \setunit{\addcomma\space}% \usebibmacro{date}% \usebibmacro{finentry}} % In-collection/chapter driver \DeclareBibliographyDriver{incollection}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \newunit\newblock \usebibmacro{in:}% \usebibmacro{byeditor+others}% \setunit{\addcomma\space}% \usebibmacro{maintitle+booktitle}% \setunit{\addcomma\space}% \printfield{edition}% \setunit{\addcomma\space}% \usebibmacro{publisher+location+date}% \setunit{\addcomma\space}% \printfield{volume}% \setunit{\addcomma\space}% \printfield{pages}% \usebibmacro{finentry}} % In-proceedings driver \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \setunit{\addcomma\space}% \usebibmacro{maintitle+booktitle}% \setunit{\addcomma\space}% \printfield{venue}% \setunit{\addcomma\space}% \printeventdate% \setunit{\addcomma\space}% \usebibmacro{publisher+location+date}% \setunit{\addcomma\space}% \printfield{pages}% \usebibmacro{finentry}} % Patent driver - Format: Authors, Title, Patent type, Number, dd.mm.yyyy \DeclareBibliographyDriver{patent}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \setunit{\addcomma\space}% \printfield{type}% \setunit{\addcomma\space}% \printfield{number}% \setunit{\addcomma\space}% \printfield{day}\adddot \printfield{month}\adddot \printfield{year}% \usebibmacro{finentry}} % Online/webpage driver \DeclareBibliographyDriver{online}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{title}% \setunit{\addcomma\space}% \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock \setunit{\addcomma\space}% \printfield{url}% \setunit{\addcomma\space}% \usebibmacro{organization+location+date}% \setunit{\addspace}% \printfield{note} \usebibmacro{finentry}} % URL date format (accessed date) \renewbibmacro*{urldate}{% \iffieldundef{urlyear} {} {\mkbibbrackets{% \printfield{urlday}\adddot \printfield{urlmonth}\adddot \printfield{urlyear}}}} % Journal macro \renewbibmacro*{journal}{% \iffieldundef{journaltitle} {} {\printfield{journaltitle}}} % Publisher+location+date macro \renewbibmacro*{publisher+location+date}{% \printlist{publisher}% \setunit{\addcomma\space}% \printlist{location}% \setunit{\addcomma\space}% \usebibmacro{date}} % Organization+location+date macro \newbibmacro*{organization+location+date}{% \printlist{organization}% \setunit{\addcomma\space}% \printlist{location}} % Event date printing \newcommand*{\printeventdate}{% \iffieldundef{eventyear} {} {\printfield{eventday}\adddot \printfield{eventmonth}\adddot \printfield{eventyear}}} % Misc driver for software, informal sources \DeclareBibliographyDriver{misc}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \setunit{\addcomma\space}% \printlist{organization}% \setunit{\addcomma\space}% \printlist{location}% \setunit{\addcomma\space}% \usebibmacro{date}% \usebibmacro{finentry}} % Report driver for technical reports \DeclareBibliographyDriver{report}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \setunit{\labelnamepunct}\newblock \usebibmacro{title}% \setunit{\addcomma\space}% %\printfield{type}% \setunit{,}% \printfield{number}% \setunit{\addcomma\space}% \printfield{day}\adddot \printfield{month}\adddot \printfield{year}% \setunit{\addcomma\space}% \printlist{institution}% \usebibmacro{finentry}} \endinput