← All templates

Revue Ouverte d'Intelligence Artificielle (cedram)

The cedram class with the ROIA option of the Revue Ouverte d'Intelligence Artificielle (successor of the Revue d'Intelligence Artificielle): French-language template in Times (newtx) with title block, résumé and abstract, sections and BibTeX references in the journal's cdraifplain style.

Create an account to use this
Category
Journal
Document class
cedram (cedram.cls) — ships with TeX Live
Workflow
Journal manuscript — submissions and revision rounds
Author
Centre Mersenne / Revue Ouverte d'Intelligence Artificielle
Source
Centre Mersenne / Revue Ouverte d'Intelligence Artificielle
Licence
No licence is stated in the files. Centre Mersenne / Revue Ouverte d'Intelligence Artificielle distributes them for authors preparing a submission.

These are the publisher’s own files. This project starts from Centre Mersenne / Revue Ouverte d'Intelligence Artificielle’s package for this publication — their manuscript, their cedram.cls, their bibliography style — so what compiles here is what they would have given you.

Centre Mersenne / Revue Ouverte d'Intelligence Artificielle serves this exact file to Revue Ouverte d'Intelligence Artificielle. Check Centre Mersenne / Revue Ouverte d'Intelligence Artificielle’s author pages for the current instructions.

What you get

  • biblio.bib · 2 KB
  • cdraifplain.bst · 22 KB
  • cedram-ROIA.clo · 228 B
  • cedram-ROIA.sty · 17 KB
  • cedram.cls · 159 KB
  • roia-type.tex — the file that is compiled · 5 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

biblio.bib · 2 KB
%   This is a sample bibliography file, with examples of references
% to books, articles, articles in books and unpublished works.
%
%   Each entry is of the form -at sign-XXXXX{....} (do not forget the closing brace), 
% where AAA is the code used in the \cite{AAA} command to refer to this entry.
%   Note that each element must be included within quotation marks "..." or
% braces {...}, and that a comma must follow.
%   If you wish to capitalize letters in titles, put them into braces (this is
% not necessary for the first letter of the first word).


% Example of book protect TeX command with braces

@BOOK{KNU,
  AUTHOR =	 "Knuth, Donald E.",
  TITLE =	 "The {\TeX}book",
  PUBLISHER =	 {Addison Wesley Professional},
  ADDRESS =	 {Massachusetts},
  YEAR =	 1984
}

% Example of article protect TeX accents with braces, or use latin1 encoding when applicable
% Use \url for URLs

