← All templates

Journal of Cross-disciplinary Research in Computational Law (crclart)

CRCL's own crclart class with biblatex styles for law (OSCOLA) or computer-science (ACM author-year or numeric) citations; the sample is an article with a reply and response section, footnotes, an equation and references.

Create an account to use this
Category
Journal
Document class
crclart (crclart.cls) — ships with TeX Live
Workflow
Journal manuscript — submissions and revision rounds
Author
Journal of Cross-disciplinary Research in Computational Law (CRCL)
Source
Journal of Cross-disciplinary Research in Computational Law (CRCL)
Licence
crclart.cls: Creative Commons. The sample text is Journal of Cross-disciplinary Research in Computational Law (CRCL)'s, provided for authors preparing a submission.

These are the publisher’s own files. This project starts from Journal of Cross-disciplinary Research in Computational Law (CRCL)’s package for this publication — their manuscript, their crclart.cls, their bibliography style — so what compiles here is what they would have given you.

Journal of Cross-disciplinary Research in Computational Law (CRCL) serves this exact file to Journal of Cross-disciplinary Research in Computational Law. Check Journal of Cross-disciplinary Research in Computational Law (CRCL)’s author pages for the current instructions.

Where this differs from the publisher’s download.

  • Note: Pick the citation style with a class option: law (OSCOLA, default in the sample), csauthoryear or csnumeric; use noreply for articles without a reply and response.

What you get

  • acmauthoryear.bbx · 20 KB
  • acmauthoryear.cbx · 6 KB
  • acmnumeric.bbx · 19 KB
  • acmnumeric.cbx · 90 B
  • article.tex — the file that is compiled · 5 KB
  • bibliography.bib · 647 B
  • crcl-logo.pdf · 29 KB
  • crclart.cls · 8 KB

These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.

Journals using this template

Source

acmauthoryear.bbx · 20 KB
\ProvidesFile{acmauthoryear.bbx}[2022-02-14 v0.1 biblatex bibliography style]

% Inherit a default style
\RequireBibliographyStyle{authoryear-comp}

%%% New command definitions from trad-standard.bbx

\newcommand*{\newcommaunit}{\@ifstar\newcommaunitStar\newcommaunitNoStar}
\newcommand*{\newcommaunitStar}{\setunit*{\addcomma\space}}
\newcommand*{\newcommaunitNoStar}{\setunit{\addcomma\space}}

%%% Forward compatibility for date+extradate

\ifcsundef{ifbibmacroundef}{
  \ifcsundef{abx@macro@date+extradate}{ %%% For really really old biblatex that miss \ifbibmacroundef
    \blx@warning{bibmacro 'date+extradate' is missing.\MessageBreak
      Please consider updating your version of biblatex.\MessageBreak
      Using 'date+extrayear' instead}%
    \providebibmacro*{date+extradate}{\usebibmacro{date+extrayear}}
  }{}
}
{
  \ifbibmacroundef{date+extradate}{
    \blx@warning{bibmacro 'date+extradate' is missing.\MessageBreak
      Please consider updating your version of biblatex.\MessageBreak
      Using 'date+extrayear' instead}%
    \providebibmacro*{date+extradate}{\usebibmacro{date+extrayear}}
  }{}
}

%%% Localisation strings for ACM

