← All templates

Collective Dynamics (cdclass)

Class of Collective Dynamics, the open-access journal on pedestrian, evacuation and traffic dynamics; the sample shows the title block, figures with subfigures and the journal's BibTeX style.

Create an account to use this
Category
Journal
Document class
cdclass (cdclass.cls) — ships with TeX Live
Workflow
Journal manuscript — submissions and revision rounds
Author
Collective Dynamics (Forschungszentrum Jülich)
Source
Collective Dynamics (Forschungszentrum Jülich)
Licence
No licence is stated in the files. Collective Dynamics (Forschungszentrum Jülich) distributes them for authors preparing a submission.

These are the publisher’s own files. This project starts from Collective Dynamics (Forschungszentrum Jülich)’s package for this publication — their manuscript, their cdclass.cls, their bibliography style — so what compiles here is what they would have given you.

Collective Dynamics (Forschungszentrum Jülich) serves this exact file to Collective Dynamics. Check Collective Dynamics (Forschungszentrum Jülich)’s author pages for the current instructions.

What you get

  • cdbibstyle.bst · 26 KB
  • cdclass.cls · 6 KB
  • fig/by-eps-converted-to.pdf · 4 KB
  • fig/by.eps · 5 KB
  • fig/by.pdf · 4 KB
  • fig/cd-logo-eps-converted-to.pdf · 9 KB
  • fig/cd-logo.eps · 17 KB
  • fig/cd-logo.pdf · 9 KB
  • fig/example-eps-converted-to.pdf · 2 KB
  • fig/example.eps · 288 B
  • fig/example.pdf · 5 KB
  • fig/example.png · 484 B
  • template.bib · 436 B
  • template.tex — the file that is compiled · 4 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

