Se connecter | S'enregistrer

MathemaTeX.net

Mathématiques francophones avec support LaTeX et Asymptote.

Références auteurs biblio dans texte insécable

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Références auteurs biblio dans texte insécable

Messagepar Greg-sav » Jeudi 03 Mai 2012, 17:25

Bonjour,
j'utilise bibtex (package multibib) pour ma thèse et j'ai un soucis avec les références biblio des auteurs dans le texte. Si les références sont trop longues, elles débordent du texte.
Je ne sais pas si c'est une erreur dans le .bst posté ci dessous.

Code: Tout sélectionner

% BibTeX `apalike' bibliography style (24-Jan-88 version)
% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
% Copyright (C) 1988, all rights reserved.
% Copying of this file is allowed, provided that if you make any changes at all
% you name it something other than `apalike.bst'.
% This restriction helps ensure that all copies are identical.
% Differences between this style and `alpha' are generally heralded by a `%'.
% The file btxbst.doc has the documentation for alpha.bst.
%
% This style should be used with the `apalike' LaTeX style (apalike.sty).
% \cite's come out like "(Jones, 1986)" in the text but there are no labels
% in the bibliography, and something like "(1986)" comes out immediately
% after the author.  Author (and editor) names appear as last name, comma,
% initials.  A `year' field is required for every entry, and so is either
% an author (or in some cases, an editor) field or a key field.
%
% Editorial note:
% Many journals require a style like `apalike', but I strongly, strongly,
% strongly recommend that you not use it if you have a choice---use something
% like `plain' instead.  Mary-Claire van Leunen (A Handbook for Scholars,
% Knopf, 1979) argues convincingly that a style like `plain' encourages better
% writing than one like `apalike'.  Furthermore the strongest arguments for
% using an author-date style like `apalike'---that it's "the most practical"
% (The Chicago Manual of Style, University of Chicago Press, thirteenth
% edition, 1982, pages 400--401)---fall flat on their face with the new
% computer-typesetting technology.  For instance page 401 anachronistically
% states "The chief disadvantage of [a style like `plain'] is that additions
% or deletions cannot be made after the manuscript is typed without changing
% numbers in both text references and list."  LaTeX sidesteps the disadvantage.
%
% History:
%   15-sep-86   (SK,OP)   Original version, by Susan King and Oren Patashnik.
%   10-nov-86   (OP)   Truncated the sort.key$ string to the correct length
%         in bib.sort.order to eliminate error message.
%   24-jan-88   (OP)   Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
%         apalike now sorts by author, then year, then title;
%         THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
%
%
%   07/10/2002 Gael JAFFRE Ligne 235: \fsc\bgroup -> \bgroup\sc
%      Sinon erreur si le package french.sty n'est pas inclu
%

ENTRY
  { address
    author
    booktitle
    chapter
    edition
    editor
    howpublished
    institution
    journal
    key
    month      %not used in apalike
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    volume
    year
  }
  {}
  { label extra.label sort.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$
}