\DefineBibliographyStrings{american}{%
  mathesis = {Master's thesis},
  phdthesis = {Ph\adddot{}D\adddotspace Dissertation},
  editor = {(Ed\adddot)},
  editors = {(Eds\adddot)},
  edition = {ed\adddot},
}



%%% Formatting for fields

%\DeclareFieldFormat
%  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
%  {title}{#1}
\DeclareFieldFormat{pages}{#1}

\DeclareFieldFormat{numpages}{#1 pages}

\DeclareFieldFormat{number}{#1}

\DeclareFieldFormat{articleno}{Article #1}

\DeclareFieldFormat{key}{#1}

\DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from}
\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from}

\DeclareFieldFormat{url}{\url{#1}}

\DeclareFieldFormat{edition}{%
  \printtext[parens]{\ifinteger{#1}
    {\mkbibordedition{#1}~\bibstring{edition}}
    {#1\isdot~\bibstring{edition}}}}


% Handle urls field containing 'and' separated list of URLs
% https://github.com/plk/biblatex/issues/229
\DeclareListFormat{urls}{%
  \url{#1}%
  \ifthenelse{\value{listcount}<\value{liststop}}
  {\addcomma\space}
  {}}
\renewbibmacro*{url}{\iffieldundef{url}{\printlist{urls}}{\printfield{url}}}

%%% Bibmacro definitions

\renewbibmacro*{translator+others}{%
  \ifboolexpr{
    test \ifusetranslator
    and
    not test {\ifnameundef{translator}}
  }
  {\printnames{translator}%
    \setunit{\addcomma\space}%
    \usebibmacro{translator+othersstrg}%
    \clearname{translator}}
  {\printfield{key}}}

\newbibmacro*{year}{%
  \iffieldundef{year}%
  {\printtext{[n.\ d.]}}%
  {\printfield{year}}%
}

\renewbibmacro*{date}{\printtext[parens]{\printdate}}


\renewbibmacro*{url+urldate}{\iffieldundef{urlyear}
  {\iffieldundef{lastaccessed}
    {}
    {\printfield{lastaccessed}%
      \setunit*{\addspace}}%
  }
  {\usebibmacro{urldate}%
    \setunit*{\addspace}}%
  \usebibmacro{url}%
}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\space}%
  \iffieldundef{series}
  {}
  {\newunit%
    \printfield{series}%
    \setunit{\addspace}}%
  \usebibmacro{volume+number+date+pages+eid}%
  \newcommaunit%
  %  \setunit{\addspace}%
  \usebibmacro{issue-issue}%
  \setunit*{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}



\newbibmacro*{volume+number+date+pages+eid}{%
  \printfield{volume}%
  \setunit*{\addcomma\space}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \setunit{\addcomma\space}
  \usebibmacro{date-ifmonth}
  \setunit{\addcomma\space}%
  \iffieldundef{pages}%
  {\printfield{numpages}}%
  {\printfield{pages}}%
  \newcommaunit%
  \printfield{eid}}%

\renewbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \iffieldundef{pages}%
  {\printfield{numpages}}%
  {\printfield{pages}}%
  \newunit}

\renewbibmacro*{editor+others}{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
  {\printnames{editor}%
    \setunit{\addcomma\space}%
    \usebibmacro{editor+othersstrg}%
    \clearname{editor}}
  {\iflistundef{organization}{}{\printlist{organization}}}
  \usebibmacro{date+extradate}
}


\newbibmacro*{issue-issue}{%
  \iffieldundef{issue}%
  {}%
  {\printfield{issue}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date-ifmonth}%
  }%
  \newunit}




\newbibmacro*{maintitle+booktitle+series+number}{%
  \iffieldundef{maintitle}
  {}
  {\usebibmacro{maintitle}%
    \newunit\newblock
    \iffieldundef{volume}
    {}
    {\printfield{volume}%
      \printfield{part}%
      \setunit{\addcolon\space}}}%
  \usebibmacro{booktitle}%
  \setunit*{\addspace}
  \printfield[parens]{series}%
  \setunit*{\addspace}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \newunit
}

\renewbibmacro*{booktitle}{%
  \ifboolexpr{
    test {\iffieldundef{booktitle}}
    and
    test {\iffieldundef{booksubtitle}}
  }
  {}
  {\printtext[booktitle]{%
      \printfield[titlecase]{booktitle}%
      \iffieldundef{booksubtitle}{}{
        \setunit{\subtitlepunct}%
        \printfield[titlecase]{booksubtitle}}%
    }%
  }%
  \printfield{booktitleaddon}}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\addcomma\space}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \setunit{\addcomma\space}%
  \printfield{eid}}


\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date-ifmonth}%
  \newunit}


\newbibmacro{date-ifmonth}{%
  \iffieldundef{month}{}{%
    \usebibmacro{date}
  }%
}


\renewbibmacro*{institution+location+date}{%
  \printlist{school}%
  \setunit*{\addcomma\space}%
  \printlist{institution}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date-ifmonth}%
  \newunit}


\renewbibmacro*{periodical}{%
  \iffieldundef{title}
  {}
  {\printtext[title]{%
      \printfield[titlecase]{title}%
      \setunit{\subtitlepunct}%
      \printfield[titlecase]{subtitle}}}%
  \newunit%
  \usebibmacro{journal}}

\renewbibmacro*{issue+date}{%
  \iffieldundef{issue}
  {\usebibmacro{date}}
  {\printfield{issue}%
    \setunit*{\addspace}%
    \usebibmacro{date}}%
  \newunit}

\renewbibmacro*{title+issuetitle}{%
  \usebibmacro{periodical}%
  \setunit*{\addspace}%
  \iffieldundef{series}
  {}
  {\newunit
    \printfield{series}%
    \setunit{\addspace}}%
  \printfield{volume}%
  \setunit*{\addcomma\space}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:url}
  {\iffieldundef{doi}{
      \usebibmacro{url+urldate}
    }{\iffieldundef{distinctURL}
      {}
      {\usebibmacro{url+urldate}}
    }
  }%
  \newunit\newblock
  \iftoggle{bbx:eprint}
  {\usebibmacro{eprint}}
  {}%
  \newunit\newblock
  \iftoggle{bbx:doi}
  {\printfield{doi}}
  {}}


%%% Definitions for drivers (alphabetical)



\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock%
  \usebibmacro{title}%
  \newunit%
  \printlist{language}%
  \newunit\newblock%
  \usebibmacro{byauthor}%
  \newunit\newblock%
  \usebibmacro{bytranslator+others}%
  \newunit\newblock%
  \printfield{version}%
  \newunit\newblock%
  \usebibmacro{journal+issuetitle}%
  \newunit%
  \usebibmacro{byeditor+others}%
  \newunit%
  \printfield{note}%
  \newunit\newblock%
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock%
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock%
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock%
  \usebibmacro{related}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit%
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \usebibmacro{series+number}%
  \iffieldundef{maintitle}
  {\printfield{volume}%
    \printfield{part}}
  {}%
  \newunit
  \newunit\newblock
  \printfield{volumes}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{inbook}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \iffieldundef{author}%
  {\usebibmacro{byeditor+others}}%
  {\usebibmacro{author/translator+others}}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  %  \usebibmacro{in:}%
  \usebibmacro{bybookauthor}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \iffieldundef{author}{}%if undef then we already printed editor
  {\usebibmacro{byeditor+others}}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
  {\printfield{volume}%
    \printfield{part}}
  {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
  {\printfield{volume}%
    \printfield{part}}
  {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{inproceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle+series+number}%
  \newunit\newblock
  \usebibmacro{event+venue+date}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \iffieldundef{maintitle}
  {\printfield{volume}%
    \printfield{part}}
  {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{manual}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{edition}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{misc}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{howpublished}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{organization+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \usebibmacro{date-ifmonth}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
  {\usebibmacro{eprint}}
  {}%
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareFieldFormat[patent]{number}{Patent No.~#1}

\DeclareBibliographyDriver{patent}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \iflistundef{location}
  {}
  {\setunit*{\addspace}%
    \printtext[parens]{%
      \printlist[][-\value{listtotal}]{location}}}%
  \newunit\newblock
  \usebibmacro{byholder}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{periodical}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title+issuetitle}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{issn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{report}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{institution+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isrn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{thesis}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \usebibmacro{institution+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
  {\printfield{isbn}}
  {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}}

%
% Include support for software entries
%
\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}

%
% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work)
%
\DeclareStyleSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[typesource=artifactsoftware,typetarget=software]
      \step[typesource=artifactdataset,typetarget=dataset]
    }
  }
}

%%% Compatibility with ACM bibtex formatting


%
% Show given name first in the reference list
%
\DeclareNameAlias{sortname}{given-family}

%
% Produce a bibliography with small font size
%
\renewcommand*{\bibfont}{\footnotesize}

%
% Remove parentheses from date+extradate
%
\RequirePackage{xpatch}
\xpatchbibmacro{date+extradate}{%
  \printtext[parens]%
}{%
  \newblock\setunit*{.\space}%
  \printtext%
}{}{}


%%% Set option values for ACM style

\ExecuteBibliographyOptions{
  dashed=false,     % Do not use dashes for bibliography items with the same set of authors
  labeldate=year,
  abbreviate=true,
  dateabbrev=true,
  isbn=true,
  doi=true,
  urldate=comp,
  url=true,
  maxbibnames=9,
  maxcitenames=2,
  backref=false,
  sorting=nty,
  halid=true,
  swhid=true,
  swlabels=true,
  vcs=true,
  license=false,
  language=american
}
acmauthoryear.cbx · 6 KB
\ProvidesFile{acmauthoryear.cbx}[2022-02-14 v0.1]

\RequireCitationStyle{authoryear-comp}
\RequirePackage{xpatch}

%
% Hyperlink citations like acmart natbib implementation
%
% From https://tex.stackexchange.com/a/27615/133551

% Combine label and labelyear links
\xpatchbibmacro{cite}
{\usebibmacro{cite:label}%
    \setunit{\printdelim{nonameyeardelim}}%
    \usebibmacro{cite:labeldate+extradate}}
{\printtext[bibhyperref]{%
        \DeclareFieldAlias{bibhyperref}{default}%
        \usebibmacro{cite:label}%
        \setunit{\printdelim{nonameyeardelim}}%
        \usebibmacro{cite:labeldate+extradate}}}
{}
{\PackageWarning{biblatex-patch}
    {Failed to patch cite bibmacro}}

% Include labelname in labelyear link
\xpatchbibmacro{cite}
{\printnames{labelname}%
    \setunit{\printdelim{nameyeardelim}}%
    \usebibmacro{cite:labeldate+extradate}}
{\printtext[bibhyperref]{%
        \DeclareFieldAlias{bibhyperref}{default}%
        \printnames{labelname}%
        \setunit{\printdelim{nameyeardelim}}%
        \usebibmacro{cite:labeldate+extradate}}}
{}
{\PackageWarning{biblatex-patch}
    {Failed to patch cite bibmacro}}

\renewbibmacro*{textcite}{%
    \iffieldequals{namehash}{\cbx@lasthash}
    {\iffieldundef{shorthand}
        {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND
                \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)}
            {\setunit{\addcomma}%
                \usebibmacro{cite:extradate}}
            {\setunit{\compcitedelim}%
                \usebibmacro{cite:labeldate+extradate}%
                \savefield{labelyear}{\cbx@lastyear}}}
        {\setunit{\compcitedelim}%
            \usebibmacro{cite:shorthand}%
            \global\undef\cbx@lastyear}}
    {\ifnameundef{labelname}
        {\iffieldundef{shorthand}
            {\usebibmacro{cite:label}%
                \setunit{%
                    \global\booltrue{cbx:parens}%
                    \printdelim{nonameyeardelim}\bibopenbracket}%
                \ifnumequal{\value{citecount}}{1}
                {\usebibmacro{prenote}}
                {}%
                \usebibmacro{cite:labeldate+extradate}}
            {\usebibmacro{cite:shorthand}}}
        {\printnames{labelname}%
            \setunit{%
                \global\booltrue{cbx:parens}%
                \printdelim{nameyeardelim}\bibopenbracket}%
            \ifnumequal{\value{citecount}}{1}
            {\usebibmacro{prenote}}
            {}%
            \iffieldundef{shorthand}
            {\iffieldundef{labelyear}
                {\usebibmacro{cite:label}}
                {\usebibmacro{cite:labeldate+extradate}}%
                \savefield{labelyear}{\cbx@lastyear}}
            {\usebibmacro{cite:shorthand}%
                \global\undef\cbx@lastyear}}%
        \stepcounter{textcitecount}%
        \savefield{namehash}{\cbx@lasthash}}%
    \setunit{%
        \ifbool{cbx:parens}
        {\bibclosebracket\global\boolfalse{cbx:parens}}
        {}%
        \textcitedelim}}

\xpatchbibmacro{textcite}
{\printnames{labelname}}
{\printtext[bibhyperref]{\printnames{labelname}}}
{}
{\PackageWarning{biblatex-patch}
    {Failed to patch textcite bibmacro}}

\renewbibmacro*{textcite:postnote}{%
    \usebibmacro{postnote}%
    \ifthenelse{\value{multicitecount}=\value{multicitetotal}}
    {\setunit{}%
        \printtext{%
            \ifbool{cbx:parens}
            {\bibclosebracket\global\boolfalse{cbx:parens}}
            {}}}
    {\setunit{%
            \ifbool{cbx:parens}
            {\bibclosebracket\global\boolfalse{cbx:parens}}
            {}%
            \textcitedelim}}}

% NEW
\newbibmacro*{citeauthor}{%
    \ifnameundef{labelname}
    {\iffieldundef{shorthand}
        {\printtext[bibhyperref]{%
                \usebibmacro{cite:label}}%
            \setunit{%
                \global\booltrue{cbx:parens}%
                \printdelim{nonameyeardelim}\bibopenbracket}%
            \ifnumequal{\value{citecount}}{1}
            {\usebibmacro{prenote}}
            {}%
            \printtext[bibhyperref]{\usebibmacro{cite:labeldate+extradate}}}
        {\printtext[bibhyperref]{\usebibmacro{cite:shorthand}}}}
    \printtext[bibhyperref]{\printnames{labelname}}}

%
% Put brackets around citations
%

\DeclareCiteCommand{\cite}[\mkbibbrackets]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{cite}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand*{\cite}[\mkbibbrackets]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{citeyear}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand{\parencite}[\mkbibbrackets]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{cite}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand*{\parencite}[\mkbibbrackets]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{citeyear}}
{}
{\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}
{\setunit{\multicitedelim}}

\DeclareCiteCommand{\footcite}[\mkbibfootnote]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{cite}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{cite}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{cite}}
{}
{\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote]
{\smartcite}{\setunit{\multicitedelim}}

\DeclareCiteCommand{\citeauthor}
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{citeauthor}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand{\citeyear}
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{citeyear}}
{}
{\usebibmacro{postnote}}

\DeclareCiteCommand{\citeyearpar}[\mkbibbrackets]
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \usebibmacro{citeyear}}
{}
{\usebibmacro{postnote}}

