BibTeX a slovo and ve výčtu autorů
nezumi
nezumi at volny.cz
Sat Apr 8 11:53:39 CEST 2006
Matej Kosik wrote:
>nezumi wrote:
>
>
>>Matej Kosik wrote:
>>
>>
>>
>>>nezumi wrote:
>>>
>>>
>>>
>>>
>>>>Omlouvám se, minule jsem zapomněl na přílohu.
>>>>
>>>>
>>>>Dobrý den,
>>>>nemohl byste mi někdo poradit, jak se zbavit anglického slova and v
>>>>seznamu použité literatury, který se objevuje při výčtu více než dvou
>>>>autorů?
>>>>V příloze posílám můj .bib soubor.
>>>>Děkuji
>>>>Michal Hejduk
>>>>
>>>>
>>>>
>>>>
>>>Dobrý deň,
>>>
>>>
>>>`man bibtex' hovorí, že:
>>>
>>> BibTeX looks up, in bibliographic database (.bib) files specified by
>>> the \bibliography command, the entries specified by the \cite and
>>> \nocite commands in the LaTeX or TeX source file. It formats the
>>> information from those entries according to instructions in a bibliog‐
>>> raphy style (.bst) file (specified by the \bibliographystyle command,
>>> and it outputs the results to the .bbl file.
>>>
>>>takže stačí použiť vhodný *.bst súbor (ak existuje). Žiadny z tých štýlov, ktoré sú súčasťou Vašej distribúcie nerobí to čo potrebujete?
>>>
>>>S pozdravom
>>>
>>>
>>>
>>>
>>Dobrý den. Zkusil jsem plabbrv.bst, protože jsem nenašel žádný český
>>styl. And se tam již nepíše, všechna jména jsou oddělena čárkami.
>>Neznáte někdo ryze český, českým pravidlům odpovídající styl. Toto je
>>již otázka ze zvědavosti, neboť problém je již vyřešen.
>>Cslatex mám vygenerovaný z balíčků debian-linuxu, ale české bibtex styly
>>se tam zřejmě nedostaly.
>>Děkuji za radu.
>>Hejduk
>>
>>
>
>Tie pismenka "pl" v "plabbrv" ale znamenajú, že sa jedná o polský. T.j. napriklad taká vec ako:
>
>@InProceedings{CHSPOPL04,
> author = {Denis Caromel and Ludovic Henrio and Bernard Paul Serpette},
> title = {Asynchronous and deterministic objects},
> booktitle = {Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
> year = {2004},
> isbn = {1-58113-729-X},
> pages = {123--134},
> location = {Venice, Italy},
> doi = {http://doi.acm.org/10.1145/964001.964012},
> publisher = {ACM Press},
>}
>
>vam bude vysádzaná ako:
>
>D. Caromel, L. Henrio, B. P. Serpette. Asynchronous and deterministic objects.
>Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Prin-
>ciples of programming languages, strony 123–134. ACM Press, 2004.
>
>a to je myslím neprijateľné, lebo miesto "strona" a "strony" sa po česky hovorí "strana" a "strany". Nie je takéto niečo ako:
>
>http://altair.dcs.elf.stuba.sk/~kosik/tmp/
>
>vhodnejšie? Určite tam ale sú chyby, keďže je to pomerne čerstvé. Ale ak by sa to odladilo a pozrel sa na to nejaký typograf (to ja nie som). Nemám špecifikáciu.
>
>
>------------------------------------------------------------------------
>
>% Copyright (C) 1999 Jason Noble.
>% Based on the BibTeX standard bibliography style `unsrt'
>%
>% Copyright (C) 2006 Matej Kosik.
>% Based on the BibTeX bibliography style `splncs'
>%
>% Changed things:
>% - added sorting (as in `plain')
>% - added command `\setlength{\itemsep}{-0.1cm}' after the
>% `\begin{bibliography}'
>% - various little changes in the way how volume number, journal number,
>% etc information is typeset.
>
>ENTRY
> { address
> author
> booktitle
> chapter
> edition
> editor
> howpublished
> institution
> journal
> key
> month
> note
> number
> organization
> pages
> publisher
> school
> series
> title
> type
> volume
> year
> }
> {}
> { label }
>
>INTEGERS { output.state before.all mid.sentence after.sentence
> after.block after.authors between.elements}
>
>FUNCTION {init.state.consts}
>{ #0 'before.all :=
> #1 'mid.sentence :=
> #2 'after.sentence :=
> #3 'after.block :=
> #4 'after.authors :=
> #5 'between.elements :=
>}
>
>STRINGS { s t }
>
>FUNCTION {output.nonnull}
>{ 's :=
> output.state mid.sentence =
> { " " * write$ }
> { output.state after.block =
> { add.period$ write$
> newline$
> "\newblock " write$
> }
> {
> output.state after.authors =
> { ": " * write$
> newline$
> "\newblock " write$
> }
> { output.state between.elements =
> { ", " * write$ }
> { output.state before.all =
> 'write$
> { add.period$ " " * write$ }
> if$
> }
> if$
> }
> if$
> }
> if$
> mid.sentence 'output.state :=
> }
> if$
> s
>}
>
>FUNCTION {output}
>{ duplicate$ empty$
> 'pop$
> 'output.nonnull
> if$
>}
>
>% This function has two parameters
>% - the top of the stack ... a string which may be part of the warning
>% (it describes the entry)
>% - below the top of the stack ... string which should be typeset
>% If the second parameter is empty then no actual printing will happen
>% and a warning will be made.
>FUNCTION {output.check}
>{ 't :=
> duplicate$ empty$
> { pop$ "empty " t * " in " * cite$ * warning$ }
> 'output.nonnull
> if$
>}
>
>FUNCTION {output.bibitem}
>{ newline$
> "\bibitem{" write$
> cite$ write$
> "}" write$
> newline$
> ""
> before.all 'output.state :=
>}
>
>FUNCTION {fin.entry}
>{ write$
> newline$
>}
>
>FUNCTION {new.block}
>{ output.state before.all =
> 'skip$
> { after.block 'output.state := }
> if$
>}
>
>FUNCTION {stupid.colon}
>{ after.authors 'output.state := }
>
>FUNCTION {insert.comma}
>{ output.state before.all =
> 'skip$
> { between.elements '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.checka}
>{ empty$
> 'skip$
> 'new.block
> if$
>}
>
>FUNCTION {new.block.checkb}
>{ empty$
> swap$ empty$
> and
> 'skip$
> 'new.block
> if$
>}
>
>FUNCTION {new.sentence.checka}
>{ empty$
> 'skip$
> 'new.sentence
> if$
>}
>
>FUNCTION {new.sentence.checkb}
>{ empty$
> swap$ empty$
> and
> 'skip$
> 'new.sentence
> if$
>}
>
>FUNCTION {field.or.null}
>{ duplicate$ empty$
> { pop$ "" }
> 'skip$
> if$
>}
>
>FUNCTION {emphasize}
>{ duplicate$ empty$
> { pop$ "" }
> { "{\em " swap$ * "\/}" * }
> if$
>}
>
>FUNCTION {bold}
>{ duplicate$ empty$
> { pop$ "" }
> { "\textbf{" swap$ * "}" * }
> if$
>}
>
>INTEGERS { nameptr namesleft numnames }
>
>FUNCTION {format.springer.names}
>{ 's :=
> #1 'nameptr :=
> s num.names$ 'numnames :=
> numnames 'namesleft :=
> { namesleft #0 > }
> { s nameptr "{vv~}{ll}{, jj}{, f{.}.}" format.name$ 't :=
> nameptr #1 >
> { namesleft #1 >
> { ", " * t * }
> { numnames #1 >
> { ", " * }
> 'skip$
> if$
> t "others" =
> { " et~al." * }
> { "" * t * }
> if$
> }
> if$
> }
> 't
> if$
> nameptr #1 + 'nameptr :=
> namesleft #1 - 'namesleft :=
> }
> while$
>}
>
>FUNCTION {format.authors}
>{ author empty$
> { "" }
> { author format.springer.names }
> if$
>}
>
>FUNCTION {format.editors}
>{ editor empty$
> { "" }
> { editor format.springer.names
> editor num.names$ #1 >
> { ", eds." * }
> { ", ed." * }
> if$
> }
> 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$
> { "there's no year in " cite$ * warning$ }
> { "(" year * ")" * }
> if$
>}
>
>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$
> { "" }
> { "Volume" volume tie.or.space.connect
> series empty$
> 'skip$
> { " of " * series emphasize * }
> if$
> add.period$
> "volume and number" number either.or.check
> }
> if$
>}
>
>FUNCTION {format.number.series}
>{ volume empty$
> { number empty$
> { series field.or.null }
> { output.state mid.sentence =
> { "number" }
> { "Number" }
> if$
> number tie.or.space.connect
> series empty$
> { "there's a number but no series in " cite$ * warning$ }
> { " in " * series * }
> if$
> }
> if$
> }
> { "" }
> if$
>}
>
>FUNCTION {format.edition}
>{ edition empty$
> { "" }
> { output.state mid.sentence =
> { edition "l" change.case$ " edn." * }
> { edition "t" change.case$ " edn." * }
> 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
> { "pp. " pages n.dashify * }
> { "p. " pages *}
> if$
> }
> if$
>}
>
>FUNCTION {format.vol}
>{ volume empty$
> { "" }
> { "vol. " volume * }
> if$
>}
>
>FUNCTION {format.num}
>{ number empty$
> { "" }
> {"no. " number *}
> if$
>}
>
>FUNCTION {pre.format.pages}
>{ pages empty$
> 'skip$
> { duplicate$ empty$
> { pop$ format.pages }
> { " " * pages n.dashify * }
> if$
> }
> if$
>}
>
>FUNCTION {format.chapter.pages}
>{ chapter empty$
> 'format.pages
> { type empty$
> { "chapter" }
> { 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$
> { "In: " booktitle emphasize * }
> { "In " format.editors * ": " * booktitle emphasize * }
> if$
> }
> if$
>}
>
>FUNCTION {empty.misc.check}
>{ author empty$ title empty$ howpublished empty$
> month empty$ year empty$ note empty$
> and and and and 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$
> { "Technical 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 {\em " 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." * }
> { " and " * 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 "
> }
> { "Volume" volume tie.or.space.connect
> " of " *
> }
> if$
> " \cite{" * crossref * "}" *
>}
>
>FUNCTION {format.incoll.inproc.crossref}
>{ editor empty$
> editor field.or.null author field.or.null =
> or
> { key empty$
> { booktitle empty$
> { "need editor, key, or booktitle for " cite$ * " to crossref " *
> crossref * warning$
> ""
> }
> { "" }
> if$
> }
> { "" }
> if$
> }
> { "" }
> if$
> " \cite{" * crossref * "}" *
>}
>
>FUNCTION {and.the.note}
>{ note output
> note empty$
> 'skip$
> { add.period$ }
> if$
>}
>
>FUNCTION {article}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> new.block
> crossref missing$
> { journal emphasize "journal" output.check
> insert.comma
> format.date "date" output.check
> insert.comma
> format.vol "volume" output.check
> insert.comma
> format.num "number" output.check
> insert.comma
> format.pages "pages" output.check
> }
> { format.article.crossref add.period$ output.nonnull
> format.pages output
> }
> if$
> and.the.note
> 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$
> stupid.colon
> title emphasize "title" output.check
> new.sentence
> crossref missing$
> { format.edition output
> format.bvolume output
> new.block
> format.number.series output
> new.sentence
> publisher "publisher" output.check
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> }
> { format.book.crossref output.nonnull
> }
> if$
> and.the.note
> fin.entry
>}
>
>FUNCTION {booklet}
>{ output.bibitem
> format.authors output
> stupid.colon
> title emphasize "title" output.check
> howpublished address new.block.checkb
> howpublished output
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> and.the.note
> 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$
> stupid.colon
> crossref missing$
> { chapter output
> new.block
> format.number.series output
> new.sentence
> "In:" output
> title emphasize "title" output.check
> new.sentence
> format.edition output
> format.bvolume output
> publisher "publisher" output.check
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> }
> { chapter output
> new.block
> format.incoll.inproc.crossref output.nonnull
> }
> if$
> format.pages output
> and.the.note
> fin.entry
>}
>
>FUNCTION {incollection}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> new.block
> crossref missing$
> { format.in.ed.booktitle "booktitle" output.check
> new.sentence
> format.bvolume output
> format.number.series output
> new.block
> format.edition output
> publisher "publisher" output.check
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> insert.comma
> format.pages output
> }
> { format.incoll.inproc.crossref output.nonnull
> format.chapter.pages output
> }
> if$
> and.the.note
> fin.entry
>}
>
>FUNCTION {inproceedings}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> new.block
> crossref missing$
> { format.in.ed.booktitle "booktitle" output.check
> new.sentence
> format.bvolume output
> format.number.series output
> address empty$
> { organization publisher new.sentence.checkb
> organization empty$
> 'skip$
> { insert.comma }
> if$
> organization output
> publisher empty$
> 'skip$
> { insert.comma }
> if$
> publisher output
> insert.comma
> format.date output
> }
> { insert.comma
> address output.nonnull
> organization empty$
> 'skip$
> { insert.comma }
> if$
> organization output
> publisher empty$
> 'skip$
> { insert.comma }
> if$
> publisher output
> insert.comma
> format.date output
> }
> if$
> }
> { format.incoll.inproc.crossref output.nonnull
> }
> if$
> insert.comma
> format.pages output
> and.the.note
> 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$
> stupid.colon
> title "title" output.check
> author empty$
> { organization empty$
> { address new.block.checka
> address output
> }
> 'skip$
> if$
> }
> { organization address new.block.checkb
> organization output
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> }
> if$
> new.sentence
> format.edition output
> insert.comma
> format.date output
> and.the.note
> fin.entry
>}
>
>FUNCTION {mastersthesis}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> new.block
> "Master's thesis" format.thesis.type output.nonnull
> school empty$
> 'skip$
> { insert.comma }
> if$
> school "school" output.check
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> and.the.note
> fin.entry
>}
>
>FUNCTION {misc}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> howpublished new.block.checka
> howpublished output
> insert.comma
> format.date output
> and.the.note
> fin.entry
> empty.misc.check
>}
>
>FUNCTION {phdthesis}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title emphasize "title" output.check
> new.block
> "PhD thesis" format.thesis.type output.nonnull
> school empty$
> 'skip$
> { insert.comma }
> if$
> school "school" output.check
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> and.the.note
> fin.entry
>}
>
>FUNCTION {proceedings}
>{ output.bibitem
> editor empty$
> { organization empty$
> { "" }
> { organization output
> stupid.colon }
> if$
> }
> { format.editors output.nonnull
> stupid.colon
> }
> if$
> title "title" output.check
> new.block
> crossref missing$
> { format.in.ed.booktitle "booktitle" output.check
> new.sentence
> format.bvolume output
> format.number.series output
> address empty$
> { organization publisher new.sentence.checkb
> organization empty$
> 'skip$
> { insert.comma }
> if$
> organization output
> publisher empty$
> 'skip$
> { insert.comma }
> if$
> publisher output
> insert.comma
> format.date output
> }
> { insert.comma
> address output.nonnull
> organization empty$
> 'skip$
> { insert.comma }
> if$
> organization output
> publisher empty$
> 'skip$
> { insert.comma }
> if$
> publisher output
> insert.comma
> format.date output
> }
> if$
> }
> { format.incoll.inproc.crossref output.nonnull
> }
> if$
> and.the.note
> fin.entry
>}
>
>FUNCTION {techreport}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> new.block
> format.tr.number output.nonnull
> institution empty$
> 'skip$
> { insert.comma }
> if$
> institution "institution" output.check
> address empty$
> 'skip$
> { insert.comma }
> if$
> address output
> insert.comma
> format.date output
> and.the.note
> fin.entry
>}
>
>FUNCTION {unpublished}
>{ output.bibitem
> format.authors "author" output.check
> stupid.colon
> title "title" output.check
> new.block
> note "note" output.check
> insert.comma
> format.date output
> fin.entry
>}
>
>FUNCTION {default.type} { misc }
>
>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"}
>
>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 :=
> 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 }
>
>INTEGERS { number.label longest.label.width }
>
>FUNCTION {initialize.longest.label}
>{ "" 'longest.label :=
> #1 'number.label :=
> #0 'longest.label.width :=
>}
>
>FUNCTION {longest.label.pass}
>{ number.label int.to.str$ 'label :=
> number.label #1 + 'number.label :=
> label width$ longest.label.width >
> { label 'longest.label :=
> label width$ 'longest.label.width :=
> }
> 'skip$
> if$
>}
>
>EXECUTE {initialize.longest.label}
>
>ITERATE {longest.label.pass}
>
>FUNCTION {begin.bib}
>{ preamble$ empty$
> 'skip$
> { preamble$ write$ newline$ }
> if$
> "\begin{thebibliography}{" longest.label * "}" * write$ newline$
> "\setlength{\itemsep}{-0.1cm}" write$ newline$
>}
>
>EXECUTE {begin.bib}
>
>EXECUTE {init.state.consts}
>
>ITERATE {call.type$}
>
>FUNCTION {end.bib}
>{ newline$
> "\end{thebibliography}" write$ newline$
>}
>
>EXECUTE {end.bib}
>
>
Děkuji za styl. Už jsem jej použil. V případě problémů s ním vás budu
informovat.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.felk.cvut.cz/pipermail/cstex/attachments/20060408/90381da9/attachment.html
More information about the csTeX
mailing list