@ARTICLE{LL,
  AUTHOR =	 "J. Leray and J-L. Lions",
  TITLE =	 "Quelques r{\'e}sultats de {V}i{\v{s}}ik sur les
                  probl{\`e}mes elliptiques nonlin{\'e}aires par les
                  m{\'e}thodes de {M}inty-{B}rowder",
  JOURNAL =	 {Bull. Soc. Math. France},
  VOLUME =	 93,
  YEAR =	 1965,
  PAGES =	 {97-107},
  note =
                  {\url{http://www.numdam.org/numdam-bin/item?id=BSMF_1965__93__97_0}}
}


% Example of article in a book
@INCOLLECTION{KT,
  AUTHOR =	 "King, C. and Terng, C.-L.",
  TITLE =	 "Submanifolds in path space",
  BOOKTITLE =	 "Global Analysis in Modern Mathematics",
  PUBLISHER =	 {Publish or Perish, Inc., Houston},
  YEAR =	 1993,
  EDITOR =	 {K. Uhlenbeck},
  PAGES =	 {253-282}
}


% Example of Ph. D. Thesis
@phdthesis{V,
  AUTHOR =	 "M. Vajiac",
  TITLE =	 "Gauge theory techniques in quantum cohomology",
  school =	 {Boston University},
  YEAR =	 2000
}     


% Example of unpublished work
@Unpublished{MSIADOC,
  author =	 {Maday, Yvon and Talay, Denis J.},
  title =	 {How to use the {\emph{MathematicS in Actions}} class
                  file},
  note =
                  {\url{http://msia.cedram.org/telechargeable/cedram-msia.pdf}},
  year =	 2008
}



cdraifplain.bst · 22 KB
%%% ====================================================================
%%%  @BibTeX-style-file{
%%%     filename        = "cdraifplain+eid.bst",
%%%     version         = "0.2.1",
%%%     date            = "2025/09/05",
%%%     author          = "Centre Mersenne"
%%%     copyright       = "none",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibtex, bibliography, mersenne",
%%%     supported       = "yes",
%%%     abstract        = "Modified version of BibTeX bibliography
%%%                        style `smfplain' for BibTeX."
%%%  }
%%% ====================================================================
%%

%% v 0.2.1 : removed additionnal space after eprint if archive was also used;
%%           field "number" in a book uses "vol." instead of "\cdrnumero" (same as the field "volume")

%% v 0.2 modifications include : no MRnumber printer, support for fields from SIAM bst: eid, 
%% pagetotal, eprint, eptrintclass, archive, archive prefix

%% url, urldate, doi, doiclass are ignored


ENTRY
  { address
    author
    booktitle
    chapter
    edition
    editor
    eid
    howpublished
    institution
    journal
    key
    language
    month
    note
    number
    organization
    pages
    pagetotal
    publisher
    school
    series
    title
    type
    volume
    year
%    url
%    urldate
%    doi
%    doiclass
    eprint
    eprintclass
    archive
    archiveprefix
   }
  {}
  { label extra.label }

INTEGERS { output.state before.all mid.sentence after.name }

FUNCTION {init.state.consts}
{ #0 'before.all :=
  #1 'after.name :=
  #2 'mid.sentence :=
}


STRINGS { s t }
FUNCTION {not}
{   { #0 }
    { #1 }
  if$
}

FUNCTION {and}
{   'skip$
    { pop$ #0 }
  if$
}

FUNCTION {or}
{   { pop$ #1 }
    'skip$
  if$
}

FUNCTION {field.or.null}
{ duplicate$ empty$
    { pop$ "" }
    'skip$
  if$
}

FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "\emph{" swap$ * "}" * }
  if$
}

FUNCTION {guillemetize}
{ duplicate$ empty$
    { pop$ "" }
    { "{\og " swap$ * "\fg}" * }
   if$
}

FUNCTION {scapify}
{ duplicate$ empty$
    { pop$ "" }
    { "{\scshape " swap$ * "}" * }
  if$
}


FUNCTION {n.dashify}
{ '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 {n.undashify}
{ 't :=
  ""
    { t empty$ not }
    { t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = 
    { "-" *
      t #3 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 {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$ * *
}

FUNCTION {add.space.if.necessary}
{ duplicate$ "" =
    'skip$
    { " " * }
  if$
}


FUNCTION {either.or.check}
{ empty$
    'pop$
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  if$
}

FUNCTION {reallytwo.or.check}
{ empty$
    'pop$
    { "do you really want to use both " swap$ * " fields in " * cite$ * " ?" * warning$ }
  if$
}


FUNCTION {output.nonnull}
{ 's :=
  output.state after.name =
    { extra.label "\bysame" =
      { ", " * write$ }
      { ", " * write$ }
      if$
      mid.sentence  'output.state := }
    {  output.state mid.sentence =
	{ s #1 #1 substring$ "(" =	       
	  { " " * write$ }
	  { ", " * write$ }
          if$ }
       { output.state before.all =
         'write$
          { add.period$ " " * write$ }
         if$
         after.name 'output.state := }
     if$ }
   if$
  s
}


FUNCTION {output}
{ duplicate$ empty$
    'pop$
    'output.nonnull
  if$
}


FUNCTION {missing.warning}
{ "missing " swap$ * " in " * cite$ * warning$ }


FUNCTION {output.check}
{ 't :=
  duplicate$ empty$
    { pop$ t missing.warning }
    'output.nonnull
  if$
}

FUNCTION {output.bibitem}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

FUNCTION {fin.entry}
{ add.period$
  write$
  newline$
}


FUNCTION {format.language}
{ language empty$
    { "" }
    { " (" language * ")" * }
  if$
}
INTEGERS { nameptr namesleft numnames }


FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
{ namesleft #1 >
    { ", " * t * }
    { numnames #2 >
{ "" * }
'skip$
      if$
      t "others" =
{ " {\normalfont et~al.}" * }
{ " {\normalfont \cdrandname}~" * t * }
      if$
    }
  if$
}
't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {format.authors}
{ author empty$
    { "" }
    { extra.label "\bysame" =
         { "\bysame " }
         { author format.names scapify }
     if$
    }
  if$
}

FUNCTION {format.editors}
{ editor empty$
    { "" }
    { extra.label "\bysame" =
         { "\bysame " }
         { editor format.names scapify }
      if$
      editor num.names$ #1 >
  { " (\cdredsname)" * }
      { " (\cdredname)" * }
      if$
      "\nomorebysame" 'extra.label :=
    }
  if$
}

FUNCTION {format.nonauthor.editors}
{ editor empty$
    { "" }
    { editor format.names
      editor num.names$ #1 >
{ ", \cdredsname" * }
{ ", \cdredname" * }
      if$
    }
  if$
}

FUNCTION {format.booktitle}
{ title empty$
    { "" }
    { title 
%"t" change.case$ 
       emphasize }
  if$
}

FUNCTION {format.title}
{ title empty$
    { "" }
    { title 
%"t" change.case$ 
       guillemetize }
  if$
}

FUNCTION {format.journal.vol.year}
{ journal empty$
    { "journal name" missing.warning ""}
    { journal emphasize }
  if$
  volume empty$
    'skip$
    { " \textbf{" * volume * "}" * }
  if$
  year empty$
    { "year" missing.warning }
    { " (" * year * ")" * }
  if$
}


FUNCTION {format.number}
{ number empty$
    { "" }
    { "\cdrnumero " number * }
  if$
}


FUNCTION {format.date}
{ year empty$
    { month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
  month
}
      if$
    }
    { month empty$
'year
{ month " " * year * }
      if$
    }
  if$
}


FUNCTION {format.bookvolume.series.number}
{ volume empty$
    { "" % Push the empty string as a placeholder in case everything else
         % is empty too.
      series empty$
        'skip$
        { pop$ series } % if series is not empty put in stack
      if$
      number empty$
        'skip$
        { duplicate$ empty$ % if no preceding material,
            'skip$          % do nothing, otherwise
            { ", " * }      % add a comma and space to separate.
          if$
          "vol. " number * * % add the number information
        }
      if$
    }
%% If the volume is NOT EMPTY:
    { "vol." volume tie.or.space.connect % vol. XX
      number empty$
        { series empty$
            'skip$
            { series ", " * swap$ *}    % Series Name, vol. XX
          if$
        }
        { series empty$
            { "can't use both volume and number if series info is missing"
              warning$
              "in BibTeX entry type `" type$ * "'" * top$
            }
            { ", " * series * ", vol. " *  number * }
          if$
        }
      if$
    }
  if$

}  % end of format.bookvolume.series.number

%% format.inproc.title.where.editors is used by inproceedings entry types

FUNCTION {format.inproc.title.address.editors}
{ booktitle empty$
    { "" }
%%      Emphasizing the title.  We want initial caps, roman.
    { "in " booktitle emphasize * }
  if$
%%      We add parentheses around the address (place where conference
%%      was held).
  address empty$
    'skip$
    { add.space.if.necessary "(" * address * ")" * }
  if$
%%      Likewise we add parentheses around the editors' names.
  editor empty$
    'skip$
    { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
  if$
}

%% format.incoll.title.editors is similar to format.inproc... but
%% omits the address. For collections that are not proceedings volumes.

FUNCTION {format.incoll.title.editors}
{ booktitle empty$
    { "" }
%%      No case changing or emphasizing for the title.  We want initial
%%      caps, roman.
    { "in "  booktitle emphasize * }
  if$
%%      We add parentheses around the editors' names.
  editor empty$
    'skip$
    { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
  if$
}


FUNCTION {format.number.series}
{ series empty$
    { number empty$
        { "" }
        { "there's a number but no series in " cite$ * warning$ }
      if$
    }
    { series
      number empty$
        'skip$
        { "\ \textbf{" * number * "}" * }
      if$
    }
  if$
}

FUNCTION {format.edition}
{ edition empty$
    { "" }
    { output.state mid.sentence =
{ edition "l" change.case$ " \cdredname" * }
{ edition "t" change.case$ " \cdredname" * }
      if$
    }
  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.pagetotal}
{
  pagetotal empty$
  { "" }
  { pagetotal "~pages" * }
  if$
}

FUNCTION {format.eid}
{
  eid empty$
  { "" }
  { pagetotal empty$
      { " article no.~" eid * }
      { " article no.~" eid * " (" * format.pagetotal * ")" *}
    if$
  }
  if$
}  

FUNCTION {format.archive}
{
  archiveprefix empty$
      { "" }
      { archiveprefix ":" *}
  if$            
}

FUNCTION {format.eprintclass}
{
  eprintclass empty$
      { "" }
      { " [" eprintclass * "]" *}
  if$            
}

FUNCTION {format.eprint}
{ eprint empty$
     { "" }
     { archive empty$
      	{"\url{https://arxiv.org/abs/" eprint * "}" * }
         {"\url{" archive *  "/" * eprint * "}" * }
       if$ 
     }
     if$
}

% FUNCTION {format.url}
% { url empty$
%    { "" }
%    { urldate empty$ 
%	{ "\url{" url * "}" * }
%	{ "\url{" url * "} (accessed \printdate{" * urldate * "})" * }
%      if$
%    }
%  if$
% }
 
FUNCTION {format.pages}
{ pages empty$
    { "" }
    { "p.~" pages n.undashify * }
  if$
}

FUNCTION {format.book.pages}
{ pages empty$
    { "" }
    { pages multi.page.check
{  pages n.undashify "~pages" * }
{  pages  "~pages" * }
      if$
    }
  if$
}

FUNCTION {format.chapter.pages}
{ chapter empty$
    'format.pages
    { type empty$
{ "\cdrchapname~" }
{ type "l" change.case$ " " * }
      if$
      chapter *
      pages empty$
'skip$
{ ", " * format.pages * }
      if$
    }
  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 empty$
    'skip$
    { pop$
      type "t" change.case$
    }
  if$
}

FUNCTION {format.tr.number}
{ type empty$
    { "Tech. Report" }
    'type
  if$
  number empty$
    { "t" change.case$ }
    { number tie.or.space.connect }
  if$
}

FUNCTION {format.article.crossref}
{ key empty$
    { journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
  warning$
  ""
}
{ "in " journal * }
      if$
    }
    { "in " key * }
  if$
  " \cite{" * crossref * "}" *
}

FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
  editor num.names$ duplicate$
  #2 >
    { pop$ " et~al." * }
    { #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
    { " et~al." * }
    { " \cdrandname~" * editor #2 "{vv~}{ll}" format.name$ * }
  if$
}
      if$
    }
  if$
}

FUNCTION {format.book.crossref}
{ volume empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      "in "
    }
    { "vol." volume tie.or.space.connect
      " de " *
    }
  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 * }
  if$
}
{ key * }
      if$
    }
    { format.crossref.editor * }
  if$
  " \cite{" * crossref * "}" *
}

FUNCTION {format.incoll.inproc.crossref}
{ key empty$
  { booktitle empty$
    { editor empty$
      editor field.or.null author field.or.null =
      or
         { "need editor, key, or booktitle for " cite$ * "to crossref " *
           crossref * warning$ "" }
         { "in " format.crossref.editor * }
      if$ }
    { "in \emph{" booktitle * "}" * }
    if$ }
  { "in " key * }
  if$
  " \cite{" * crossref * "}" *
}


FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  crossref missing$
    { format.journal.vol.year output
      format.number output
    }
    { format.article.crossref output.nonnull
    }
  if$
  format.language *
  eid missing$ 
    { format.pages "pages" output.check }
    { format.eid "eid" output.check
      "eid and note" note reallytwo.or.check } if$	
%  format.url output
  format.eprint output
  note output
  fin.entry
}

FUNCTION {book}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check }
    { format.authors output.nonnull
      crossref missing$
{ "author and editor" editor either.or.check }
'skip$
      if$
    }
  if$
  format.booktitle "title" output.check
  format.edition output
  crossref missing$
    { format.bookvolume.series.number output
      publisher "publisher" output.check
      address output
    }
    { format.book.crossref output.nonnull
    }
  if$
  format.date "year" output.check
  format.language *
%  format.url output
  format.eprint output
  note output
  format.book.pages output
  fin.entry
}
FUNCTION {booklet}
{ output.bibitem
  format.authors output
  format.booktitle "title" output.check
  howpublished output
  address output
  format.date output
%  format.url output
  format.eprint output
  note output
  fin.entry
}