%
% Provide aliases for natbib-compatible commands
%
\newcommand*{\citep}{\parencite}
\newcommand*{\citet}{\textcite}
% add others here

\endinput
acmnumeric.bbx · 19 KB
\ProvidesFile{acmnumeric.bbx}[2017-09-27 v0.1 biblatex bibliography style]

% Inherit a default style
\RequireBibliographyStyle{trad-plain}



%%% Localisation strings for ACM

\DefineBibliographyStrings{american}{%
  mathesis = {Master's thesis},
  phdthesis = {Ph\adddot{}D\adddotspace Dissertation},
  editor = {(Ed\adddot)},
  editors = {(Eds\adddot)},
  edition = {ed\adddot},
}



%%% Formatting for fields

%\DeclareFieldFormat
%  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]
%  {title}{#1}
\DeclareFieldFormat{pages}{#1}

\DeclareFieldFormat{numpages}{#1 pages}

\DeclareFieldFormat{number}{#1}

\DeclareFieldFormat{articleno}{Article #1}

\DeclareFieldFormat{key}{#1}

\DeclareFieldFormat{urldate}{Retrieved\space{}#1\space{}from}
\DeclareFieldFormat{lastaccessed}{Retrieved\space{}#1\space{}from}

\DeclareFieldFormat{url}{\url{#1}}

\DeclareFieldFormat{edition}{%
  \printtext[parens]{\ifinteger{#1}
    {\mkbibordedition{#1}~\bibstring{edition}}
    {#1\isdot~\bibstring{edition}}}}


% Handle urls field containing 'and' separated list of URLs
% https://github.com/plk/biblatex/issues/229
\DeclareListFormat{urls}{%
  \url{#1}%
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\space}
    {}}
\renewbibmacro*{url}{\iffieldundef{url}{\printlist{urls}}{\printfield{url}}}



%%% Bibmacro definitions

\renewbibmacro*{translator+others}{%
  \ifboolexpr{
    test \ifusetranslator
    and
    not test {\ifnameundef{translator}}
  }
    {\printnames{translator}%
     \setunit{\addcomma\space}%
     \usebibmacro{translator+othersstrg}%
     \clearname{translator}}
    {\printfield{key}}}

\newbibmacro*{year}{%
  \iffieldundef{year}%
    {\printtext{[n.\ d.]}}%
    {\printfield{year}}%
}

\renewbibmacro*{date}{\printtext[parens]{\printdate}}


\renewbibmacro*{url+urldate}{\iffieldundef{urlyear}
    {\iffieldundef{lastaccessed}
     {}
     {\printfield{lastaccessed}%
     \setunit*{\addspace}}%
    }
    {\usebibmacro{urldate}%
     \setunit*{\addspace}}%
     \usebibmacro{url}%
  }

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\space}%
  \iffieldundef{series}
    {}
    {\newunit%
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+date+pages+eid}%
  \newcommaunit%
%  \setunit{\addspace}%
  \usebibmacro{issue-issue}%
  \setunit*{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}



\newbibmacro*{volume+number+date+pages+eid}{%
  \printfield{volume}%
  \setunit*{\addcomma\space}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \setunit{\addcomma\space}
  \usebibmacro{date-ifmonth}
  \setunit{\addcomma\space}%
  \iffieldundef{pages}%
    {\printfield{numpages}}%
    {\printfield{pages}}%
  \newcommaunit%
  \printfield{eid}}%

\renewbibmacro*{chapter+pages}{%
  \printfield{chapter}%
  \setunit{\bibpagespunct}%
  \iffieldundef{pages}%
    {\printfield{numpages}}%
    {\printfield{pages}}%
  \newunit}

\renewbibmacro*{editor+others}{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\printnames{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}
    {\iflistundef{organization}{}{\printlist{organization}}}}


\newbibmacro*{issue-issue}{%
  \iffieldundef{issue}%
    {}%
    {\printfield{issue}%
     \setunit*{\addcomma\space}%
     \usebibmacro{date-ifmonth}%
    }%
  \newunit}




\newbibmacro*{maintitle+booktitle+series+number}{%
  \iffieldundef{maintitle}
    {}
    {\usebibmacro{maintitle}%
     \newunit\newblock
     \iffieldundef{volume}
       {}
       {\printfield{volume}%
        \printfield{part}%
        \setunit{\addcolon\space}}}%
  \usebibmacro{booktitle}%
  \setunit*{\addspace}
  \printfield[parens]{series}%
  \setunit*{\addspace}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \newunit
  }

\renewbibmacro*{booktitle}{%
  \ifboolexpr{
    test {\iffieldundef{booktitle}}
    and
    test {\iffieldundef{booksubtitle}}
  }
    {}
    {\printtext[booktitle]{%
       \printfield[titlecase]{booktitle}%
       \iffieldundef{booksubtitle}{}{
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{booksubtitle}}%
       }%
    }%
  \printfield{booktitleaddon}}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\addcomma\space}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \setunit{\addcomma\space}%
  \printfield{eid}}


\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date-ifmonth}%
  \newunit}


\newbibmacro{date-ifmonth}{%
  \iffieldundef{month}{}{%
    \usebibmacro{date}
  }%
}


\renewbibmacro*{institution+location+date}{%
  \printlist{school}%
  \setunit*{\addcomma\space}%
  \printlist{institution}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date-ifmonth}%
  \newunit}


\renewbibmacro*{periodical}{%
  \iffieldundef{title}
    {}
    {\printtext[title]{%
       \printfield[titlecase]{title}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{subtitle}}}%
       \newunit%
       \usebibmacro{journal}}

\renewbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {\usebibmacro{date}}
      {\printfield{issue}%
       \setunit*{\addspace}%
       \usebibmacro{date}}%
  \newunit}

\renewbibmacro*{title+issuetitle}{%
  \usebibmacro{periodical}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \setunit*{\addcomma\space}%
  \printfield{number}%
  \setunit*{\addcomma\space}%
  \printfield{articleno}
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:url}
    {\iffieldundef{doi}{
      \usebibmacro{url+urldate}
      }{\iffieldundef{distinctURL}
      {}
      {\usebibmacro{url+urldate}}
      }
    }%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:doi}
    {\printfield{doi}}
    {}}


%%% Definitions for drivers (alphabetical)



\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock%
  \usebibmacro{year}%
  \newunit%
  \usebibmacro{title}%
  \newunit%
  \printlist{language}%
  \newunit\newblock%
  \usebibmacro{byauthor}%
  \newunit\newblock%
  \usebibmacro{bytranslator+others}%
  \newunit\newblock%
  \printfield{version}%
  \newunit\newblock%
  \usebibmacro{journal+issuetitle}%
  \newunit%
  \usebibmacro{byeditor+others}%
  \newunit%
  \printfield{note}%
  \newunit\newblock%
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock%
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock%
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock%
  \usebibmacro{related}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}%
  \newunit%
  \usebibmacro{maintitle+title}%
  \newunit%
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \usebibmacro{series+number}%
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \newunit\newblock
  \printfield{volumes}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{inbook}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \iffieldundef{author}%
    {\usebibmacro{byeditor+others}}%
    {\usebibmacro{author/translator+others}}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
%  \usebibmacro{in:}%
  \usebibmacro{bybookauthor}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \iffieldundef{author}{}%if undef then we already printed editor
    {\usebibmacro{byeditor+others}}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{inproceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{maintitle+booktitle+series+number}%
  \newunit\newblock
  \usebibmacro{event+venue+date}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{manual}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{edition}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{misc}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{howpublished}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{organization+location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \usebibmacro{date-ifmonth}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareFieldFormat[patent]{number}{Patent No.~#1}

\DeclareBibliographyDriver{patent}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}%
  \newunit
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \iflistundef{location}
    {}
    {\setunit*{\addspace}%
     \printtext[parens]{%
       \printlist[][-\value{listtotal}]{location}}}%
  \newunit\newblock
  \usebibmacro{byholder}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{periodical}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit
  \usebibmacro{title+issuetitle}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{report}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \printfield{type}%
  \setunit*{\addspace}%
  \printfield{number}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{institution+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isrn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}



\DeclareBibliographyDriver{thesis}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{year}
  \newunit
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \usebibmacro{institution+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

%
% Include support for software entries
%
\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}

%
% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work)
%
\DeclareStyleSourcemap{
  \maps[datatype=bibtex]{
   \map{
     \step[typesource=artifactsoftware,typetarget=software]
     \step[typesource=artifactdataset,typetarget=dataset]
   }
  }
}     

%
% Show given name first in the reference list
%
\DeclareNameAlias{sortname}{given-family}

%
% Produce a bibliography with small font size
%
\renewcommand*{\bibfont}{\bibliofont\footnotesize}

%%% Set option values for ACM style

\ExecuteBibliographyOptions{
  labeldate=year,
  abbreviate=true,
  dateabbrev=true,
  isbn=true,
  doi=true,
  urldate=comp,
  url=true,
  maxbibnames=9,
  maxcitenames=2,
  backref=false,
  sorting=nty,
  halid=true,
  swhid=true,
  swlabels=true,
  vcs=true,
  license=false,
  language=american
  }
acmnumeric.cbx · 90 B
\ProvidesFile{acmnumeric.cbx}[2017-09-27 v0.1]

\RequireCitationStyle{numeric}

\endinput
article.tex — the file that is compiled · 5 KB
\documentclass[law]{crclart}
% For the other citation style :
% \documentclass[csauthoryear]{crclart}
% or
% \documentclass[csnumeric]{crclart}
% Use \documentclass[noreply]{crclart} for articles without a reply and response
% (and delete the \reply and \response parts of the template accordingly)
\usepackage{lipsum}

\title{Your paper}
\author{Example Author\thanks{Institution, Author Bio, email.} \and One More}
\authorNames{Example Author and One More}
\doiNumber{pending}
\crclVolume{\emph{CRCL} online-first}
\abstractText{\lipsum[45-46]}
\keywords{Your keywords go here.}
\replier{Replier Name}
\replierBio{%
    Replier affiliation,
    \href{mailto:[email protected]}{[email protected]}
}

\addbibresource{bibliography.bib}

\begin{document}

\maketitle


\section{First level heading}

This is the first sentence. \lipsum[1]

\section{Another first level heading}

Maecenas pharetra quis ante a aliquam.\footnote{Placeat eos dolorem harum eum
  illo natus adipisci autem eius beatae quos similique dicta a nihil animi totam
  impedit in velit consequuntur quae magnam nisi totam sint omnis.} Fusce
dignissim luctus tellus at euismod. Sed tortor est, tempor a euismod ut,
convallis sed leo. Cras a eros id risus commodo dignissim vitae sit amet
odio.\footnote{This is another footnote. } Pellentesque at posuere ligula.
Suspendisse pharetra malesuada risus at euismod. Nullam molestie tempor leo, vel
suscipit turpis dictum vitae.\cite{Bankowski_Schafer_2007}

Sed et pretium sem. Proin in congue
ex. Nullam quis lacus purus. Quisque in ipsum sed velit
volutpat maximus at nec felis. Duis lacinia eleifend elit, eget maximus velit
porttitor id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
posuere cubilia Curae; Class aptent taciti sociosqu ad litora torquent per
conubia nostra, per inceptos himenaeos. Cras lobortis mi non libero aliquam, a
elementum mi rhoncus. Nam egestas tempor ultrices.

\subsection{A second level heading}

$$=\sum_{j=1}^{2}{{MV(d_2,\theta}_j)}\times\
  {Pr(\theta}_j\left|I\right)-L\left(d_2\right).$$

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut tellus eu ante
ultrices facilisis. Aenean volutpat ornare felis id fringilla. Vestibulum
pellentesque libero nulla, at sodales purus maximus nec. Vestibulum varius
auctor nisi, porttitor posuere justo imperdiet non. Phasellus facilisis, quam
quis tempor accumsan, eros lorem vestibulum ipsum, sed elementum ante sapien
vitae ligula. Sed mattis purus at nisl semper, et consectetur dui finibus.
Praesent sed risus eget dolor efficitur lacinia.

Suspendisse dapibus, neque quis iaculis bibendum, mauris felis interdum lacus,
sit amet consequat justo orci non felis. Nullam ac mi sit amet ligula ornare
tempor a ut lectus. Nullam eu mi mollis, consequat lectus in, elementum felis.
Sed nec mi nec leo iaculis pellentesque at a tellus. Nam sodales libero nulla.
Pellentesque augue arcu, dapibus quis sagittis a, dictum a orci.

\subsubsection{A third level heading}

Sed et pretium sem.\footcite{Ihde_1990} Proin in congue ex. Nullam quis lacus purus.
Quisque in ipsum sed velit volutpat maximus at nec felis. Duis
lacinia eleifend elit, eget maximus velit porttitor id. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia Curae; Class aptent
taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Cras lobortis mi non libero aliquam, a elementum mi rhoncus.

Nam egestas tempor ultrices. Maecenas pharetra quis ante a
aliquam.\footcite{Vismann_Krajewski_2007} Fusce dignissim luctus tellus at euismod.
Sed tortor est, tempor a euismod ut, convallis sed leo. Cras a eros id risus
commodo dignissim vitae sit amet odio. Pellentesque at posuere ligula.
Suspendisse pharetra malesuada risus at euismod. Nullam molestie tempor leo, vel
suscipit turpis dictum vitae.

Nam egestas tempor ultrices. Maecenas pharetra quis ante a
aliquam.\footcite{Vismann_Krajewski_2007} Fusce dignissim luctus tellus at euismod.
Sed tortor est, tempor a euismod ut, convallis sed leo. Cras a eros id risus
commodo dignissim vitae sit amet odio. Pellentesque at posuere ligula.
Suspendisse pharetra malesuada risus at euismod. Nullam molestie tempor leo, vel
suscipit turpis dictum vitae.

Nam egestas tempor ultrices. Maecenas pharetra quis ante a
aliquam.\footcite{Vismann_Krajewski_2007} Fusce dignissim luctus tellus at euismod.
Sed tortor est, tempor a euismod ut, convallis sed leo. Cras a eros id risus
commodo dignissim vitae sit amet odio. Pellentesque at posuere ligula.
Suspendisse pharetra malesuada risus at euismod. Nullam molestie tempor leo, vel
suscipit turpis dictum vitae.


\printbibliography

\reply{Title of the reply}

\lipsum[6-9]

Nam egestas tempor ultrices. Maecenas pharetra quis ante a
aliquam. \footcite{Vismann_Krajewski_2007} Fusce dignissim luctus tellus at euismod.
Sed tortor est, tempor a euismod ut, convallis sed leo. Cras a eros id risus
commodo dignissim vitae sit amet odio. Pellentesque at posuere ligula.
Suspendisse pharetra malesuada risus at euismod. Nullam molestie tempor leo, vel
suscipit turpis dictum vitae.

\printbibliography

\response{}

\lipsum[56-59]

\end{document}
bibliography.bib · 647 B
@article{Bankowski_Schafer_2007,
  title   = {Double-Click Justice: Legalism in the Computer Age},
  volume  = {1},
  number  = {1},
  journal = {Legisprudence},
  author  = {Bańkowski, Zenon and Schafer, Burkhard},
  year    = {2007},
  pages   = {31--49}
}

@book{Ihde_1990,
  title     = {Technology and the Lifeworld: From Garden to Earth},
  publisher = {Indiana University Press},
  author    = {Ihde, Don},
  year      = {1990}
}

@article{Vismann_Krajewski_2007,
  title   = {Computer juridisms},
  number  = {29},
  journal = {Grey Room},
  author  = {Vismann, Cornelia and Krajewski, Markus},
  year    = {2007},
  pages   = {90--109}
}

crcl-logo.pdf — binary, 29 KB

crclart.cls · 8 KB
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{crclart}[2024/01/02 LaTeX class for articles of the CRCL journal]

% Base class
\LoadClass[10pt,a4paper]{article}


% Options
\DeclareOption{law}{\PassOptionsToPackage{style=oscola}{biblatex}}
\DeclareOption{csauthoryear}{\PassOptionsToPackage{style=acmauthoryear}{biblatex}}
\DeclareOption{csnumeric}{\PassOptionsToPackage{style=acmnumeric}{biblatex}}
\DeclareOption{noreply}{\newcommand{\noreply}{}}
\ProcessOptions*


% Preamble
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc} % Use 8-bit encoding that has 256 glyphs
\RequirePackage{fourier}
\RequirePackage[backend=biber,doi=false,isbn=false,url=false]{biblatex}
\RequirePackage[style=british]{csquotes}
\appto\biburlsetup{\Urlmuskip=0mu\relax} % Fix URLs being stretch e d
\RequirePackage{url}
\RequirePackage{multicol}
\linespread{1.2} % Line spacing - Palatino needs more space between lines [1.05]
\RequirePackage[protrusion=compatibility]{microtype}
\RequirePackage[english]{babel}
\RequirePackage{abstract} % Allows abstract customization
\setlength{\absleftindent}{0mm}
\setlength{\absrightindent}{0mm}
\renewcommand{\abstractnamefont}{\vspace{-8mm}\normalfont\large\bfseries} % Set the "Abstract" text to bold
\renewcommand{\abstracttextfont}{\vspace{2mm}\normalfont\normalsize} % Set the abstract itself to small italic text
\RequirePackage{tikz}
\RequirePackage{wrapfig}
\RequirePackage[hmarginratio=1:1,top=32mm,bottom=32mm,left=30mm]{geometry}
\RequirePackage[hang,small,labelfont=bf,up,textfont=it,up]{caption}
\RequirePackage{booktabs} % Horizontal rules in tables
\RequirePackage[vskip=1em,font={small}]{quoting} % For quotations
\RequirePackage{enumitem} % Customized lists
\setlist[itemize]{noitemsep} % Make itemize lists more compact
\RequirePackage[all]{nowidow}
\RequirePackage[hidelinks]{hyperref}
\RequirePackage{ifthen}


% Headings
\RequirePackage[compact]{titlesec}
\titleformat{\section}{\linespread{1}\ifnum\thesection>1{\titlerule[.05cm]\vspace{1em}}\fi\raggedright\fontfamily{put}\selectfont\Large\bfseries}{}{0cm}{}
\titlespacing{\section}{0cm}{1.2cm}{1.6em}
\titleformat{\subsection}{\linespread{1}\raggedright\fontfamily{put}\selectfont\large}{}{0cm}{}
\titlespacing{\subsection}{0pt}{1.75em}{1.5em}
\titleformat{\subsubsection}{\linespread{1}\raggedright\fontfamily{put}\selectfont\itshape}{}{0cm}{}
\titlespacing{\subsubsection}{0pt}{2em}{.5em}

\RequirePackage{titling} % Customizing the title section

\RequirePackage[parfill]{parskip}
\parskip=10pt
\RequirePackage{etoolbox} % Quote styles
\AtBeginEnvironment{quote}{\small}
\settowidth{\thanksmarkwidth}{*}
\setlength{\thanksmargin}{0em}


% Headers and footers
\newgeometry{hmarginratio=1:1,top=32mm,bottom=32mm,columnsep=20pt,left=18mm}
\RequirePackage{fancyhdr}
\pagestyle{fancy} % All pages have headers and footers
\fancyhead{} % Blank out the default header
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[C]{} % Custom footer text
\fancyfoot[R]{\thepage} % Custom footer text
\setlength{\skip\footins}{.75cm} % Footnote spacing
\RequirePackage{xcolor}
\definecolor{header-grey}{HTML}{777777} % Banner background colour
\definecolor{light-grey}{HTML}{bbbbbb} % Lighter grey
\RequirePackage{graphicx}
\RequirePackage[absolute,overlay]{textpos}
% Geometry of first page
\newgeometry{hmarginratio=1:1,top=32mm,bottom=32mm,left=30mm}

\RequirePackage[hang,norule,stable]{footmisc}
\RequirePackage[numberlinked=true]{footnotebackref}
\setlength{\footnotemargin}{.5cm}


% Body text footnotes
\addtolength{\footnotesep}{.5mm}
{\makeatletter}	% Author affiliation footnotes
\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or **\or
      ***\or \dagger\or \ddagger\or \dagger\dagger
    \or \ddagger\ddagger \else\@ctrerr\fi}}
{\makeatother}

\fancyhead[L]{\@crclVolume}
\fancyhead[R]{\the\year{}}
\setcounter{page}{1}

\interfootnotelinepenalty=10000

% New title
\renewcommand{\maketitle}{%
  \def \@makefnmark
  {\@textsuperscript{\normalfont\tamark }}
  \def\tamark{\@fnsymbol{\@thefnmark}}
  \long\def\thanksfootmark{
    { \normalfont \thanksscript {\thanksfootpre \tamark \thanksfootpost}}
  }
  \long \def \@makefntext ##1{\makethanksmark ##1}
  \thispagestyle{empty}
  \begin{textblock*}{\paperwidth}(0mm,0mm)
    \textblockcolour{header-grey}
    \vspace{6mm}
    \href{https://journalcrcl.org}{\hspace{34mm}\includegraphics[width=.5\linewidth]{crcl-logo}}
    \vspace{10mm}
  \end{textblock*}
  \null \vskip 2em\vspace *{\droptitle }
  \maketitlehooka {\@bspretitle \linespread{.75}\centering\huge\bfseries\fontfamily{put}\selectfont{\@title}
    \@bsposttitle } \maketitlehookb \vskip 2em
    {\@bspreauthor \@author \@bspostauthor }
  \maketitlehookc {\@bspredate
    \@bspostdate } \par \vskip 1.5em
  \begin{abstract}
    \@abstractText
    \par
    \par
    \bfseries{Keywords:}\normalfont\ \@keywords
    \par
    \par
    \ifthenelse{\isundefined{\noreply}}{
      \large{\bfseries{Replier:}\ \normalfont{\@replier\ \textbullet{} \@replierBio.}}
    }{}
    \maketitlehookd
    \vspace{2em}%\newline
    \begin{center}
      \normalfont \emph{Journal of Cross-disciplinary Research in Computational Law}\\
      {\textcopyright} \the\year{} {\@authorNames}\\
      DOI: \href{}{\@doiNumber{}}\\
      Licensed under a \href{https://creativecommons.org/licenses/by-nc/4.0/}{Creative Commons BY-NC 4.0 license}\\
      \href{https://journalcrcl.org}{www.journalcrcl.org}
    \end{center}
  \end{abstract}
  \@thanks
  \def\tamark{\@thefnmark{}}
  \@bscontmark
  \newgeometry{hmarginratio=1:1,top=32mm,bottom=32mm,columnsep=20pt,left=18mm}
  \clearpage
  \begin{refsection}
    \begin{multicols}{2}}

      \AtEndDocument{
    \end{multicols}
  \end{refsection}
}


% Metadata
\date{} % Ignore this line!
\makeatletter
\def\replier#1{\gdef\@replier{#1}}
\def\@replierBio{\@latex@warning@no@line{No \noexpand\replierBio given}}

\def\replierBio#1{\gdef\@replierBio{#1}}
\def\@replierBio{\@latex@warning@no@line{No \noexpand\replierBio given}}

\def\authorNames#1{\gdef\@authorNames{#1}}
\def\@authorNames{\@latex@warning@no@line{No \noexpand\authorNames given}}

\def\doiNumber#1{\gdef\@doiNumber{#1}}
\def\@doiNumber{\@latex@warning@no@line{No \noexpand\doiNumber given}}

\def\crclVolume#1{\gdef\@crclVolume{#1}}
\def\@crclVolume{\@latex@warning@no@line{No \noexpand\crclVolume given}}

\def\abstractText#1{\gdef\@abstractText{#1}}
\def\@abstractText{\@latex@warning@no@line{No \noexpand\abstractText given}}

\def\keywords#1{\gdef\@keywords{#1}}
\def\@keywords{\@latex@warning@no@line{No \noexpand\keywords given}}

\AtBeginDocument{
  \hypersetup{
    pdftitle={\@title},
    pdfauthor={\@authorNames},
  }
}
\makeatother

% Reply and response command :

\makeatletter
\newcommand{\reply}[1]{%
  \end{multicols}
  \end{refsection}
  \clearpage
  \pdfbookmark[0]{Reply}{sec:reply}
  \bgroup\setlength{\parindent}{0pt}
  \begin{flushleft}
    \linespread{1}\selectfont\huge\textbf{\textcolor{header-grey}{A reply:} #1}\\
    \vspace{.25cm}
    \renewcommand{\baselinestretch}{.6}{\large \textbf{\@replier} \textbullet{} \@replierBio}
  \end{flushleft}
  \egroup
  \textcolor{light-grey}{\hrule height .2cm} % Grey bar below title
  \vspace{.5cm}
  \begin{refsection}
    \begin{multicols}{2}
      }

      \newcommand{\response}[1]{
    \end{multicols}
  \end{refsection}
  \clearpage
  \pdfbookmark[0]{Response}{sec:response}
  \bgroup\setlength{\parindent}{0pt}
  \begin{flushleft}
    \linespread{1}\selectfont\huge\textbf{\textcolor{header-grey}{Author's reponse} #1}\\
    \vspace{.25cm}
    \renewcommand{\baselinestretch}{.6}{\large \textbf{\@authorNames}}
  \end{flushleft}
  \egroup
  \textcolor{light-grey}{\hrule height .2cm} % Grey bar below title
  \vspace{.5cm}
  \begin{refsection}
  \begin{multicols}{2}
}
\makeatother

% See https://tex.stackexchange.com/questions/655024/undefined-control-sequence-bibfont-bibliofont-footnotesize-when-using-biblat
\providecommand{\bibliofont}{\footnotesize}

The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