%               apalike needs this function because
%               the year has special punctuation;
%               apalike ignores the month
%FUNCTION {output.year.check}
%{ year empty$
%    { "empty year in " cite$ * warning$ }
%    { write$
%      " (" year * extra.label * ")" *
%      mid.sentence 'output.state :=
%    }
%  if$
%}
%
FUNCTION {output.bibitem}
{ newline$
  "\bibitem[" write$
  label write$
  "]{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

FUNCTION {fin.entry}
{ add.period$
  write$
"\vspace{0.2cm}"  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 {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 {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$ "" }
    { "{\em " swap$ * "}" * }
  if$
}


INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
%  { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=   % last name first
%    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
   { s nameptr "{vv~}{ll~}\bgroup\sc {f{}}\egroup{{}}{, jj}" format.name$ 't :=
      nameptr #1 >
   { namesleft #1 >
       { ", " * t * }
       { numnames #2 >
      { "," * }
      'skip$
         if$
         t "others" =
      { " \textit{et~al.}" * }
      { " et " * t * }
         if$
       }
     if$
   }
   't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {format.authors}
{ author empty$
    { "" }
    { author format.names }
  if$
}

FUNCTION {format.key}         % this function is just for apalike
{ empty$
    { key field.or.null }
    { "" }
  if$
}

FUNCTION {format.editors}
{ editor empty$
    { "" }
    { editor format.names
      editor num.names$ #1 >
   { ", \editornames{}" * }
   { ", \editorname{}" * }
      if$
    }
  if$
}

FUNCTION {format.title}
{ title empty$
    { "" }
    { title "t" change.case$ }
  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 {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.btitle}
{ title emphasize
}

FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$ * *
}

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

FUNCTION {format.bvolume}
{ volume empty$
    { "" }
    { "\volumename{}" volume tie.or.space.connect
      series empty$
   'skip$
   { " \ofname{} " * series emphasize * }
      if$
      "\volumename{} \andname{} \numbername{}" number either.or.check
    }
  if$
}

FUNCTION {format.number.series}
{ volume empty$
    { number empty$
   { series field.or.null }
   { output.state mid.sentence =
       { "\numbername{}" }
       { "\Numbername{}" }
     if$
     number tie.or.space.connect
     series empty$
       { "there's a number but no series in " cite$ * warning$ }
       { " \inname{} " * series * }
     if$
   }
      if$
    }
    { "" }
  if$
}

FUNCTION {format.edition}
{ edition empty$
    { "" }
    { output.state mid.sentence =
   { edition "l" change.case$ " \editionname{}" * }
   { edition "t" change.case$ " \editionname{}" * }
      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.pages}
{ pages empty$
    { "" }
    { pages multi.page.check
   { "\pagesname{}" pages n.dashify tie.or.space.connect }
   { "\pagename{}" pages tie.or.space.connect }
      if$
    }
  if$
}

FUNCTION {format.vol.num.pages}
{ volume field.or.null
  number empty$
    'skip$
    { "(" number * ")" * *
      volume empty$
   { "there's a number but no volume in " cite$ * warning$ }
   'skip$
      if$
    }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
   { pop$ format.pages }
   { ":" * pages n.dashify * }
      if$
    }
  if$
}

FUNCTION {format.chapter.pages}
{ chapter empty$
    'format.pages
    { type empty$
   { "\chaptername{}" }
   { type "l" change.case$ }
      if$
      chapter tie.or.space.connect
      pages empty$
   'skip$
   { ", " * format.pages * }
      if$
    }
  if$
}

FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
    { "" }
    { editor empty$
   { "\Inname{} " booktitle emphasize * }
   { "\Inname{} " format.editors * ", " * booktitle emphasize * }
      if$
    }
  if$
}

FUNCTION {format.thesis.type}
{ type empty$
    'skip$
    { pop$
      type "t" change.case$
    }
  if$
}

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


FUNCTION {format.rr.number}
{ type empty$
    { "\researchreportname{}" }
    'type
  if$
  number empty$
    { "t" change.case$ }
    { number tie.or.space.connect }
  if$
}


FUNCTION {format.article.crossref}
{ "\Inname{}"                     % this is for apalike
  " \cite{" * crossref * "}" *
}

FUNCTION {format.book.crossref}
{ volume empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      "\Inname{} "
    }
    { "\Volumename{}" volume tie.or.space.connect
      " \ofname{} " *
    }
  if$
  "\cite{" * crossref * "}" *            % this is for apalike
}

FUNCTION {format.incoll.inproc.crossref}
{ "\Inname{}"                     % this is for apalike
  " \cite{" * crossref * "}" *
}

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
 % author format.key output            % special for
 % output.year.check               % apalike
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { journal emphasize "journal" output.check
      format.vol.num.pages output
      format.date "year" output.check %%%
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  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$
%  output.year.check            % special for apalike
  new.block
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      new.block
      format.number.series output
      new.sentence
      publisher "publisher" output.check
      address output
    }
    { new.block
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check %%%
  new.block
  note output
  fin.entry
}

FUNCTION {booklet}
{ output.bibitem
  format.authors output
%  author format.key output            % special for
%  output.year.check               % apalike
  new.block
  format.title "title" output.check
  new.block
  howpublished output
  address output
  format.date output %%%
  new.block
  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$
%  output.year.check            % special for apalike
  new.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
      publisher "publisher" output.check
      address output
    }
    { format.chapter.pages "chapter and pages" output.check
      new.block
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check %%%
  new.block
  note output
  fin.entry
}


FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
 % author format.key output            % special for
 % output.year.check               % apalike
  new.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
      publisher "publisher" output.check
      address output
      format.edition output
      format.date "year" output.check %%%
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  new.block
  note output
  fin.entry
}

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
 % author format.key output            % special for
 % output.year.check               % apalike
  new.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
      address empty$
   { organization publisher new.sentence.checkb
     organization output
     publisher output
     format.date "year" output.check
   }
   { address output.nonnull
     format.date "year" output.check
     new.sentence
     organization output
     publisher output
   }
      if$
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  note output
  fin.entry
}


