research-paper-writing

Write ML papers for NeurIPS/ICML/ICLR: design→submit.

  • Research
  • Paper Writing
  • Experiments
  • ML
  • AI
  • NeurIPS
  • ICML
  • ICLR
  • ACL
  • AAAI
  • COLM
  • LaTeX
  • Citations
  • Statistical Analysis

Declared platforms: linux · macos

Install
npx skills add 'https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/research/research-paper-writing'
Download bundle ↓
main · 24fd22bScanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

templates/aaai2026/aaai2026.bst

templates/aaai2026/aaai2026.bstBrowse 56 files
View on GitHub
← Back to SKILL.md
%%%% This is file `aaai2026.bst',%% generated with the docstrip utility.%%%% The original source files were:%%%% merlin.mbs  (with options: `head,ay,nat,ed-au,nm-rev,ed-rev,jnrlst,aunm-semi,mcite,mct-1,mct-x3,keyxyr,dt-beg,yr-per,yrp-per,note-yr,atit-u,volp-sp,num-xser,bkpg-x,add-pub,isbn,ppx,ed,xedn,and-com,and-com-ed,etal-xc,nfss,,{}')%% merlin.mbs  (with options: `tail,ay,nat,ed-au,nm-rev,ed-rev,jnrlst,aunm-semi,mcite,mct-1,mct-x3,keyxyr,dt-beg,yr-per,yrp-per,note-yr,atit-u,volp-sp,num-xser,bkpg-x,add-pub,isbn,ppx,ed,xedn,and-com,and-com-ed,etal-xc,nfss,,{}')%% ----------------------------------------%% *** Natbib-compatible implementation of 'aaai' bib style ***%%  % =============================================================== % 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}[2011/11/18 4.33 (PWD, AO, DPC)] %   For use with BibTeX version 0.99a or later %------------------------------------------------------------------- % This bibliography style file is intended for texts in ENGLISH % This is an author-year citation style bibliography. As such, it is % non-standard LaTeX, and requires a special package file to function properly. % Such a package is    natbib.sty   by Patrick W. Daly % The form of the \bibitem entries is %   \bibitem[Jones et al.(1990)]{key}... %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... % The essential feature is that the label (the part in brackets) consists % of the author names, as they should appear in the citation, with the year % in parentheses following. There must be no space before the opening % parenthesis! % With natbib v5.3, a full list of authors may also follow the year. % In natbib.sty, it is possible to define the type of enclosures that is % really wanted (brackets or parentheses), but in either case, there must % be parentheses in the label. % The \cite command functions as follows: %   \citet{key} ==>>                Jones et al. (1990) %   \citet*{key} ==>>               Jones, Baker, and Smith (1990) %   \citep{key} ==>>                (Jones et al., 1990) %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990) %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2) %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990) %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., 1990, p. 32) %   \citeauthor{key} ==>>           Jones et al. %   \citeauthor*{key} ==>>          Jones, Baker, and Smith %   \citeyear{key} ==>>             1990 %--------------------------------------------------------------------- ENTRY  { address    archivePrefix    author    booktitle    chapter    edition    editor    eid    eprint    howpublished    institution    isbn    journal    key    month    note    number    organization    pages    publisher    school    series    title    type    volume    year  }  {}  { label extra.label sort.label short.list }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}{ add.period$  write$  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 {date.block}{  new.block} FUNCTION {not}{   { #0 }    { #1 }  if$}FUNCTION {and}{   'skip$    { pop$ #0 }  if$}FUNCTION {or}{   { pop$ #1 }    'skip$  if$}FUNCTION {new.block.checkb}{ empty$  swap$ empty$  and    'skip$    'new.block  if$}FUNCTION {field.or.null}{ duplicate$ empty$    { pop$ "" }    'skip$  if$}FUNCTION {emphasize}{ duplicate$ empty$    { pop$ "" }    { "\emph{" 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 ENGLISHFUNCTION {bbl.and}{ "and"} FUNCTION {bbl.etal}{ "et~al." } FUNCTION {bbl.editors}{ "eds." } FUNCTION {bbl.editor}{ "ed." } FUNCTION {bbl.edby}{ "edited by" } FUNCTION {bbl.edition}{ "edition" } FUNCTION {bbl.volume}{ "volume" } FUNCTION {bbl.of}{ "of" } FUNCTION {bbl.number}{ "number" } FUNCTION {bbl.nr}{ "no." } FUNCTION {bbl.in}{ "in" } FUNCTION {bbl.pages}{ "" } FUNCTION {bbl.page}{ "" } FUNCTION {bbl.chapter}{ "chapter" } FUNCTION {bbl.techrep}{ "Technical Report" } FUNCTION {bbl.mthesis}{ "Master's thesis" } FUNCTION {bbl.phdthesis}{ "Ph.D. thesis" } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"}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.eprint}{ eprint duplicate$ empty$    'skip$    { archivePrefix duplicate$ empty$        'skip$        { ":" * swap$ }      if$      * "." *    }  if$}INTEGERS { nameptr namesleft numnames }  STRINGS  { bibinfo} FUNCTION {format.names}{ 'bibinfo :=  duplicate$ empty$ 'skip$ {  's :=  "" 't :=  #1 'nameptr :=  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr      "{vv~}{ll}{, f.}{, jj}"      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 *                }                {                  bbl.and                  space.word * t *                }              if$            }          if$        }        't      if$      nameptr #1 + 'nameptr :=      namesleft #1 - 'namesleft :=    }  while$  } if$}FUNCTION {format.names.ed}{  format.names}FUNCTION {format.key}{ empty$    { key field.or.null }    { "" }  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      *    }  if$}FUNCTION {format.isbn}{ isbn "isbn" bibinfo.check  duplicate$ empty$ 'skip$    {      new.block      "ISBN " 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  "title" bibinfo.check}FUNCTION {format.full.names}{'s := "" 't :=  #1 'nameptr :=  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr      "{vv~}{ll}" format.name$      't :=      nameptr #1 >        {          namesleft #1 >            { ", " * t * }            {              s nameptr "{ll}" format.name$ duplicate$ "others" =                { 't := }                { pop$ }              if$              t "others" =                {                  " " * bbl.etal *                }                {                  numnames #2 >                    { "," * }                    'skip$                  if$                  bbl.and                  space.word * t *                }              if$            }          if$        }        't      if$      nameptr #1 + 'nameptr :=      namesleft #1 - 'namesleft :=    }  while$} FUNCTION {author.editor.key.full}{ author empty$    { editor empty$        { key empty$            { cite$ #1 #3 substring$ }            'key          if$        }        { editor format.full.names }      if$    }    { author format.full.names }  if$} FUNCTION {author.key.full}{ author empty$    { key empty$         { cite$ #1 #3 substring$ }          'key      if$    }    { author format.full.names }  if$} FUNCTION {editor.key.full}{ editor empty$    { key empty$         { cite$ #1 #3 substring$ }          'key      if$    }    { editor format.full.names }  if$} FUNCTION {make.full.names}{ type$ "book" =  type$ "inbook" =  or    'author.editor.key.full    { type$ "proceedings" =        'editor.key.full        'author.key.full      if$    }  if$} FUNCTION {output.bibitem}{ newline$  "\bibitem[{" write$  label write$  ")" make.full.names duplicate$ short.list =     { pop$ }     { * }   if$  "}]{" * write$  cite$ write$  "}" write$  newline$  ""  before.all 'output.state :=} 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 {word.in}{ bbl.in capitalize  " " * } FUNCTION {format.date}{ year "year" bibinfo.check duplicate$ empty$    {      "empty year in " cite$ * "; set to ????" * warning$       pop$ "????"    }    'skip$  if$  extra.label *  before.all 'output.state :=  after.sentence 'output.state :=}FUNCTION {format.btitle}{ title "title" bibinfo.check  duplicate$ empty$ 'skip$    {      emphasize    }  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$        { swap$ bbl.of space.word * swap$          emphasize * }      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        {          n.dashify        }        {        }      if$      "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$  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  emphasize}FUNCTION {format.in.ed.booktitle}{ format.booktitle duplicate$ empty$ 'skip$    {      editor "editor" format.names.ed duplicate$ empty$ 'pop$        {          "," *          " " *          get.bbl.editor          ", " *          * swap$          * }      if$      word.in swap$ *    }  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}{  word.in  " \cite{" * crossref * "}" *}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$  " \cite{" * crossref * "}" *}FUNCTION {format.incoll.inproc.crossref}{  word.in  " \cite{" * crossref * "}" *}FUNCTION {format.org.or.pub}{ 't :=  ""  address empty$ t empty$ and    'skip$    {      address "address" bibinfo.check *      t empty$        'skip$        { address empty$            'skip$            { ": " * }          if$          t *        }      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  author format.key output  format.date "year" output.check  date.block  format.title "title" output.check  new.block  crossref missing$    {      journal      "journal" bibinfo.check      emphasize      "journal" output.check      format.vol.num.pages output    }    { format.article.crossref output.nonnull      format.pages output    }  if$  new.block  format.note output  fin.entry}FUNCTION {book}{ output.bibitem  author empty$    { format.editors "author and editor" output.check      editor format.key output    }    { format.authors output.nonnull      crossref missing$        { "author and editor" editor either.or.check }        'skip$      if$    }  if$  format.date "year" output.check  date.block  format.btitle "title" output.check  crossref missing$    { format.bvolume output      new.block      format.number.series output      new.sentence      format.publisher.address output    }    {      new.block      format.book.crossref output.nonnull    }  if$  format.edition output  format.isbn output  new.block  format.note output  fin.entry}FUNCTION {booklet}{ output.bibitem  format.authors output  author format.key output  format.date "year" output.check  date.block  format.title "title" output.check  new.block  howpublished "howpublished" bibinfo.check output  address "address" bibinfo.check output  format.isbn output  new.block  format.note output  fin.entry} FUNCTION {inbook}{ output.bibitem  author empty$    { format.editors "author and editor" output.check      editor format.key output    }    { format.authors output.nonnull      crossref missing$        { "author and editor" editor either.or.check }        'skip$      if$    }  if$  format.date "year" output.check  date.block  format.btitle "title" output.check  crossref missing$    {      format.bvolume 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.edition output  crossref missing$    { format.isbn output }    'skip$  if$  new.block  format.note output  fin.entry} FUNCTION {incollection}{ output.bibitem  format.authors "author" output.check  author format.key output  format.date "year" output.check  date.block  format.title "title" output.check  new.block  crossref missing$    { format.in.ed.booktitle "booktitle" output.check      format.bvolume output      format.number.series output      format.chapter.pages output      new.sentence      format.publisher.address output      format.edition output      format.isbn output    }    { format.incoll.inproc.crossref output.nonnull      format.chapter.pages output    }  if$  new.block  format.note output  fin.entry}FUNCTION {inproceedings}{ output.bibitem  format.authors "author" output.check  author format.key output  format.date "year" output.check  date.block  format.title "title" output.check  new.block  crossref missing$    { format.in.ed.booktitle "booktitle" output.check      format.bvolume output      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.isbn output    }    { format.incoll.inproc.crossref output.nonnull      format.pages output    }  if$  new.block  format.note output  fin.entry}FUNCTION {conference} { inproceedings }FUNCTION {manual}{ output.bibitem  format.authors output  author format.key output  format.date "year" output.check  date.block  format.btitle "title" output.check  organization address new.block.checkb  organization "organization" bibinfo.check output  address "address" bibinfo.check output  format.edition output  new.block  format.note output  fin.entry} FUNCTION {mastersthesis}{ output.bibitem  format.authors "author" output.check  author format.key output  format.date "year" output.check  date.block  format.btitle  "title" output.check  new.block  bbl.mthesis format.thesis.type output.nonnull  school "school" bibinfo.warn output  address "address" bibinfo.check output  new.block  format.note output  fin.entry} FUNCTION {misc}{ output.bibitem  format.authors output  author format.key output  format.date "year" output.check  date.block  format.title output  new.block  howpublished "howpublished" bibinfo.check output  new.block  format.note output  format.eprint output  fin.entry}FUNCTION {phdthesis}{ output.bibitem  format.authors "author" output.check  author format.key output  format.date "year" output.check  date.block  format.btitle  "title" output.check  new.block  bbl.phdthesis format.thesis.type output.nonnull  school "school" bibinfo.warn output  address "address" bibinfo.check output  new.block  format.note output  fin.entry} FUNCTION {proceedings}{ output.bibitem  format.editors output  editor format.key output  format.date "year" output.check  date.block  format.btitle "title" output.check  format.bvolume output  format.number.series output  new.sentence  publisher empty$    { format.organization.address output }    { organization "organization" bibinfo.check output      format.publisher.address output    }  if$  format.isbn output  new.block  format.note output  fin.entry} FUNCTION {techreport}{ output.bibitem  format.authors "author" output.check  author format.key output  format.date "year" output.check  date.block  format.title  "title" output.check  new.block  format.tr.number output.nonnull  institution "institution" bibinfo.warn output  address "address" bibinfo.check output  new.block  format.note output  fin.entry} FUNCTION {unpublished}{ output.bibitem  format.authors "author" output.check  author format.key output  format.date "year" output.check  date.block  format.title "title" output.check  new.block  format.note "note" output.check  fin.entry} FUNCTION {default.type} { misc }READFUNCTION {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 {format.lab.names}{'s := "" 't :=  #1 'nameptr :=  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr      "{vv~}{ll}" format.name$      't :=      nameptr #1 >        {          nameptr #2 =          numnames #3 > and            { "others" 't :=              #1 'namesleft := }            'skip$          if$          namesleft #1 >            { ", " * t * }            {              s nameptr "{ll}" format.name$ duplicate$ "others" =                { 't := }                { pop$ }              if$              t "others" =                {                  " " * bbl.etal *                }                {                  numnames #2 >                    { "," * }                    'skip$                  if$                  bbl.and                  space.word * t *                }              if$            }          if$        }        't      if$      nameptr #1 + 'nameptr :=      namesleft #1 - 'namesleft :=    }  while$} FUNCTION {author.key.label}{ author empty$    { key empty$        { cite$ #1 #3 substring$ }        'key      if$    }    { author format.lab.names }  if$} FUNCTION {author.editor.key.label}{ author empty$    { editor empty$        { key empty$            { cite$ #1 #3 substring$ }            'key          if$        }        { editor format.lab.names }      if$    }    { author format.lab.names }  if$} FUNCTION {editor.key.label}{ editor empty$    { key empty$        { cite$ #1 #3 substring$ }        'key      if$    }    { editor format.lab.names }  if$} FUNCTION {calc.short.authors}{ type$ "book" =  type$ "inbook" =  or    'author.editor.key.label    { type$ "proceedings" =        'editor.key.label        'author.key.label      if$    }  if$  'short.list :=} FUNCTION {calc.label}{ calc.short.authors  short.list  "("  *  year duplicate$ empty$  short.list key field.or.null = or     { pop$ "" }     'skip$  if$  *  'label :=} FUNCTION {sort.format.names}{ 's :=  #1 'nameptr :=  ""  s num.names$ 'numnames :=  numnames 'namesleft :=    { namesleft #0 > }    { s nameptr      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"      format.name$ 't :=      nameptr #1 >        {          "   "  *          namesleft #1 = t "others" = and            { "zzzzz" 't := }            'skip$          if$          t sortify *        }        { 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 {editor.sort}{ editor empty$    { key empty$        { "to sort, need editor or key in " cite$ * warning$          ""        }        { key sortify }      if$    }    { editor sort.format.names }  if$}FUNCTION {presort}{ calc.label  label sortify  "    "  *  type$ "book" =  type$ "inbook" =  or    'author.editor.sort    { type$ "proceedings" =        'editor.sort        'author.sort      if$    }  if$  #1 entry.max$ substring$  'sort.label :=  sort.label  *  "    "  *  title field.or.null  sort.format.title  *  #1 entry.max$ substring$  'sort.key$ :=} ITERATE {presort}SORTSTRINGS { last.label next.extra }INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }FUNCTION {initialize.extra.label.stuff}{ #0 int.to.chr$ 'last.label :=  "" 'next.extra :=  #0 'last.extra.num :=  "a" chr.to.int$ #1 - 'last.extra.num.blank :=  last.extra.num.blank 'last.extra.num.extended :=  #0 'number.label :=}FUNCTION {forward.pass}{ last.label label =    { last.extra.num #1 + 'last.extra.num :=      last.extra.num "z" chr.to.int$ >       { "a" chr.to.int$ 'last.extra.num :=         last.extra.num.extended #1 + 'last.extra.num.extended :=       }       'skip$      if$      last.extra.num.extended last.extra.num.blank >        { last.extra.num.extended int.to.chr$          last.extra.num int.to.chr$          * 'extra.label := }        { last.extra.num int.to.chr$ 'extra.label := }      if$    }    { "a" chr.to.int$ 'last.extra.num :=      "" 'extra.label :=      label 'last.label :=    }  if$  number.label #1 + 'number.label :=}FUNCTION {reverse.pass}{ next.extra "b" =    { "a" 'extra.label := }    'skip$  if$  extra.label 'next.extra :=  extra.label  duplicate$ empty$    'skip$    { "{\natexlab{" swap$ * "}}" * }  if$  'extra.label :=  label extra.label * 'label :=}EXECUTE {initialize.extra.label.stuff}ITERATE {forward.pass}REVERSE {reverse.pass}FUNCTION {bib.sort.order}{ sort.label  "    "  *  year field.or.null sortify  *  "    "  *  title field.or.null  sort.format.title  *  #1 entry.max$ substring$  'sort.key$ :=}ITERATE {bib.sort.order}SORTFUNCTION {begin.bib}{ preamble$ empty$    'skip$    { preamble$ write$ newline$ }  if$  "\begin{thebibliography}{" number.label int.to.str$ * "}" *  write$ newline$  "\providecommand{\natexlab}[1]{#1}"  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 `aaai2026.bst'.