FUNCTION {inbook}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check }
    { format.authors output.nonnull
      crossref missing$
{ "author and editor" editor either.or.check }
'skip$
      if$
    }
  if$
  format.title "title" output.check
  crossref missing$
    { format.bookvolume.series.number output
      format.chapter.pages "chapter and pages" output.check
      format.number.series output
      publisher "publisher" output.check
      address output
    }
    { format.chapter.pages "chapter and pages" output.check
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  format.language *
%  format.url output
  format.eprint output
  note output
  fin.entry
}

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  crossref missing$
    { format.incoll.title.editors "booktitle" output.check
      format.bookvolume.series.number output
      publisher "publisher" output.check
      address output
      format.edition output
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
    }
  if$
  note output
  format.pages output
  format.language *
%  format.url output
  format.eprint output
  fin.entry
}

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  crossref missing$
    { format.inproc.title.address.editors "booktitle" output.check
      format.bookvolume.series.number output
      organization output
      publisher output
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
    }
  if$
  note output
  format.pages output
  format.language *
%  format.url output
  format.eprint output
  fin.entry
}

FUNCTION {conference} { inproceedings }

FUNCTION {manual}
{ output.bibitem
  author empty$
    { organization empty$
'skip$
{ organization output.nonnull
  address output
}
      if$
    }
    { format.authors output.nonnull }
  if$
  format.booktitle "title" output.check
  author empty$
    { organization empty$
{ address output }
'skip$
      if$
    }
    { organization output
      address output
    }
  if$
  format.edition output
  format.date output
%  format.url output
  format.eprint output
  note output
  fin.entry
}

FUNCTION {masterthesis}
{ output.bibitem
  format.authors "author" output.check
  format.booktitle "title" output.check
  "\cdrmastersthesisname" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
%  format.url output
  format.eprint output
  note output
  fin.entry
}

FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  "\cdrphdthesisname" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
%  format.url output
  format.eprint output
  note output
  format.book.pages output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  editor empty$
    { organization output }
    { format.editors output.nonnull }
  if$
  format.booktitle "title" output.check
  format.bookvolume.series.number output
  address empty$
    { editor empty$
        'skip$
{ organization output }
      if$
      publisher output
      format.date "year" output.check
    }
    { address output.nonnull
      editor empty$
'skip$
{ organization output }
      if$
      publisher output
      format.date "year" output.check
    }
  if$
%  format.url output
  format.eprint output
  note output
  fin.entry
}

FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  format.tr.number output.nonnull
  institution "institution" output.check
  address output
  format.date "year" output.check
%  format.url output
  format.eprint output
  note output
  fin.entry
}


FUNCTION {misc}
{ output.bibitem
  format.authors output
  format.title output
  howpublished output
  format.date output
  note output
  format.book.pages output
%  format.url output
  format.eprint output
  fin.entry
  empty.misc.check
}

FUNCTION {unpublished}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  note "note" output.check
  format.date output
%  format.url output
  format.eprint output
  fin.entry
}
FUNCTION {default.type} { misc }
READ

FUNCTION {sortify}
{ purify$
  "l" change.case$
}

INTEGERS { len }