FUNCTION {conference} { inproceedings }

FUNCTION {manual}
{ output.bibitem
  format.authors output
 % author format.key output            % special for
 % output.year.check               % apalike
  new.block
  format.btitle "title" output.check
  organization address new.block.checkb
  organization output
  address output
  format.edition output
  format.date output %%
  new.block
  note output
  fin.entry
}

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
%  author format.key output            % special for
%  output.year.check               % apalike
  new.block
  format.title "title" output.check
  new.block
  "Master's thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check %%
  new.block
  note output
  fin.entry
}

FUNCTION {misc}
{ output.bibitem
  format.authors output
%  author format.key output            % special for
%  output.year.check               % apalike
  new.block
  format.title output
  new.block
  howpublished output
  format.date output %%
  new.block
  note output
  fin.entry
}

FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
 % author format.key output            % special for
 % output.year.check               % apalike
  new.block
  format.btitle "title" output.check
  new.block
  "PhD thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check %%
  new.block
  note output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  format.editors output
%  editor format.key output            % special for
%  output.year.check               % apalike
  new.block
  format.btitle "title" output.check
  format.bvolume output
  format.number.series output
  address empty$
    { editor empty$
   { publisher new.sentence.checka }
   { organization publisher new.sentence.checkb
     organization output
   }
      if$
      publisher output
      format.date "year" output.check
    }
    { address output.nonnull
      format.date "year" output.check
      new.sentence
      editor empty$
   'skip$
   { organization output }
      if$
      publisher output
    }
  if$
  new.block
  note output
  fin.entry
}


FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
%  author format.key output            % special for
%  output.year.check               % apalike
  new.block
  format.title "title" output.check
  new.block
  format.tr.number output.nonnull
  institution "institution" output.check
  address output
  format.date "year" output.check %%%
  new.block
  note output
  fin.entry
}


FUNCTION {resreport}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  format.rr.number output.nonnull
  institution "institution" output.check
  address output
  format.date "year" output.check %%%
  new.block
  note output
  fin.entry
}


FUNCTION {unpublished}
{ output.bibitem
  format.authors "author" output.check
%  author format.key output            % special for
%  output.year.check               % apalike
  new.block
  format.title "title" output.check
  new.block
  note "note" output.check
  format.date output %%
  fin.entry
}

FUNCTION {default.type} { misc }

MACRO {jan} {"\janname{}"}

MACRO {feb} {"\febname{}"}

MACRO {mar} {"\marname{}"}

MACRO {apr} {"\aprname{}"}

MACRO {may} {"\mayname{}"}

MACRO {jun} {"\junname{}"}

MACRO {jul} {"\julname{}"}

MACRO {aug} {"\augname{}"}

MACRO {sep} {"\sepname{}"}

MACRO {oct} {"\octname{}"}

MACRO {nov} {"\novname{}"}

MACRO {dec} {"\decname{}"}

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"}

MACRO {ijcv} {"International Journal of Computer Vision"}

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$
}