cdbibstyle.bst · 26 KB
%%
%% This is file `cdbibstyle.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs  (with options: `vonx,nm-rvv,yr-par,xmth,jttl-rm,thtit-a,vol-bf,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,jnm-x,btit-rm,bt-rm,doi,edparxc,au-col,in-col,fin-bare,pp,ed,abr,xedn,jabr,xand,url,url-blk,nfss,')
 % ===============================================================
 % IMPORTANT NOTICE:
 % This bibliographic style (bst) file has been generated from one or
 % more master bibliographic style (mbs) files, listed above.
 %
 % This generated file can be redistributed and/or modified under the terms
 % of the LaTeX Project Public License Distributed from CTAN
 % archives in directory macros/latex/base/lppl.txt; either
 % version 1 of the License, or any later version.
 % ===============================================================
 % Name and version information of the main mbs file:
 % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
 %   For use with BibTeX version 0.99a or later
 %-------------------------------------------------------------------
 % This bibliography style file is intended for texts in ENGLISH
 % This is a numerical citation style, and as such is standard LaTeX.
 % It requires no extra package to interface to the main text.
 % The form of the \bibitem entries is
 %   \bibitem{key}...
 % Usage of \cite is as follows:
 %   \cite{key} ==>>          [#]
 %   \cite[chap. 2]{key} ==>> [#, chap. 2]
 % where # is a number determined by the ordering in the reference list.
 % The order in the reference list is alphabetical by authors.
 %---------------------------------------------------------------------

ENTRY
  { address
    author
    booktitle
    chapter
    doi
    edition
    editor
    eid
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    url
    volume
    year
  }
  {}
  { label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
  #1 'mid.sentence :=
  #2 'after.sentence :=
  #3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
  output.state mid.sentence =
    { ", " * write$ }
    { output.state after.block =
        { add.period$ write$
          newline$
          "\newblock " write$
        }
        { output.state before.all =
            'write$
            { add.period$ " " * write$ }
          if$
        }
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}
FUNCTION {output}
{ duplicate$ empty$
    'pop$
    'output.nonnull
  if$
}
FUNCTION {output.check}
{ 't :=
  duplicate$ empty$
    { pop$ "empty " t * " in " * cite$ * warning$ }
    'output.nonnull
  if$
}
FUNCTION {fin.entry}
{ duplicate$ empty$
    'pop$
    'write$
  if$
  newline$
}

FUNCTION {new.block}
{ output.state before.all =
    'skip$
    { after.block 'output.state := }
  if$
}
FUNCTION {new.sentence}
{ output.state after.block =
    'skip$
    { output.state before.all =
        'skip$
        { after.sentence 'output.state := }
      if$
    }
  if$
}
FUNCTION {add.blank}
{  " " * before.all 'output.state :=
}

FUNCTION {add.colon}
{ duplicate$ empty$
    'skip$
    { ":" * add.blank }
  if$
}

FUNCTION {date.block}
{
  new.block
}

FUNCTION {not}
{   { #0 }
    { #1 }
  if$
}
FUNCTION {and}
{   'skip$
    { pop$ #0 }
  if$
}
FUNCTION {or}
{   { pop$ #1 }
    'skip$
  if$
}
FUNCTION {new.block.checka}
{ empty$
    'skip$
    'new.block
  if$
}
FUNCTION {new.block.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.block
  if$
}
FUNCTION {new.sentence.checka}
{ empty$
    'skip$
    'new.sentence
  if$
}
FUNCTION {new.sentence.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.sentence
  if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
    { pop$ "" }
    'skip$
  if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "\emph{" swap$ * "}" * }
  if$
}
FUNCTION {bolden}
{ duplicate$ empty$
    { pop$ "" }
    { "\textbf{" swap$ * "}" * }
  if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$
}

FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }

FUNCTION {space.word}
{ " " swap$ * " " * }
 % Here are the language-specific definitions for explicit words.
 % Each function has a name bbl.xxx where xxx is the English word.
 % The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}

FUNCTION {bbl.etal}
{ "et~al." }

FUNCTION {bbl.editors}
{ "eds." }

FUNCTION {bbl.editor}
{ "ed." }

FUNCTION {bbl.edby}
{ "edited by" }

FUNCTION {bbl.edition}
{ "edn." }

FUNCTION {bbl.volume}
{ "vol." }

FUNCTION {bbl.of}
{ "of" }

FUNCTION {bbl.number}
{ "no." }

FUNCTION {bbl.nr}
{ "no." }

FUNCTION {bbl.in}
{ "in" }

FUNCTION {bbl.pages}
{ "pp." }

FUNCTION {bbl.page}
{ "p." }

FUNCTION {bbl.chapter}
{ "chap." }

FUNCTION {bbl.techrep}
{ "Tech. Rep." }

FUNCTION {bbl.mthesis}
{ "Master's thesis" }

FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }

MACRO {jan} {"Jan."}

MACRO {feb} {"Feb."}

MACRO {mar} {"Mar."}

MACRO {apr} {"Apr."}

MACRO {may} {"May"}

MACRO {jun} {"Jun."}

MACRO {jul} {"Jul."}

MACRO {aug} {"Aug."}

MACRO {sep} {"Sep."}

MACRO {oct} {"Oct."}

MACRO {nov} {"Nov."}

MACRO {dec} {"Dec."}

MACRO {acmcs} {"ACM Comput. Surv."}

MACRO {acta} {"Acta Inf."}

MACRO {cacm} {"Commun. ACM"}

MACRO {ibmjrd} {"IBM J. Res. Dev."}

MACRO {ibmsj} {"IBM Syst.~J."}

MACRO {ieeese} {"IEEE Trans. Software Eng."}

MACRO {ieeetc} {"IEEE Trans. Comput."}

MACRO {ieeetcad}
 {"IEEE Trans. Comput. Aid. Des."}

MACRO {ipl} {"Inf. Process. Lett."}

MACRO {jacm} {"J.~ACM"}

MACRO {jcss} {"J.~Comput. Syst. Sci."}

MACRO {scp} {"Sci. Comput. Program."}

MACRO {sicomp} {"SIAM J. Comput."}

MACRO {tocs} {"ACM Trans. Comput. Syst."}

MACRO {tods} {"ACM Trans. Database Syst."}

MACRO {tog} {"ACM Trans. Graphic."}

MACRO {toms} {"ACM Trans. Math. Software"}

MACRO {toois} {"ACM Trans. Office Inf. Syst."}

MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}

MACRO {tcs} {"Theor. Comput. Sci."}

FUNCTION {bibinfo.check}
{ swap$
  duplicate$ missing$
    {
      pop$ pop$
      ""
    }
    { duplicate$ empty$
        {
          swap$ pop$
        }
        { swap$
          pop$
        }
      if$
    }
  if$
}
FUNCTION {bibinfo.warn}
{ swap$
  duplicate$ missing$
    {
      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
      ""
    }
    { duplicate$ empty$
        {
          swap$ "empty " swap$ * " in " * cite$ * warning$
        }
        { swap$
          pop$
        }
      if$
    }
  if$
}
FUNCTION {format.url}
{ url empty$
    { "" }
    { "\urlprefix\url{" url * "}" * }
  if$
}

STRINGS  { bibinfo}
INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}{ jj}{, f{.}.}"
      format.name$
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              "," *
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              t "others" =
                {
                  " " * bbl.etal *
                }
                { " " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}
FUNCTION {format.names.ed}
{
  'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}{ jj}{, f{.}.}"
      format.name$
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              "," *
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              t "others" =
                {

                  " " * bbl.etal *
                }
                { " " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}
FUNCTION {format.authors}
{ author "author" format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }

FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
    {
      " " *
      get.bbl.editor
   "(" swap$ * ")" *
      *
    }
  if$
}
FUNCTION {format.doi}
{ doi "doi" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      new.block
      "\doi{" swap$ * "}" *
    }
  if$
}
FUNCTION {format.note}
{
 note empty$
    { "" }
    { note #1 #1 substring$
      duplicate$ "{" =
        'skip$
        { output.state mid.sentence =
          { "l" }
          { "u" }
        if$
        change.case$
        }
      if$
      note #2 global.max$ substring$ * "note" bibinfo.check
    }
  if$
}

FUNCTION {format.title}
{ title
  duplicate$ empty$ 'skip$
    { "t" change.case$ }
  if$
  "title" bibinfo.check
}
FUNCTION {output.bibitem}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

FUNCTION {if.digit}
{ duplicate$ "0" =
  swap$ duplicate$ "1" =
  swap$ duplicate$ "2" =
  swap$ duplicate$ "3" =
  swap$ duplicate$ "4" =
  swap$ duplicate$ "5" =
  swap$ duplicate$ "6" =
  swap$ duplicate$ "7" =
  swap$ duplicate$ "8" =
  swap$ "9" = or or or or or or or or or
}
FUNCTION {n.separate}
{ 't :=
  ""
  #0 'numnames :=
  { t empty$ not }
  { t #-1 #1 substring$ if.digit
      { numnames #1 + 'numnames := }
      { #0 'numnames := }
    if$
    t #-1 #1 substring$ swap$ *
    t #-2 global.max$ substring$ 't :=
    numnames #5 =
      { duplicate$ #1 #2 substring$ swap$
        #3 global.max$ substring$
        "," swap$ * *
      }
      'skip$
    if$
  }
  while$
}
FUNCTION {n.dashify}
{
  % n.separate comment, so that long page numbers like phys rev e not separated
  't :=
  ""
    { t empty$ not }
    { t #1 #1 substring$ "-" =
        { t #1 #2 substring$ "--" = not
            { "--" *
              t #2 global.max$ substring$ 't :=
            }
            {   { t #1 #1 substring$ "-" = }
                { "-" *
                  t #2 global.max$ substring$ 't :=
                }
              while$
            }
          if$
        }
        { t #1 #1 substring$ *
          t #2 global.max$ substring$ 't :=
        }
      if$
    }
  while$
}

FUNCTION {word.in}
{ bbl.in capitalize
  ":" *
  " " * }

FUNCTION {format.date}
{
  ""
  duplicate$ empty$
  year  "year"  bibinfo.check duplicate$ empty$
    { swap$ 'skip$
        { "there's a month but no year in " cite$ * warning$ }
      if$
      *
    }
    { swap$ 'skip$
        {
          swap$
          " " * swap$
        }
      if$
      *
    }
  if$
  duplicate$ empty$
    'skip$
    {
      before.all 'output.state :=
    " (" swap$ * ")" *
    }
  if$
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
    }
  if$
}
FUNCTION {either.or.check}
{ empty$
    'pop$
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  if$
}
FUNCTION {format.bvolume}
{ volume empty$
    { "" }
    { bbl.volume volume tie.or.space.prefix
      "volume" bibinfo.check * *
      series "series" bibinfo.check
      duplicate$ empty$ 'pop$
        { emphasize ", " * swap$ * }
      if$
      "volume and number" number either.or.check
    }
  if$
}
FUNCTION {format.number.series}
{ volume empty$
    { number empty$
        { series field.or.null }
        { series empty$
            { number "number" bibinfo.check }
            { output.state mid.sentence =
                { bbl.number }
                { bbl.number capitalize }
              if$
              number tie.or.space.prefix "number" bibinfo.check * *
              bbl.in space.word *
              series "series" bibinfo.check *
            }
          if$
        }
      if$
    }
    { "" }
  if$
}

FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
    {
      output.state mid.sentence =
        { "l" }
        { "t" }
      if$ change.case$
      "edition" bibinfo.check
      " " * bbl.edition *
    }
  if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
  #0 'multiresult :=
    { multiresult not
      t empty$ not
      and
    }
    { t #1 #1 substring$
      duplicate$ "-" =
      swap$ duplicate$ "," =
      swap$ "+" =
      or or
        { #1 'multiresult := }
        { t #2 global.max$ substring$ 't := }
      if$
    }
  while$
  multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
    { duplicate$ multi.page.check
        {
          bbl.pages swap$
          n.dashify
        }
        {
          bbl.page swap$
        }
      if$
      tie.or.space.prefix
      "pages" bibinfo.check
      * *
    }
  if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
    { swap$ duplicate$ empty$
        { pop$ pop$ format.pages }
        {
          ", " *
          swap$
          n.dashify
          "pages" bibinfo.check
          *
        }
      if$
    }
  if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
  duplicate$ empty$ 'pop$
    { swap$ duplicate$ empty$ 'skip$
      {
          ", " *
      }
      if$
      swap$ *
    }
  if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
  duplicate$ empty$ 'skip$
    {
      "volume" bibinfo.check
    }
  if$
  bolden
  number "number" bibinfo.check duplicate$ empty$ 'skip$
    {
      swap$ duplicate$ empty$
        { "there's a number but no volume in " cite$ * warning$ }
        'skip$
      if$
      swap$
      "(" swap$ * ")" *
    }
  if$ *
  eid empty$
    { format.journal.pages }
    { format.journal.eid }
  if$
}

FUNCTION {format.chapter.pages}
{ chapter empty$
    'format.pages
    { type empty$
        { bbl.chapter }
        { type "l" change.case$
          "type" bibinfo.check
        }
      if$
      chapter tie.or.space.prefix
      "chapter" bibinfo.check
      * *
      pages empty$
        'skip$
        { ", " * format.pages * }
      if$
    }
  if$
}

FUNCTION {format.booktitle}
{
  booktitle "booktitle" bibinfo.check
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
    {
      format.bvolume duplicate$ empty$ 'pop$
        { ", " swap$ * * }
      if$
      editor "editor" format.names.ed duplicate$ empty$ 'pop$
        {
          " " *
          get.bbl.editor
          "(" swap$ * ") " *
          * swap$
          * }
      if$
      word.in swap$ *
    }
  if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
  month empty$ year empty$ note empty$
  and and and and and
  key empty$ not and
    { "all relevant fields are empty in " cite$ * warning$ }
    'skip$
  if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
    'pop$
    { swap$ pop$
      "t" change.case$ "type" bibinfo.check
    }
  if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
  type duplicate$ empty$
    { pop$ bbl.techrep }
    'skip$
  if$
  "type" bibinfo.check
  swap$ duplicate$ empty$
    { pop$ "t" change.case$ }
    { tie.or.space.prefix * * }
  if$
}
FUNCTION {format.article.crossref}
{
  key duplicate$ empty$
    { pop$
      journal duplicate$ empty$
        { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
        { "journal" bibinfo.check emphasize word.in swap$ * }
      if$
    }
    { word.in swap$ * " " *}
  if$
  " \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
  "editor" bibinfo.check
  editor num.names$ duplicate$
  #2 >
    { pop$
      "editor" bibinfo.check
      " " * bbl.etal
      *
    }
    { #2 <
        'skip$
        { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            {
              "editor" bibinfo.check
              " " * bbl.etal
              *
            }
            {
             bbl.and space.word
              * editor #2 "{vv~}{ll}" format.name$
              "editor" bibinfo.check
              *
            }
          if$
        }
      if$
    }
  if$
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      pop$ word.in
    }
    { bbl.volume
      capitalize
      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
    }
  if$
  editor empty$
  editor field.or.null author field.or.null =
  or
    { key empty$
        { series empty$
            { "need editor, key, or series for " cite$ * " to crossref " *
              crossref * warning$
              "" *
            }
            { series emphasize * }
          if$
        }
        { key * }
      if$
    }
    { format.crossref.editor * }
  if$
  " \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
  editor empty$
  editor field.or.null author field.or.null =
  or
    { key empty$
        { format.booktitle duplicate$ empty$
            { "need editor, key, or booktitle for " cite$ * " to crossref " *
              crossref * warning$
            }
            { word.in swap$ * }
          if$
        }
        { word.in key * " " *}
      if$
    }
    { word.in format.crossref.editor * " " *}
  if$
  " \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
  ""
  address empty$ t empty$ and
    'skip$
    {
      t empty$
        { address "address" bibinfo.check *
        }
        { t *
          address empty$
            'skip$
            { ", " * address "address" bibinfo.check * }
          if$
        }
      if$
    }
  if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}

FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    {
      journal
      "journal" bibinfo.check
      "journal" output.check
      add.blank
      format.vol.num.pages output
      format.date "year" output.check
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}
FUNCTION {book}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      add.colon
    }
    { format.authors output.nonnull
      add.colon
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  new.block
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      format.edition output
      new.block
      format.number.series output
      new.sentence
      format.publisher.address output
    }
    {
      new.block
      format.book.crossref output.nonnull
    }
  if$
  format.date "year" output.check
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}
FUNCTION {booklet}
{ output.bibitem
  format.authors output
  add.colon
  new.block
  format.title "title" output.check
  new.block
  howpublished "howpublished" bibinfo.check output
  address "address" bibinfo.check output
  format.date output
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {inbook}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      add.colon
    }
    { format.authors output.nonnull
      add.colon
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  new.block
  format.btitle "title" output.check
  crossref missing$
    {
      format.bvolume output
      format.edition output
      format.chapter.pages "chapter and pages" output.check
      new.block
      format.number.series output
      new.sentence
      format.publisher.address output
    }
    {
      format.chapter.pages "chapter and pages" output.check
      new.block
      format.book.crossref output.nonnull
    }
  if$
  format.date "year" output.check
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.number.series output
      format.edition output
      format.chapter.pages output
      new.sentence
      format.publisher.address output
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.number.series output
      format.pages output
      new.sentence
      publisher empty$
        { format.organization.address output }
        { organization "organization" bibinfo.check output
          format.publisher.address output
        }
      if$
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
  author empty$
    { organization "organization" bibinfo.check
      duplicate$ empty$ 'pop$
        { output
          address "address" bibinfo.check output
        }
      if$
    }
    { format.authors output.nonnull }
  if$
  add.colon
  new.block
  format.btitle "title" output.check
  author empty$
    { organization empty$
        {
          address new.block.checka
          address "address" bibinfo.check output
        }
        'skip$
      if$
    }
    {
      organization address new.block.checkb
      organization "organization" bibinfo.check output
      address "address" bibinfo.check output
    }
  if$
  format.edition output
  format.date output
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title
  "title" output.check
  new.block
  bbl.mthesis format.thesis.type output.nonnull
  school "school" bibinfo.warn output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {misc}
{ output.bibitem
  format.authors output
  add.colon
  title howpublished new.block.checkb
  format.title output
  howpublished new.block.checka
  howpublished "howpublished" bibinfo.check output
  format.date output
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
  empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title
  "title" output.check
  new.block
  bbl.phdthesis format.thesis.type output.nonnull
  school "school" bibinfo.warn output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  editor empty$
    { organization "organization" bibinfo.check output
    }
    { format.editors output.nonnull }
  if$
  add.colon
  new.block
  format.btitle "title" output.check
  format.bvolume output
  format.number.series output
  editor empty$
    { publisher empty$
        'skip$
        {
          new.sentence
          format.publisher.address output
        }
      if$
    }
    { publisher empty$
        {
          new.sentence
          format.organization.address output }
        {
          new.sentence
          organization "organization" bibinfo.check output
          format.publisher.address output
        }
      if$
     }
  if$
      format.date "year" output.check
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title
  "title" output.check
  new.block
  format.tr.number output.nonnull
  institution "institution" bibinfo.warn output
  address "address" bibinfo.check output
  format.date "year" output.check
  format.doi output
  new.block
  format.url output
  new.block
  format.note output
  fin.entry
}

FUNCTION {unpublished}
{ output.bibitem
  format.authors "author" output.check
  add.colon
  new.block
  format.title "title" output.check
  format.date output
  format.doi output
  new.block
  format.url output
  new.block
  format.note "note" output.check
  fin.entry
}

FUNCTION {default.type} { misc }
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
  #1 'number.label :=
  #0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
  number.label #1 + 'number.label :=
  label width$ longest.label.width >
    { label 'longest.label :=
      label width$ 'longest.label.width :=
    }
    'skip$
  if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
    'skip$
    { preamble$ write$ newline$ }
  if$
  "\begin{thebibliography}{"  longest.label  * "}" *
  write$ newline$
  "\providecommand{\url}[1]{{#1}}"
  write$ newline$
  "\providecommand{\urlprefix}{URL }"
  write$ newline$
  "\expandafter\ifx\csname urlstyle\endcsname\relax"
  write$ newline$
  "  \providecommand{\doi}[1]{DOI~\discretionary{}{}{}#1}\else"
  write$ newline$
  "  \providecommand{\doi}{DOI~\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
  write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
  "\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `cdbibstyle.bst'.

cdclass.cls · 6 KB
% document class of journal Collective Dynamics for LaTeX2e
% - 
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cdclass}[2016/02/30 v2.0
^^JLaTeX document class for journal Collective Dynamics]
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\ProcessOptions\relax
\LoadClass[12pt,twoside,BCOR=10mm]{scrartcl}
\RequirePackage{mathptmx}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{courier}
\RequirePackage[hang,font={footnotesize},nooneline,labelsep=quad,labelfont={bf,sf}]{caption}
\RequirePackage[hang]{subfigure}
\RequirePackage[hyphens]{url}
\PassOptionsToPackage{hyphens}{url}
\RequirePackage{hyperref}
\RequirePackage[all]{hypcap}
\RequirePackage[noadjust]{cite}
\RequirePackage{ifpdf}
\ifpdf
  \typeout{^^J *** PDF mode *** } 
  \RequirePackage[pdftex]{graphicx}
  \RequirePackage{epstopdf}
\else
  \typeout{^^J *** DVI mode ***} 
  \RequirePackage{graphicx}
\fi 
\RequirePackage{fancyhdr}
\RequirePackage{lastpage}
\RequirePackage{relsize}
\RequirePackage[pagewise]{lineno}
\RequirePackage{booktabs} % table \toprule etc
%
\newcommand{\hdoi}[1]{DOI: \href{http://dx.doi.org/#1}{\texttt{#1}}}% Header
\newcommand{\doi}[1]{\href{http://dx.doi.org/#1}{\texttt{doi:#1}}}
%
\graphicspath{{fig/}} % figures in directory fig
%
%\hypersetup{
%  colorlinks=false, 
%  filebordercolor = {1 0.5 0},
%  linkbordercolor = {1 0.5 0},
%  citebordercolor = {1 0.5 0},
%  urlbordercolor= {1 0.5 0}
%}
\hypersetup{
    colorlinks=true,
%    filecolor={green!50!black},
%    linkcolor={red!50!black},
%    citecolor={blue!50!black},
%    urlcolor={blue!80!black}
    filecolor=[rgb]{0.78, 0.29, 0.14},
    linkcolor=[rgb]{0.78, 0.29, 0.14},
    citecolor=[rgb]{0.78, 0.29, 0.14},
    urlcolor=[rgb]{0.78, 0.29, 0.14}
}
%
%
\newcommand{\sref}[1]{Sec.~\ref{#1}}
\newcommand{\fref}[1]{Fig.~\ref{#1}}
\newcommand{\frefi}[2]{Fig.~\ref{#1}(#2)}
\newcommand{\tref}[1]{Tab.~\ref{#1}}
\newcommand{\eref}[1]{Eq.~\ref{#1}}
\newcommand{\refi}[2]{\ref{#1}(#2)}
\newcommand{\aref}[1]{App.~\ref{#1}}
%
\newcommand{\titlerunning}[1]{\gdef\trun{#1}}
\newcommand{\authorrunning}[1]{\gdef\arun{#1}}
\newcommand{\authorlabel}[1]{$^{\textsf{\smaller #1}}$}
\newcommand{\institute}[1]{\gdef\@institute{#1}}
\renewcommand{\and}{\ifhmode\unskip\nobreak\fi\ $\cdot$\ }
\renewcommand{\date}[4]{\gdef\@year{#1}\gdef\@rdate{#2}\gdef\@vdate{#3}\gdef\@adate{#4}}
\newcommand{\online}[1]{\gdef\@online{#1}}
\newcommand{\ldoi}[1]{\gdef\@ldoi{#1}}
\newcommand{\volume}[1]{\gdef\@volume{V#1}}
\newcommand{\firstpagenumber}[1]{\setcounter{page}{#1}\gdef\@firstpagenumber{#1}}
\newcommand{\keywords}[1]{\par\addvspace\medskipamount{\rightskip=0pt plus1cm
  \noindent\textsf{\bfseries Keywords}\enspace\ignorespaces#1\par\addvspace\bigskipamount}}
%
\newlength{\atab}
\newcommand{\authortab}[1]{\\\settowidth{\atab}{\mbox{\authorlabel{#1}}}\hspace*{\atab}}  
%
\newcommand{\email}[1]{E-mail: \href{mailto:#1}{#1}}
\newlength{\emailtab}
\newcommand{\authoremail}[2]{\\\settowidth{\emailtab}{\mbox{\authorlabel{#1}}}
  \hspace*{\emailtab} \email{#2}}
%
\firstpagenumber{1} % number of first page inside volume / all starting with 1
\fancypagestyle{firstPage}{%
  \fancyhf{}% delete all header information 
  \fancyhead[R]{\href{http://collective-dynamics.eu/}{\includegraphics[height=2cm]{cd-logo}}}
  \fancyfoot[L]{\sffamily\bfseries
    \href{http://collective-dynamics.eu/}{Collective Dynamics} %\quad 
    \href{http://collective-dynamics.eu/index.php/cod/issue/view/\@volume}{\@volume},
    \href{http://collective-dynamics.eu/index.php/cod/article/view/\@online}{\@online}:\thepage--\pageref*{LastPage} 
    (\@year)}
  \fancyfoot[R]{\sffamily\bfseries Licensed under \href{http://creativecommons.org/licenses/by/4.0/}{\includegraphics[height=.4cm]{by}}}
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0.4pt}
} 
\fancypagestyle{cdPageStyle}{%
  \fancyhf{}%
  \rhead[\fancyplain{}{\sffamily\bfseries\arun}]{\fancyplain{}{\sffamily\bfseries\thepage}}
  \lhead[\fancyplain{}{\sffamily\bfseries\thepage}]{\fancyplain{}{\sffamily\bfseries\trun}}%
} 
\renewcommand{\maketitle}{
\bgroup
%    
  \thispagestyle{firstPage}
  \vspace*{1.4cm}
  \setlength{\parindent}{0pt}
  \sffamily
  {\Huge\bfseries\@title\par}\vspace*{.6cm}
  {\large\bfseries\@author\par}\vspace*{.2cm}
  \bgroup
    \footnotesize
    \def\and{\newline}
    \begin{addmargin}{1cm}
      \@institute\\[.2cm]%[.7cm]
    \end{addmargin}
    Received: \@rdate\quad /\quad Last revision received: \@vdate\quad /\quad Accepted: \@adate\\%[.5cm]
    \hdoi{\@ldoi}\\ %\quad /\quad Online at \href{http://collective-dynamics.eu/index.php/cod/article/view/\@online}{\texttt{collective-dynamics.eu}}\\
    \ifx\trun\undefined\gdef\trun{\@title}\fi
    \ifx\arun\undefined\gdef\arun{\@author}\fi
  \egroup
\egroup
}
%
\pagestyle{cdPageStyle}
% Define abstract environment
\def\abstract{\par\addvspace{17pt}\rmfamily
  \trivlist\if!Abstracts!\item[]\else
  \item[\hskip\labelsep\textsf{\bfseries Abstract}]\fi%
}
\def\endabstract{\endtrivlist\addvspace{6pt}}
\newenvironment{abstracts}{\begin{abstract}}{\end{abstract}}
% Define acknowledgement environment
\def\acknowledgement{\par\addvspace{17pt}\small\rmfamily
  \trivlist\if!Acknowledgements!\item[]\else
  \item[\hskip\labelsep\textsf{\bfseries Acknowledgements}]\fi%
}
\def\endacknowledgement{\endtrivlist\addvspace{6pt}}
\newenvironment{acknowledgements}{\begin{acknowledgement}}{\end{acknowledgement}}
% Define ethics environment
\def\ethic{\par\addvspace{17pt}\small\rmfamily
  \trivlist\if!Ethics Statement!\item[]\else
  \item[\hskip\labelsep\textsf{\bfseries Ethics Statement}]\fi%
}
\def\endethic{\endtrivlist\addvspace{6pt}}
\newenvironment{ethics}{\begin{ethic}}{\end{ethic}}
% Define declaration environment
\def\aiDeclaration{\par\addvspace{17pt}\small\rmfamily
  \trivlist\if!aiDeclaration!\item[]\else
  \item[\hskip\labelsep\textsf{\bfseries Declaration of LLM or other
      AI use}]\fi%
}
\def\endaiDeclaration{\endtrivlist\addvspace{6pt}}
\newenvironment{aiDeclarations}{\begin{aiDeclaration}}{\end{aiDeclaration}}
% Define contributions environment
\def\contribution{\par\addvspace{17pt}\small\rmfamily
  \trivlist\if!Author Contributions!\item[]\else
  \item[\hskip\labelsep\textsf{\bfseries Author Contributions}]\fi%
}
\def\endcontribution{\endtrivlist\addvspace{6pt}}
\newenvironment{contributions}{\begin{contribution}}{\end{contribution}}
\endinput
% End of file cdclass.cls

fig/by-eps-converted-to.pdf — binary, 4 KB

fig/by.eps — binary, 5 KB

fig/by.pdf — binary, 4 KB

fig/cd-logo-eps-converted-to.pdf — binary, 9 KB

fig/cd-logo.eps — binary, 17 KB

fig/cd-logo.pdf — binary, 9 KB

fig/example-eps-converted-to.pdf — binary, 2 KB

fig/example.eps — binary, 288 B

fig/example.pdf — binary, 5 KB

fig/example.png — binary, 484 B

template.bib · 436 B
@ARTICLE{RefJ,
  author = {Author},
  title = {Title},
  journal = {Journal},
  doi = {12.3456/7890},
  year = {Year},
  volume = {Volume},
  pages = {Pages}
}
@INPROCEEDINGS{RefP,
  author = {Author},
  title = {Title},
  booktitle = {Conference},
  doi = {12.3456/7890},
  year = {Year},
  pages = {Pages}
}
@BOOK{RefB,
  author = {Author},
  title = {Book title},
  doi = {12.3456/7890},
  year = {Year},
  publisher = {Publisher}
}
template.tex — the file that is compiled · 4 KB
%%%%%%%%%%%%%%%%%%%%%%% file template.tex %%%%%%%%%%%%%%%%%%%%%%%%%
%
% This is a general template file (version 11) for the 
% journal Collective Dynamics
%
% Copy it to a new file with a new name and use it as the basis
% for your article.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass{cdclass}

\begin{document}

\title{Your paper}
%\titlerunning{Short form of title} % if too long for running head

\author{
  First Author\authorlabel{1} \and 
  Second Author\authorlabel{2} %\and
}
%short form of author list (without footnote symbol) for running head; may be using "et al." 
\authorrunning{F. Author \and S. Author}
\institute{
  \authorlabel{1} first institut, long first address,
  \authortab{1} next line of long address,
  \authoremail{1}{[email protected]} %, \href{mailto:[email protected]}{[email protected]}
  \and
  \authorlabel{2} second institute, second address, 
  \authoremail{2}{[email protected]}
  %\and
}

% filled out by the editor: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\date{year}{date1}{date2}{date3} % dates (received/revised/accepted)
\ldoi{10.17815/CD.20XX.X} % doi 
\volume{VX}  % volume 
\online{AX} % url 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\maketitle

\linenumbers
\begin{abstract}
Insert your abstract here.
\end{abstract}

\keywords{First keyword \and second keyword \and more}
% e.g. self-driven particles; pedestrians; vehicles; animals;
% molecular motors; agents; traffic; crowds; swarms; experiments;
% models; microscopic; macroscopic; celular automata; software; open
% source

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
\label{sec:intro}

Your text comes here.

\section{Section title}
\label{sec:1}

Citation by \cite{RefJ,RefP,RefB}.

\subsection{Subsection title}
\label{sec:2}

Refer to sections by \sref{sec:1}, to figures by \fref{fig:1} or \frefi{fig:2}{a} and \refi{fig:2}{b}, 
to tables by \tref{tab:1}, to equations by \eref{eq:1}, and to appendices by \aref{app:1}.

\paragraph{Paragraph headings} 

Use paragraph headings as needed.

\begin{equation}\label{eq:1}
  a^2+b^2=c^2
\end{equation}

% figure example
\begin{figure}
  \centering
  \includegraphics{example} % eps for latex and pdf/png/jpg for pdflatex
  \caption{Figure caption; use eps for \LaTeX\ and pdf, jpg or png
    figures for pdf\LaTeX}
  \label{fig:1} % unique label
\end{figure}
\begin{figure}
  \centering
  \subfigure[]{\includegraphics[width=0.495\linewidth]{example}}
  \subfigure[]{\includegraphics[width=0.495\linewidth]{example}}
  \caption{Caption of side-by-side figures (a) and (b)}
  \label{fig:2} % unique label
\end{figure}

% table example
\begin{table}
  \centering
  \begin{tabular}{lll}
    \toprule
    first & second & third  \\
    \midrule
    number & number & number \\
    number & number & number \\
    \bottomrule
  \end{tabular}
  \caption{Table caption}
  \label{tab:1} % unique label
\end{table}

\begin{acknowledgements}
  In this paragraph list all contributors of the manuscript who do not
  meet the criteria for authorship,
  e.g. pure technical or writing assistance, and all financial and material support.
\end{acknowledgements}

\begin{ethics}
  This paragraph should be filled according to the
  \href{https://collective-dynamics.eu/index.php/cod/PubEthicsStat}{Publication
    Ethics Statement} of Collective Dynamics.
\end{ethics}

\begin{aiDeclaration}
  This paragraph should be completed according to the
  \href{https://collective-dynamics.eu/index.php/cod/PubEthicsStat}{Publication
    Ethics Statement} of Collective Dynamics.
\end{aiDeclaration}

\begin{contributions}
  List the contributions of each author separately and follow the
  \href{https://onlinelibrary.wiley.com/doi/full/10.1002/leap.1210}{Contributor
    Roles Taxonomy guideline}. A sample statement is as follows:
  
  Ruth Smith: Conceptualization, Software / He Wang: Writing -- Original
  draft preparation / Max Mueller: Visualization, Investigation.
\end{contributions}

\bibliographystyle{cdbibstyle} % mathematics and physical sciences
\bibliography{template} % name your BibTeX data base

\appendix
\section{Appendix title}
\label{app:1}

Additional information can be placed here.

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:

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