FUNCTION {chop.word}
{ 's :=
  'len :=
  s #1 len substring$ =
    { s len #1 + global.max$ substring$ }
    's
  if$
}

FUNCTION {sort.format.names}
{ 's :=
  #1 'nameptr :=
  ""
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { nameptr #1 >
{ "   " * }
'skip$
      if$
%%      s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
      s nameptr "{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
      nameptr numnames = t "others" = and
{ "et~al" * }
{ t sortify * }
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {sort.format.title}
{ 't :=
  "A " #2
    "An " #3
      "The " #4 t chop.word
    chop.word
  chop.word
  sortify
  #1 global.max$ substring$
}

FUNCTION {author.sort}
{ author empty$
    { key empty$
{ "to sort, need author or key in " cite$ * warning$
  ""
}
{ key sortify }
      if$
    }
    { author sort.format.names }
  if$
}

FUNCTION {author.editor.sort}
{ author empty$
    { editor empty$
{ key empty$
    { "to sort, need author, editor, or key in " cite$ * warning$
      ""
    }
    { key sortify }
  if$
}
{ editor sort.format.names }
      if$
    }
    { author sort.format.names }
  if$
}

FUNCTION {author.organization.sort}
{ author empty$
    { organization empty$
{ key empty$
    { "to sort, need author, organization, or key in " cite$ * warning$
      ""
    }
    { key sortify }
  if$
}
{ "The " #4 organization chop.word sortify }
      if$
    }
    { author sort.format.names }
  if$
}

FUNCTION {editor.organization.sort}
{ editor empty$
    { organization empty$
{ key empty$
    { "to sort, need editor, organization, or key in " cite$ * warning$
      ""
    }
    { key sortify }
  if$
}
{ "The " #4 organization chop.word sortify }
      if$
    }
    { editor sort.format.names }
  if$
}

FUNCTION {presort}
{
  type$ "book" =
  type$ "inbook" =
  or
    'author.editor.sort
    { type$ "proceedings" =
'editor.organization.sort
{ type$ "manual" =
    'author.organization.sort
    'author.sort
  if$
}
      if$
    }
  if$
  "    "
  *
  year field.or.null sortify
  *
  "    "
  *
  title field.or.null
  sort.format.title
  *
  #1 entry.max$ substring$
  'sort.key$ :=
}

ITERATE {presort}

SORT
STRINGS { longest.label prev.author this.author }

INTEGERS { number.label longest.label.width }

FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
  #1 'number.label :=
  #0 'longest.label.width :=
  "abcxyz" 'prev.author :=
  "" 'this.author :=
}

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$
  author empty$
    { editor empty$
      { "" }
      'editor
      if$
    }
    'author
  if$
  'this.author :=
  this.author prev.author =
    { "\bysame" 'extra.label := }
    { "" 'extra.label :=
      this.author "" =
        { "abcxyz" }
        'this.author
      if$
      'prev.author :=
    }
  if$
}

EXECUTE {initialize.longest.label}

ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{
  preamble$ empty$
    'skip$
    { preamble$ write$ newline$ }
  if$
  "\def\bysame{\leavevmode ---------\thinspace}" write$ newline$
  "\makeatletter\if@francais\providecommand{\og}{<<~}\providecommand{\fg}{~>>}" write$ newline$
  "\else\gdef\og{``}\gdef\fg{''}\fi\makeatother" write$ newline$
  "\def\cdrandname{\&}" write$ newline$
  "\providecommand\cdrnumero{no.~}" write$ newline$
  "\providecommand{\cdredsname}{eds.}" write$ newline$
  "\providecommand{\cdredname}{ed.}" write$ newline$
  "\providecommand{\cdrchapname}{chap.}" write$ newline$
  "\providecommand{\cdrmastersthesisname}{Memoir}" write$ newline$
  "\providecommand{\cdrphdthesisname}{PhD Thesis}" write$ newline$
  "\begin{thebibliography}{"  longest.label  * "}" * 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 file `smfplain.bst'.
cedram-ROIA.clo · 228 B
\setpublname[Revue ouv. IA]{Revue ouverte d'intelligence artificielle}%
\let\iftagsleft@\iffalse 
\cdr@uppercaseheadauthorsfalse
\cdr@EqCountersInSectionstrue
\cdr@uppercaseheadtitlesfalse
\PassOptionsToPackage{reqno}{amsmath}%
cedram-ROIA.sty · 17 KB
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{cedram-ROIA}

\def\currentjournaltitle{Revue Ouverte d'Intelligence Artificielle}
\protected@edef\currentjournalpublisher{Association pour la diffusion
  de la recherche francophone en intelligence artificielle}
\def\currentjournalshorttitle{ROIA}
\ISSN{pending}
\eISSN{2967-9672}
\CDRjournalURL{roia}
\CDRsetmeta{license}{ccby4}

\definecolor{ROIABlue}{HTML}{669895}

% long{\'e}vit{\'e} !
%
%% g{\'e}om{\'e}tries
\paperwidth=160mm
\paperheight=240mm
%
\textwidth=120mm
\textheight=190mm
\ifx\undefined\pdfpagewidth\else
\pdfpagewidth\paperwidth
\pdfpageheight\paperheight
\fi
\topmargin-9mm
\oddsidemargin-.54cm
\evensidemargin-.54cm
\headheight12pt
\logoheight6pt
\headsep24pt
\topskip12pt
%% Typo
\footskip30pt
\def\footnoterule{\kern-6\p@
  \hrule width 2truein \kern 5.6\p@}
\skip\footins=12pt plus 4pt minus 4pt
\parskip=6pt plus 1pt minus .6pt
\parindent=14pt
\normalparindent=14pt
\renewcommand\baselinestretch{}
\frenchspacing
\let\bbl@nonfrenchspacing\frenchspacing
%% 10 pt et dimensions TeX...
\def\@mainsize{10}\def\@ptsize{0}%
  \def\@typesizes{%
    \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}%
    \or{10}{12}% normalsize
    \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}%
    \or{\@xviipt}{20}\or{\@xxpt}{24}}%
  \normalsize \linespacing=\baselineskip
\let\ept\Small
%%%% Versions jolies -- macros sp{\'e}cifiques
\RequirePackage{amssymb}
\let\le\leqslant
\let\ge\geqslant
\let\leq\leqslant
\let\geq\geqslant
%%
\RequirePackage{newtxtext,newtxmath}
%%
\def\pointir{\discretionary{.}{}{.\kern.3em---\kern.4em\ignorespaces}}
% Pas de mise en romain des num{\'e}rotations intempestives !
\def\@upn#1{#1}
\let\cdr@up\relax
%% Param{\`e}tres de mise en page
%%�1re page
\pagenumbering{arabic}%
%% Forme des r{\'e}sum{\'e}s
%% On autorise les coupures de pages, vu qu'ils autorisent les r{\'e}um{\'e}s trop longs !
%\cdr@longabstractstrue
\newif\ifexistabstract\existabstracttrue
\def\noabstract{\global\existabstractfalse}
\abstractmarginL30pt
\abstractmarginR30pt
\newdimen\abstractrulewidth
\abstractrulewidth\textwidth
\advance\abstractrulewidth-2\abstractmarginL
\AtBeginDocument{%
\ifexistabstract
\def\cdr@preabstracthook{%
\parskip2ptplus1pt%
\centerline{\rule{\abstractrulewidth}{.5bp}}%
\vspace*{6pt}
}
\def\cdr@postabstracthook{%
  \unskip\unskip\par
    \ifx\@empty\@keywords@french\else
    \leftskip\abstractmarginL\rightskip\leftskip{\parindent\z@%
      \if@francais\@setkeywords\else\@setaltkeywords\fi}\par\fi
\centerline{\rule{\abstractrulewidth}{.5bp}}%
%\noindent\rule{\textwidth}{.5bp}\par%
\addvspace{18pt}}
\fi}
\def\abstractheadfont{\scshape}
\def\@setabstracthead{{\abstractheadfont\abstractname\unskip\pointir\ignorespaces}}
\def\@setaltabstracthead{{\abstractheadfont\altabstractname\unskip\pointir\ignorespaces}}
\def\@setabstractEShead{{\abstractheadfont\abstractESname\unskip\pointir\ignorespaces}}
\def\@setabstract@first{\if@francais\@setabstract\else\@setaltabstract\fi}
\let\@setabstract@last\relax
\def\setotherabstracts{%
\parskip2ptplus1pt%
\centerline{\rule{\abstractrulewidth}{.5bp}}%
\vspace*{6pt}
\leftskip\abstractmarginL\rightskip\leftskip{\parindent\z@\if@francais\@setaltabstract\@setaltkeywords\else\@setabstract\@setkeywords\fi}\par
\vspace{4pt}
\leftskip\abstractmarginL\rightskip\leftskip{\parindent\z@\ifx\@abstractES\@empty\else\@setabstractES\fi
  \ifx\@keywordsES\@empty\else\@setkeywordsES\fi}\par
\centerline{\rule{\abstractrulewidth}{.5bp}}%
\par}

%% Style des pages courantes
\def\ps@roia{%\ps@empty
  \def\@evenhead{%
    \def\thanks{\protect\thanks@warning}%
    {\Small\hfil\leftmark}{}{}\hfil}%
  \def\@oddhead{%
    \def\thanks{\protect\thanks@warning}%
    \hfil{\Small\itshape\rightmark}{}{}\hfil}%
  \def\@evenfoot{\normalfont\hfill-- \thepage{} --\hfill}%
  \def\@oddfoot{\normalfont\hfill-- \thepage{} --\hfill}%
  \let\@mkboth\markboth
}%
\let\ps@plain\ps@roia
\pagestyle{roia}%
%% Style de la premi{\`e}re page
\def\ps@firstpage{\ps@plain
  \def\@oddfoot{%\normalfont\hfill-- \thepage{} --\hfill
    \global\topskip\normaltopskip}%
  \let\@evenfoot\@oddfoot
  \def\@oddhead{\@serieslogo\hss}%
  \let\@evenhead\@oddhead % in case an article starts on a left-hand page
}%
%% Identificiation article premi{\`e}re page
\def\NoLogo{\xdef\article@logo{}}
\def\@logofont{\Small}
\def\article@logo{%
  \set@logo{%
    {%\large
%      \fontseries{b}\fontsize{10}{10}\selectfont
      \bfseries\normalsize\currentjournaltitle}\\[2pt]
      %\kern-.5mm\includegraphics[width=7cm]{ROIA-horizontitre}}\\
    \ifcdr@m@nuscript%
 	Brouillon d'article, version du \today
    \else
    \ifnum\currentvolume>\z@%
    Volume~{\currentvolume}, \no\currentissue, \currentyear,
    % \strut\hfill pp.~
    \pageinfo\par\fi\fi
  }%
}
%% Pr{\'e}sentation du titre
\def\@settitle{%
  \vspace*{-1.6cm}

  \bgroup
  \hsize.9\textwidth
  \raggedright
  \vglue2mm
  \normalfont\Huge\bfseries
  \@title
  \vskip10pt plus 4pt minus 3pt
  \egroup
}
\def\@setsubtitle{%
  \bgroup
  \raggedright
  \vglue-3mm
  \normalfont\huge\bfseries
  \@subtitle
  \vskip10pt plus 3pt minus 4pt
  \egroup
}
%% Pr{\'e}sentation des auteurs
% \if@francais
 \def\@@and{\unskip,}%
%  \else
 % \def\@@and{, }%
 % \fi

%\def\@@and{, }
 \def\author@andify{%
   \nxandlist {\unskip ,\penalty-2 \space\cdr@count@hasaddr=\z@\ignorespaces}%
     {\unskip , \cdr@count@hasaddr=\z@}%
     {\unskip , \penalty-1  \cdr@count@hasaddr=\z@}%
 }
%\def\and{}
\newcount\cdr@thankcount
\cdr@thankcount=\z@
\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi}
\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
 k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
 y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or
 kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or
 vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi}
\let\IsCorresp\relax
\newcount\CorrA\CorrA=\z@
\advance\@titlebotskip-7mm
\def\display@orcid#1{%
  \href{https://orcid.org/#1}{%
    \raisebox{.7ex}[0pt][0pt]{%
%      \includegraphics[height=1.1ex]{orcid.png}{}%
      \includegraphics[height=1.1ex]{orcid-bw.png}}%
%{\usefont{TU}{academicons}{m}{n}\symbol{"E9D9}}}%
    }
}
\newcount\cdr@count@hasaddr\cdr@count@hasaddr=\z@%
\def\@setauthors{%
  \begingroup
  \raggedright
  \def\CDRorcid##1{\kern1pt\display@orcid{##1}}%
  \def\IsCorresp{\textsuperscript{$*$,}\global\advance\CorrA\@ne\relax}%
  \def\thanks{\protect\thanks@warning}%
  \author@andify\authors
  \def\\{\space}%
  \def\Same{\same}%
  \def\New{\new}%
  \def\hasaddress##1##2{%
    \ifnum\cdr@count@hasaddr=\z@\kern.1em\fi
    \@ifempty{##1}{% cas pas sameaddress
%%�increment de compteur
\global\advance\cdr@thankcount\@ne%
\textsuperscript{\ifnum\cdr@count@hasaddr>\z@, \fi
  \textit{\@alph\cdr@thankcount}}%
}{% cas sameaddress
\def\What{##1}\ifx\What\Same
%%�pas d'increment de compteur
\textsuperscript{\ifnum\cdr@count@hasaddr>\z@, \fi
  \textit{\@alph\cdr@thankcount}}%
\else\ifx\What\New
%%�increment de compteur
\global\advance\cdr@thankcount\@ne%
\textsuperscript{\ifnum\cdr@count@hasaddr>\z@, \fi
  \textit{\@alph\cdr@thankcount}}%
\else
%% mode manuel
\count@=##1\relax
\textsuperscript{\ifnum\cdr@count@hasaddr>\z@, \fi
  \textit{\@alph\count@}}%
\fi\fi}\advance\cdr@count@hasaddr\@ne}%
  \large\textbf{\authors}\hfill\break%
  \ifx\@empty\contribs
  \else
    \\\penalty-3 \space \@setcontribs
    \@closetoccontribs
    \fi
    \par
  \endgroup
}
\newcount\cdr@notes@adress\cdr@notes@adress\z@
\def\@setafterauthor{%
  \vglue-3mm%
%  \hspace*{0pt}%
\noindent\hspace*{\abstractmarginL}\begin{minipage}[t]{10cm}
%   \leftskip\normalparindent
  \raggedright
  \normalfont\Small
  \@afterauthor\par
 \end{minipage}
  \vskip2pt plus 3pt minus 1pt
}
\def\@afterauthor{\ifx\@empty\addresses \else\@setaddresses\par
\ifcdr@GroupEmails\@setemails\par\fi\fi}
\def\@setaddresses{%\par
  \begingroup
  \cdr@thankcount\z@
   \url@samestyle
   \def\affiliationonly##1{##1}%
   \def\snailmailonly##1{\relax}%
   \def\lastname##1{\relax}%
   \def\firstname##1{\relax}%
   \def\hasthanks##1{##1\@addpunct.\@par}
   \def\hasaddress##1{\relax}%
   \def\author##1{%\ifnum\cdr@notes@adress=\z@\else\@@par\indent\fi\global\advance\cdr@notes@adress1
     % \textsuperscript{\@alph\cdr@notes@adress}\kern.2em
     \def\\{ \ignorespaces}\ignorespaces}%
   \def\address##1##2{\begingroup
   \@ifempty{##1}{% cas pas addressSameAs
     \ifnum\cdr@thankcount>\z@\par\vskip4pt\fi\global\advance\cdr@thankcount\@ne\global\cdr@notes@adress=\z@%
     \textsuperscript{\textit{\@alph\cdr@thankcount}}\kern.2em{\ignorespaces##2\unskip}}{}\endgroup}%
   \def\curraddr##1##2{\begingroup
     \@ifnotempty{##2}{\@@par\curraddrname{}\textit{\thsp:} %
       {\ignorespaces##2\unskip}\endgroup}}%
   \def\email##1##2{%
     \ifcdr@GroupEmails\else
     \begingroup
     \ifnum\cdr@notes@adress=\z@%
     \@ifnotempty{##2}{\@@par{\itshape\emailaddrname{}%
       \thsp: }%
     \href{mailto:##2}{##2}\@ifnotempty{##1}{ (##1)}}%
     \else,
     \@ifnotempty{##2}{\href{mailto:##2}{##2}\@ifnotempty{##1}{
         (##1)}}%
       \fi\global\advance\cdr@notes@adress1%
   \endgroup\fi
   }%
   \def\urladdr##1##2{\begingroup
%     \def~{\char`\~}%
     \@ifnotempty{##2}{\@@par\urladdrname{}\textit{\thsp:} %
       \url{##2}}\endgroup}%
   \addresses\@addpunct.%
   \endgroup
 }
\def\@setemails{%\par
  \begingroup
   \cdr@thankcount\z@
   \url@samestyle
   \def\affiliationonly##1{\relax}%
   \def\snailmailonly##1{\relax}%
   \def\lastname##1{\relax}%
   \def\firstname##1{\relax}%
   \def\hasthanks##1{\relax}
   \def\hasaddress##1{\relax}%
   \def\author##1{}%\ifnum\cdr@thankcount=\z@\else, \fi}
   \def\address##1##2{\relax}%
   \def\curraddr##1##2{\relax}%
   \def\email##1##2{%% Showing emails authorwise?
     \ifcdr@GroupEmails
     \begingroup
     \@ifnotempty{##2}{\ifnum\cdr@thankcount=\z@\else, \fi\href{mailto:##2}{##2}\@ifnotempty{##1}{ \mbox{(##1)}}}\endgroup\fi
     \global\advance\cdr@thankcount\@ne}%
   \def\urladdr##1##2{\relax}%
   \sbox\@tempboxa{\addresses\xdef\CDRess{\ifnum\cdr@thankcount>\@ne\relax s\fi}}%
   \ifdim\wd\@tempboxa>1em\relax
   \vskip2pt\@@par\textit{\emailsaddrname{}\CDRess\thsp:}
   \cdr@thankcount\z@
   \addresses\@addpunct.%
   \fi
   \endgroup
 }
%%%% Fin pres aut
\def\@setdedicatory{%
	\vtop{\raggedleft{\large\itshape\@dedicatory\@@par}}}
\advance\@titlebotskip-7mm
%% Notes
\def\@makefnmark{%
  \leavevmode
  \hbox{\@textsuperscript{\normalfont(\@thefnmark)}}}%
\AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^{(1)}$}}
% \def\@makefnmark{%
%   \leavevmode
%   \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont(\@thefnmark)\kern.15em}\ignorespaces%
% }
\def\@makequasifnmark#1{%
  \def\@thefnmark{#1}%
  \@makefnmark
}
\long\def\@quasifootnotetext#1#2{%
  \insert\footins{%
    \normalfont\footnotesize
    \interlinepenalty\interfootnotelinepenalty
    \splittopskip\footnotesep \splitmaxdepth \dp\strutbox
    \floatingpenalty\@MM \hsize\columnwidth
    \@parboxrestore \parindent\normalparindent \sloppy
    \@ifnotempty{#1}{\@makequasifnmark{#1}}%
      \rule\z@\footnotesep{\raggedright#2\unskip\strut\par}}}
%
%% Notes de la premi{\`e}re page
\def\@setdates{%
\vglue4mm
\rightline{\itshape\Small
\ifx\@empty\@datereceived\else\@setdatereceived
\ifx\@empty\@daterevised\else\@setdaterevised\fi
\ifx\@empty\@dateaccepted Manuscrit non accept{\'e} !\else\@setdateaccepted\fi\fi}}
\if@francais
\def\curraddrname{Adresse actuelle}
\def\emailsaddrname{Courriel}
\else
\def\curraddrname{Current address}
\def\emailsaddrname{E-mail}
\fi
\def\emailaddrname{E-mail}
\def\urladdrname{URL}

\def\ProposedBy#1{\def\cdr@proposedby{#1}}%
\let\cdr@proposedby\@empty
\def\@setproposedby{%
 Article propos{\'e} par \cdr@proposedby.}

 \def\@adminfootnotes{}%
\def\@setthanks{\def\thanks##1{##1\@addpunct.}%
  \thankses}%
\def\@setsubjclass{%
  {\abstractfont{\abstractheadfont\subjclassname\pointir}\space\@subjclass\@addpunct.}}
\def\@setkeywords{%
    \global\kwd@count=\z@%
    {\abstractfont{\abstractheadfont \keywordsname\pointir}\space \@keywords\unskip\@addpunct.}}
\def\@setaltkeywords{%
    \global\kwd@count=\z@%
    {\abstractfont{\abstractheadfont \altkeywordsname\pointir}\space \@altkeywords\unskip\@addpunct.}}
\def\@setkeywordsES{%
   {\abstractfont{\abstractheadfont \keywordsESname\pointir}\space \@keywordsES\@addpunct.}}
\if@francais
 \def\keywordsname{Mots-cl{\'e}s}
 \def\altkeywordsname{Keywords}
 \def\keywordsESname{Palabras claves}
 \def\abstractESname{Resumen}
 \def\subjclassname{Classification math.}
\else
 \def\altkeywordsname{Mots-cl{\'e}s}
 \def\keywordsname{Keywords}
 \def\subjclassname{Math. classification}
\fi
\@xp\let\csname subjclassname@2000\endcsname \subjclassname
%% Dates
\RequirePackage[french,orig]{isodate}
\def\@setdatereceived{%
%  \par
  Manuscrit re{\c c}u le \printdate\@datereceived, }%
\def\@setdaterevised{%
%  \newline
  r{\'e}vis{\'e} le \printdate\@daterevised, }%
\def\@setdateaccepted{%
%  \newline
  accept{\'e} le \printdate\@dateaccepted.}%
%
%%�final
\def\enddoc@text{\@setdates}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% sections
% \section remplace TITRE
\renewcommand\section{\@startsection{section}{1}{\normalparindent}%
{14pt plus 3pt minus 2pt}{1sp}
{\normalfont\bfseries\scshape\raggedright}}
%
\renewcommand\subsection{\@startsection{subsection}{2}{\normalparindent}%
{12.5pt plus 3pt minus 2pt}{1sp}
{\normalfont\scshape\raggedright}}
%
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\normalparindent}%
{12.5pt plus 3pt minus 2pt}{1sp}
{\normalfont\itshape}}
%
\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
{3mm}{-.2em}{\normalfont\scshape}}
%
\newcommand\paragraphc{\@startsection{paragraph}{4}{\parindent}%
{3mm}{1sp}{\normalfont\scshape}}
%
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3mm}{-.2em}{\normalfont\itshape}}
%
\newcommand{\subparagraphc}{\@startsection{subparagraph}{5}{\parindent}%
{3mm}{1sp}{\normalfont\itshape}}
\renewcommand{\@seccntformat}[1]{{\upshape\csname the#1\endcsname}.\hspace{0.5em}\ignorespaces}
\def\cdr@secpoint{\pointir}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
%% Biblio
\AtBeginDocument{\bibliographystyle{cdraifplain}}
\renewcommand{\@bibtitlestyle}{%
  \section*{\bibname}%
}
%% Th{\'e}or{\`e}mes
\def\th@plain{%
  \thm@bodyfont{\normalfont\itshape}%
  \thm@headfont{\normalfont\scshape}%
  \thm@notefont{\normalfont}%
  \thm@headpunct{\pointir}%
  \thm@headsep 0\p@\relax
  \let\thm@indent\indent
  \def\thm@space@setup{%
    \thm@preskip=5pt
    \thm@postskip=\thm@preskip}%
  \ifdefined\@add@frontmatter\else\itshape\fi
}
\def\th@remark{%
  \thm@bodyfont{\normalfont}%
  \thm@headfont{\normalfont\itshape}%
  \thm@notefont{\normalfont\itshape}%
  \thm@headpunct{\pointir}%
  \thm@headsep 0\p@\relax
  \let\thm@indent\indent
  \def\thm@space@setup{%
    \thm@preskip=5pt
    \thm@postskip=\thm@preskip}%
}
\let\th@definition\th@plain
% Versions coup{\'e}es -- sans pointir !
 \def\th@plainc{%
   \th@plain
   \thm@headpunct{.}%
   \def\thmheadnl{\newline\indent}%
   \thm@headsep\z@skip
 }
 \def\th@remarkc{%
   \th@remark
   \thm@headpunct{.}%
   \def\thmheadnl{\newline\indent}%
   \thm@headsep\z@skip
 }
\AtBeginDocument{%
\theoremstyle{plainc}%
  \newtheorem{theoc}[\cdr@thm]{\theoname}%
  \newtheorem{propc}[\cdr@thm]{\propname}%
  \newtheorem{conjc}[\cdr@thm]{\conjname}%
  \newtheorem{coroc}[\cdr@thm]{\coroname}%
  \newtheorem{lemmc}[\cdr@thm]{\lemmname}%
  \newtheorem{defic}[\cdr@thm]{\definame}%
  \newtheorem*{theoc*}{\theoname}%
  \newtheorem*{propc*}{\propname}%
  \newtheorem*{conjc*}{\conjname}%
  \newtheorem*{coroc*}{\coroname}%
  \newtheorem*{lemmc*}{\lemmname}%
  \newtheorem*{defic*}{\definame}%
  \theoremstyle{remarkc}%
  \newtheorem{notac}[\cdr@thm]{\notaname}%
  \newtheorem{notasc}[\cdr@thm]{\notasname}%
  \newtheorem{remac}[\cdr@thm]{\remaname}%
  \newtheorem{remasc}[\cdr@thm]{\remasname}%
  \newtheorem{exemc}[\cdr@thm]{\exemname}%
  \newtheorem{exemsc}[\cdr@thm]{\exemsname}%
  \newtheorem*{notac*}{\notaname}%
  \newtheorem*{notasc*}{\notasname}%
  \newtheorem*{remac*}{\remaname}%
  \newtheorem*{remasc*}{\remasname}%
  \newtheorem*{exemc*}{\exemname}%
  \newtheorem*{exemsc*}{\exemsname}%
\theoremstyle{plain}%
}%
%
\OneNumberAllTheorems
\NumberTheoremsIn{section}
%\def\proofheadfont{\itshape}
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep\thm@preskip
  \trivlist
  \item\hskip\parindent
        \itshape
        #1\@addpunct{\pointir}\ignorespaces\normalfont
}{%
  \popQED\endtrivlist\@endpefalse
}
\newenvironment{proofc}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep\thm@preskip
  \trivlist
  \item\hskip\parindent
        \itshape
        #1\@addpunct{.}\ignorespaces\normalfont
}{%
  \popQED\endtrivlist\@endpefalse
}
%
%% Floats
 \def\@captionheadfont{\normalfont}
 \def\@captionfont{\normalfont}
\newskip\abovecaptionskip \abovecaptionskip=12pt \relax
\newskip\belowcaptionskip \belowcaptionskip=12pt \relax
\newdimen\captionindent \captionindent=\normalparindent
\numberwithin{figure}{section}
\numberwithin{table}{section}
%% pages volumes
\ifcdr@volume
\def\MakeFront{%% ce qui est quasi-constant
  \cdr@input{front}%
  %% Ce qui d{\'e}pend de la revue, {\`a} d{\'e}finir dans revue.cfg
  \@makeFront}
\def\@makeFront{%
\pagenumbering{arabic}%
\global\tkkp={\setpage[roman]}%
}
\def\enddoc@text{}
\fi
\def\@tocpagenum#1{\hss{#1}}
\let\authorSOM@andify\author@andify
%\ifcdr@recup
\newcommand{\R}{\mathbb{R}}
\newcommand{\RR}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\PP}{\mathbb{P}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\K}{\mathbb{K}}
\newcommand{\D}{\mathbb{D}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\M}{\mathbb{M}}
\newcommand{\T}{\mathbb{T}}
%\fi
cedram.cls · 159 KB

159 KB — too long to show here. It arrives with the project.

roia-type.tex — the file that is compiled · 5 KB
%% Ceci est un exemple et un gabarit pour les articles publi{\'e}s par la 
%% Revue Ouverte d'Intelligence Artificielle (ROIA)

%% La classe cedram.cls et son option cedram-ROIA.clo doivent se
%% trouver dans le r{\'e}pertoire de pr{\'e}paration de l'article, ou dans le
%% chemin de recherche de LaTeX.  Elle est bas{\'e}e sur la classe 
%% amsart.cls (version 2) et impl{\'e}mente la mise en page de la revue,
%% ainsi que quelques commandes sp{\'e}cifiques en vue de la mise en ligne.  
%% Les options disponibles : 
%% francais pour les articles {\'e}crits en fran{\c c}ais 
%% (anglais n'est pas n{\'e}cessaire car c'est la langue par d{\'e}faut). 
%% Unicode pour disposer des caract{\`e}res accentu{\'e}s sans avoir recours {\`a}
%% des macros (ceci impose un codage utf8). 
%% L'option manuscript est obligatoire pour les manuscrits pr{\'e}par{\'e}s
%% par les auteurs.
\documentclass[francais,ROIA,Unicode,manuscript]{cedram}

%% On peut charger ici des extensions standard si les fonctions
%% fournies sont n{\'e}cessaires {\`a} la compilation de l'article. 
%\usepackage[matrix,arrow,tips,curve]{xy}
% \usepackage{gensymb}
% \usepackage{booktabs}
% \usepackage{algorithmic}
% \usepackage[french,onelanguage,linesnumbered,algoruled]{algorithm2e}
% ...

%% D{\'e}finitions utilisateur et macros pratiques...  De telles
%% d{\'e}finitions sont interdites dans les titres, les r{\'e}sum{\'e}s ou la
%% bibliographie.
%\newcommand{\la}{\longrightarrow}
% ...

%% Un ensemble de th{\'e}or{\`e}mes sont pr{\'e}d{\'e}finis. La r{\`e}gle mn{\'e}motechnique
%% est que le nom de l'environnement est form{\'e} des quatre premi{\`e}res
%% lettres (sans accents) de l'{\'e}tiquette utilis{\'e}e (theo, exam, rema,
%% coro, conj, etc.) ; les versions ast{\'e}risqu{\'e}es (non num{\'e}rot{\'e}es)
%% existent de m{\^e}me (theo*, etc.). Pour ne pas modifier vos habitudes
%% de saisie, il est possible de d{\'e}clarer, par exemple :
%\equalenv{remark}{rema}
%% qui d{\'e}finit un environnement « remark » identique {\`a} « rema ».

%% Le titre de l'article: syntaxe d'amsart.
\title
%% L'argument optionnel donne la version courte pour les ent{\^e}tes.
%% Inutile si le titre est suffisamment court 
[Le probl{\`e}me P/NP]
%% L'argument obligatoire est imprim{\'e} sur la premi{\`e}re page, dans les
%% ent{\^e}tes si la version courte n'est pas sp{\'e}cifi{\'e}e.
{Your paper}

%% Le titre anglais de l'article.
\alttitle{P/NP is not P}

%% Les noms des auteurs, selon la syntaxe d'amsart, avec en outre la
%% distinction pr{\'e}nom/nom
\author{\firstname{Pierre} \middlename{W.} \lastname{Fermat}}

%% N'inclure aucune autre information dans l'argument de la macro
%% \author ! Toutes les autres donn{\'e}es ont des commandes sp{\'e}cifiques :
\address{University of Paris\\ 
Dept. of pure and applied mathematics\\
2400 Clarksville st.\\
Paris, TX 75460 (USA)}

%% Addresse actuelle, si elle diff{\`e}re de l'adresse professionnelle
%% durable.
\curraddr{Universit{\'e} de Paris XI\\
Facult{\'e} des sciences d'Orsay\\
91405 Orsay cedex (France)}

%% Addresse de messagerie {\'e}lectronique
\email{[email protected]}

%% Possibilit{\'e} de donner l'URL de sa page personnelle (d{\'e}conseill{\'e} par
%% le style de la revue)
\urladdr{http://www.fermat.org/}

%% Les cr{\'e}dits ou remerciements ne se mettent pas en note dans
%% \author, mais {\`a} part :
\thanks{L'auteur a b{\'e}n{\'e}fici{\'e} d'un soutien important de la communaut{\'e}.}

%% En pr{\'e}sence de coauteurs, chacun est saisi ici de la m{\^e}me fa{\c c}on,
%% dans l'ordre alphab{\'e}tique.
%\author{\firstname{Alan} \middlename{W.} \lastname{Turing}}
%\address{Big Apple University\\
% Myself Institute \\
%  Wilmslow, UK}
%\email{[email protected]}

%% Mots et expressions cl{\'e}s :
\keywords{Semblable banalit{\'e}, autosimilarit{\'e} logarithmique, Machine}
  
%% Mots et expressions cl{\'e}s en anglais :
\altkeywords{Isotriviality, log-selfishness, Machine}

%% Mots et expressions cl{\'e}s en espagnol :
\keywordsES{Muy similarez,  igual-fatal , Maquina M{\'\i} a}


%% R{\'e}sum{\'e}
\begin{abstract}
Ceci est le r{\'e}sum{\'e} fran\c cais.
\end{abstract}

%% R{\'e}sum{\'e} anglais
\begin{altabstract}
  Here is the abstract.
\end{altabstract}

%% R{\'e}sum{\'e} espagnol
\begin{abstractES}
 Eso es el Resumen.
\end{abstractES}

%% Toutes ces informations doivent se trouver avant \maketitle, et
%% encore mieux : avant \begin{document}

\begin{document}


\maketitle



Ici commence le texte !

\newpage


\nocite{*}
\bibliography{biblio}

\bigskip

% Pour afficher les r{\'e}sum{\'e}s anglais et fran{\c c}ais
\setotherabstracts


\end{document}

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