%         There are three apalike cases: one person (Jones),
%         two (Jones and de~Bruijn), and more (Jones et~al.).
%         This function is much like format.crossref.editors.
%
FUNCTION {format.lab.names}
{ 's :=
  s #1 "{vv~}{ll}" format.name$
  s num.names$ duplicate$
  #2 >
    { pop$ " \textit{et~al.}" * }
    { #2 <
   'skip$
   { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
       { " \textit{et~al.}" * }
       { " \andname{} " * s #2 "{vv~}{ll}" format.name$ * }
     if$
   }
      if$
    }
  if$
}

FUNCTION {author.key.label}
{ author empty$
    { key empty$
   { cite$ #1 #3 substring$ }
   'key               % apalike uses the whole key
      if$
    }
    { author format.lab.names }
  if$
}

FUNCTION {author.editor.key.label}
{ author empty$
    { editor empty$
   { key empty$
       { cite$ #1 #3 substring$ }
       'key            % apalike uses the whole 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         % apalike uses the whole key, no organization
      if$
    }
    { editor format.lab.names }
  if$
}

FUNCTION {calc.label}
{ type$ "book" =
  type$ "inbook" =
  or
    'author.editor.key.label
    { type$ "proceedings" =
   'editor.key.label         % apalike ignores organization
   'author.key.label         % for labeling and sorting
      if$
    }
  if$
  "  "                     % these three lines are
  *                     % for apalike, which
  year field.or.null purify$ #-1 #4 substring$      % uses all four digits
  *
  'label :=
}

FUNCTION {sort.format.names}
{ 's :=
  #1 'nameptr :=
  ""
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { nameptr #1 >
   { "   " * }
   'skip$
      if$                  % apalike uses initials
      s nameptr "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}" format.name$ 't := % <= here
      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 {editor.sort}
{ editor empty$
    { key empty$
   { "to sort, need editor or key in " cite$ * warning$
     ""
   }
   { key sortify }
      if$
    }
    { editor sort.format.names }
  if$
}

%         apalike uses two sorting passes; the first one sets the
%         labels so that the `a's, `b's, etc. can be computed;
%         the second pass puts the references in "correct" order.
%         The presort function is for the first pass. It computes
%         label, sort.label, and title, and then concatenates.
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$   % for
  'sort.label :=      % apalike
  sort.label         % style
  *
  "    "
  *
  title field.or.null
  sort.format.title
  *
  #1 entry.max$ substring$
  'sort.key$ :=
}

ITERATE {presort}

SORT      % by label, sort.label, title---for final label calculation

STRINGS { last.label next.extra }   % apalike labels are only for the text;

INTEGERS { last.extra.num }      % there are none in the bibliography

FUNCTION {initialize.extra.label.stuff}   % and hence there is no `longest.label'
{ #0 int.to.chr$ 'last.label :=
  "" 'next.extra :=
  #0 'last.extra.num :=
}

FUNCTION {forward.pass}
{ last.label label =
    { last.extra.num #1 + 'last.extra.num :=
      last.extra.num int.to.chr$ 'extra.label :=
    }
    { "a" chr.to.int$ 'last.extra.num :=
      "" 'extra.label :=
      label 'last.label :=
    }
  if$
}

FUNCTION {reverse.pass}
{ next.extra "b" =
    { "a" 'extra.label := }
    'skip$
  if$
  label extra.label * 'label :=
  extra.label 'next.extra :=
}

EXECUTE {initialize.extra.label.stuff}

ITERATE {forward.pass}

REVERSE {reverse.pass}

%            Now that the label is right we sort for real,
%            on sort.label then year then title.  This is
%            for the second sorting 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}

SORT      % by sort.label, year, title---giving final bibliography order

FUNCTION {begin.bib}
{ preamble$ empty$            % no \etalchar in apalike
    'skip$
    { preamble$ write$ newline$ }
  if$
  "\begin{thebibliography}{}" write$ newline$      % no labels in apalike
}



EXECUTE {begin.bib}

EXECUTE {init.state.consts}

ITERATE {call.type$}

FUNCTION {end.bib}
{ newline$
  "\end{thebibliography}" write$ newline$
}

EXECUTE {end.bib}



Ou s'il faut ajouter une parenthèse avant le \cite{x}

Mes référence dans bibtex sont de cette forme :

Code: Tout sélectionner
@article{aller_1987,
   title = {Drastic: a standardized system to evaluate groundwater pollution potential using hydrogeologic setting},
   volume = {29},
   number = {1},
   journal = {Geological Society of India, Bangalore},
   author = {Aller, L., and Lehr, JH., and Petty, R., and Bennett, T.},
   year = {2000},
   pages = {23--37}
},


Merci de vos réponses
Greg-sav
Utilisateur
 
Messages: 9
Inscription: Mercredi 14 Décembre 2011, 14:36
Statut actuel: Post-bac | Doctorat

Publicité

Re: Références auteurs biblio dans texte insécable

Messagepar pg » Dimanche 06 Mai 2012, 12:16

Voir le sujet Package breakcites pour des pistes. Si cela ne résout pas le problème, merci de faire un exemple complet directement compilable.
pg
Modérateur
 
Messages: 2352
Inscription: Vendredi 15 Juin 2007, 00:31


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot] et 8 invités

cron