From 3125499a8c2b497b0f964e23c53d9c9fe3fe4e58 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 19 Apr 2021 21:25:21 +0000 Subject: optex its own format, so directly under tex/ and doc/ git-svn-id: svn://tug.org/texlive/trunk@58918 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/optex/base/bib-iso690.opm | 906 ++++++++++++++++++++++++ 1 file changed, 906 insertions(+) create mode 100644 Master/texmf-dist/tex/optex/base/bib-iso690.opm (limited to 'Master/texmf-dist/tex/optex/base/bib-iso690.opm') diff --git a/Master/texmf-dist/tex/optex/base/bib-iso690.opm b/Master/texmf-dist/tex/optex/base/bib-iso690.opm new file mode 100644 index 00000000000..c58709ce835 --- /dev/null +++ b/Master/texmf-dist/tex/optex/base/bib-iso690.opm @@ -0,0 +1,906 @@ +% This is part of the OpTeX project, see http://petr.olsak.net/optex + +% bibliography style (iso690), version <2020-03-10>, loaded on demand by \usebib + +\_ifx\_optexbibstyle\_undefined \_errmessage + {This file can be read by: \_string\usebib/? (iso690) bibfiles command only} + \_endinput \_fi + + \_doc ----------------------------- + \`\_maybetod` (alias `\.` in the style file group) does not put the second dot. + \_cod ----------------------------- + +\_def\_maybedot{\_ifnum\_spacefactor=\_sfcode`\.\_relax\_else.\_fi} +\_tmpnum=\_sfcode`\. \_advance\_tmpnum by-2 \_sfcode`\.=\_tmpnum +\_sfcode`\?=\_tmpnum \_sfcode`\!=\_tmpnum +\_let\.=\_maybedot % prevents from double periods + + \_doc ----------------------------- + Option field. + \_cod ----------------------------- + +\_CreateField {option} +\_def\_isbiboption#1#2{\_edef\_tmp{\_noexpand\_isbiboptionA{#1}}\_tmp} +\_def\_isbiboptionA#1{\_def\_tmp##1 #1 ##2\_relax{% + \_if^##2^\_csname iffalse\_ea\_endcsname \_else\_csname iftrue\_ea\_endcsname \_fi}% + \_ea\_tmp\_biboptionsi #1 \_relax} +\_def\_bibopt[#1]#2#3{\_isbiboption{#1}\_iftrue\_def\_tmp{#2}\_else\_def\_tmp{#3}\_fi\_tmp} +\_def\_biboptionvalue#1#2{\_def\_tmp##1 #1:##2 ##3\_relax{\_def#2{##2}}% + \_ea\_tmp\_biboptionsi #1: \_relax} + +\_def\_readbiboptions{% + \_RetrieveFieldIn{option}\_biboptionsi + \_toks1=\_ea{\_biboptionsi}% + \_edef\_biboptionsi{\_space \_the\_toks1 \_space \_the\_biboptions \_space}% +} +\_newtoks\_biboptions +\_public \biboptions ; + + \_doc ----------------------------- + Formating of Author/Editor lists. + \_cod ----------------------------- + +\_def\_firstauthorformat{% + \_upper{\_Lastname}\_bprintc\_Firstname{, *}\_bprintc\_Von{ *}\_bprintc\_Junior{, *}% +} +\_def\_otherauthorformat{% + \_bprintc\_Firstname{* }\_bprintc\_Von{* }\_upper{\_Lastname}\_bprintc\_Junior{, *}% +} +\_def\_commonname{% + \_ifnum\_NameCount=1 + \_firstauthorformat + \_ifx\_dobibmark\_undefined \_edef\_dobibmark{\_Lastname}\_fi + \_else + \_ifnum0\_namecount=\_NameCount + \_ifx\_maybeetal\_empty \_bibconjunctionand\_else , \_fi + \_else , \_fi + \_otherauthorformat + \_fi +} +\_def\_authorname{% + \_ifnum\_NameCount>0\_namecount\_relax\_else \_commonname \_fi + \_ifnum\_NameCount=0\_namecount\_relax \_maybeetal \_fi +} +\_let\_editorname=\_authorname + +\_def\_prepareauedoptions#1{% + \_def\_mabyetal{}\_csname lb@abbreviatefalse\_endcsname + \_biboptionvalue{#1max}\_authormax + \_biboptionvalue{#1min}\_authormin + \_biboptionvalue{#1pre}\_authorpre + \_biboptionvalue{#1print}\_authorprint + \_isbiboption{#1etal}\_iftrue \_def\_maybeetal{\_Mtext{bib.etal}}\_fi + \_biboptionvalue{#1trim}\_autrim + \_let\_namecountraw=\_namecount + \_ifx\_authormax\_empty \_else + \_ifnum 0\_authormax<0\_namecount + \_edef\_namecount{\_ifx\_authormin\_empty\_authormax\_else\_authormin\_fi}% + \_def\_maybeetal{\_Mtext{bib.etal}}% + \_fi\_fi + \_ifx\_autrim\_empty \_def\_autrim{10000}\_fi + \_ifnum\_autrim=0 \_def\_autrim{10000}\_fi + \_ifnum 0\_namecount<\_autrim\_relax \_else \_AbbreviateFirstname \_fi +} +\_def\_maybeetal{} + +\_ifx\upper\_undefined + \_ifx\caps \_undefined \_def\upper{\_uppercase\_ea}\_else + \_def\upper#1{{\caps\_rm #1}}\_fi +\_fi +\_let\_upper=\upper + + \_doc ----------------------------- + Preparing bib-mark (used when `\nonumcitations` is set). + \_cod ----------------------------- + +\_def\_setbibmark{% + \_ifx\_dobibmark\_undefined \_def\_dobibmark{}\_fi + \_RetrieveFieldIn{bibmark}\_tmp + \_ifx\_tmp\_empty \_RetrieveFieldIn{year}\_tmp \_edef\_tmp{\_dobibmark, \_tmp}\_fi + \_bibmark=\_ea{\_tmp}% +} + + \_doc ----------------------------- + Setting phrases. + \_cod ----------------------------- + +\_def\_bibconjunctionand{\_Mtext{bib.and}} +\_def\_preurl{\_Mtext{bib.available}} +\_let\_predoi=\_preurl +\_def\_postedition{\_mtext{bib.edition}} +\_def\_Inclause{In:~} +\_def\_prevolume{\_mtext{bib.volume}} +\_def\_prenumber{\_mtext{bib.number}} +\_def\_prepages{\_mtext{bib.prepages}} +\_def\_posteditor{\_ifnum0\_namecountraw>1 \_Mtext{bib.editors}\_else\_Mtext{bib.editor}\_fi} + + \_doc ---------------------------- + \`\_Mtext``{}` expands to a + phrase by outer document language (no entry language). + \_cod ----------------------------- + +\_chardef\_documentlanguage=\_language +\_def\_Mtext#1{\_csname _mt:#1:\_csname _lan:\_the\_documentlanguage\_endcsname\_endcsname} + +\_CreateField {lang} +\_def\_setlang#1{\_ifx#1\_empty \_else + \_ifcsname _mt:bib.and:#1\_endcsname \_language=\_csname _#1Patt\_endcsname \_relax + \_else \_opwarning{No phrases for "#1" used by [\EntryKey] in .bib}% + \_fi\_fi +} + + \_doc ----------------------------- + Non-standard field names. + \_cod ----------------------------- + +\_CreateField {ednote} +\_CreateField {citedate} +\_CreateField {numbering} +\_CreateField {isbn} +\_CreateField {issn} +\_CreateField {doi} +\_CreateField {url} +\_CreateField {bibmark} + + \_doc ----------------------------- + Sorting. + \_cod ----------------------------- + +\_SortingOrder{name,year}{lfvj} +\_SpecialSort {key} + + \_doc ----------------------------- + Supporting macros. + \_cod ----------------------------- + +\_def\_bibwarninga{\_bibwarning} +\_def\_bibwarningb{\_bibwarning} + +\_def\_docitedate #1/#2/#3/#4\_relax{[\_Mtext{bib.citedate}% + \_if^#2^#1\_else + \_if^#3^#1/#2\_else + \_cs{_\_cs{_lan:\_the\_documentlanguage}dateformat}#1/#2/#3\relax + \_fi\_fi ]% +} +\_def\_doyear#1{ + \_biboptionvalue{yearprint}\_yearprint + \_ifx\_yearprint\_empty#1\_else\_def\YEAR{#1}\_yearprint\_fi +} +\_def\_preparenumbering{% + \_def\VOL{\_RetrieveField{volume}}% + \_def\NO{\_RetrieveField{number}}% + \_def\PP{\_RetrieveField{pages}}% +} +\_def\_prepareednote{% + \_def\EDN{\_RetrieveField{edition}}% + \_def\ADDR{\_RetrieveField{address}}% + \_def\PUBL{\_RetrieveField{publisher}}% + \_def\YEAR{\_RetrieveField{year}}% + \_def\AU{\_bprintb[!author]{\_doauthor0{####1}}{}}% + \_def\ED{\_bprintb[!editor]{\_doeditor0{####1}}{}}% + \_preparenumbering +} +\_def\_doedition#1{% + \_biboptionvalue{editionprint}\_editionprint + \_ifx\_editionprint\_empty#1\_postedition\_else\_def\ED{#1}\_editionprint\_fi +} +\_def\_doauthor#1#2{\_prepareauedoptions{au}\_let\_iseditorlist=\_undefined + \_if1#1\_def\AU{#2}\_else\_let\_authorprint=\_empty\_fi + \_ifx\_authorprint\_empty #2\_else \_authorprint\_fi +} +\_def\_doeditor#1#2{\_prepareauedoptions{ed}\_let\_firstauthorformat=\_otherauthorformat + \_if1#1\_def\ED{#2}\_else\_let\_authorprint=\_empty\_fi + \_ifx\_authorprint\_empty #2\_posteditor\_else \_authorprint\_fi +} + + \_doc ----------------------------- + Entry types. + \_cod ----------------------------- + +\_sdef{_print:BEGIN}{% + \_readbiboptions + \_biboptionvalue{titlepost}\_titlepost + \_isbiboption{unpublished}\_iftrue \_let\_bibwarninga=\_relax \_let\_bibwarningb=\_relax \_fi + \_isbiboption{nowarn}\_iftrue \_let\_bibwarning=\_relax \_fi + \_isbiboption{urlalso}\_iftrue \_def\_preurl{\_Mtext{bib.availablealso}}\_fi + \_RetrieveFieldIn{lang}\_langentry \_setlang\_langentry +} +\_sdef{_print:END}{% + \_bprinta [note] {*.}{}% + \_setbibmark +} +\_def\_bookgeneric#1{% + \_bprinta [howpublished] {[*].\ }{}% + \_bprintb [edition] {\_doedition{##1}\.\ }{}% + \_bprinta [ednote] {*.\ }{}% + \_bprinta [address] {*\_bprintv[publisher]{:}{\_bprintv[year]{,}{.}}\ }{\_bibwarninga}% + \_bprinta [publisher] {*\_bprintv[year]{,}{.}\ }{\_bibwarninga}% + \_bprintb [year] {\_doyear{##1}\_bprintv[citedate]{\_bprintv[numbering]{.}{}}{.}\ }% + {\_bibwarning}% + \_bprinta [numbering] {\_preparenumbering*\_bprintv[citedate]{}{\.}\ }{}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + #1% + \_bprinta [series] {*.\ }{}% + \_bprinta [isbn] {ISBN~*.\ }{\_bibwarningb}% + \_bprinta [issn] {ISSN~*.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:book}{% + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bookgeneric{}% +} +\_sdef{_print:article}{% + \_biboptionvalue{journalpost}\_journalpost + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprinta [title] {*.\ \_bprintc\_titlepost{*.\ }}{\_bibwarning}% + \_bprintb [journal] {{\_em##1}\_bprintc\_journalpost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarninga}% + \_bprinta [howpublished] {[*].\ }{}% + \_bprinta [address] {*\_bprintb[publisher]{:}{,}\ }{}% + \_bprinta [publisher] {*, }{}% + \_bprinta [month] {*, }{}% + \_bprintb [year] {\_doyear{##1}\_bprintv[volume,number,pages]{,}{\.}\ }{}% + \_bprinta [numbering] {\_preparenumbering*\_bprintv[citedate]{}{\.}\ } + {\_bprinta [volume] {\_prevolume*\_bprintv[number,pages]{,}{\.}\ }{}% + \_bprinta [number] {\_prenumber*\_bprintv[pages]{,}{\.}\ }{}% + \_bprintb [pages] {\_prepages\_hbox{##1}\_bprintv[citedate]{}{\.}\ }% + {\_bibwarninga}}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + \_bprinta [issn] {ISSN~*.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:inbook}{% + \_let\_bibwarningb=\_relax + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprinta [title] {*.\ }{\_bibwarning}% + \_Inclause + \_bprintb [!editor] {\_doeditor1{##1}\.\ }{}% + \_bprintb [booktitle] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bookgeneric{\_bprintb [pages] {\_prepages\_hbox{##1}. }{}}% +} +\_slet{_print:inproceedings}{_print:inbook} +\_slet{_print:conference}{_print:inbook} + +\_sdef{_print:thesis}{% + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bprinta [howpublished] {[*].\ }{}% + \_bprinta [address] {*\_bprintv[school]{:}{\_bprintv[year]{,}{.}}\ }{\_bibwarning}% + \_bprinta [school] {*\_bprintv[year]{,}{.}\ }{\_bibwarning}% + \_bprinta [month] {*, }{}% + \_bprintb [year] {\_doyear{##1}\_bprintv[citedate]{}{.}\ }{\_bibwarninga}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + \_bprinta [type] {*\_bprintv[ednote]{,}{.}\ }% + {\_ifx\_thesistype\_undefined\_bibwarning + \_else\_thesistype\_bprintv[ednote]{,}{.}\ \_fi}% + \_bprinta [ednote] {*.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_sdef{_print:phdthesis}{\_def\_thesistype{\_Mtext{bib.phdthesis}}\_cs{_print:thesis}} +\_sdef{_print:mastershesis}{\_def\_thesistype{\_Mtext{bib.masthesis}}\_cs{_print:thesis}} +\_sdef{_print:bachelorsthesis}{\_def\_thesistype{\_Mtext{bib.bachthesis}}\_cs{_print:thesis}} + +\_sdef{_print:generic}{% + \_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}% + \_bprintb [title] {{\_em##1}\_bprintc\_titlepost{\.\ *}\_bprintv[howpublished]{}{\.}\ }% + {\_bibwarning}% + \_bprinta [howpublished] {[*].\ }{}% + \_bprinta [ednote] {\_prepareednote*\_bprintv[citedate]{}{.}\ }{\_bibwarning}% + \_bprinta [year] {}{\_bibwarning}% + \_bprinta [citedate] {\_docitedate*///\_relax.\ }{}% + \_bprintb [doi] {\_predoi DOI \_ulink[http://dx.doi.org/##1]{##1}.\ }{}% + \_bprintb [url] {\_preurl\_url{##1}. }{}% +} +\_slet{_print:booklet}{_print:generic} +\_slet{_print:incolleciton}{_print:generic} +\_slet{_print:manual}{_print:generic} +\_slet{_print:proceedings}{_print:generic} +\_slet{_print:techreport}{_print:generic} +\_slet{_print:unpublished}{_print:generic} + +\_sdef{_print:misc}{\_let\_bibwarning=\_relax \_cs{_print:generic}} + +\_endcode + + +This is the iso690 bibliographic style used by \OpTeX/. + +See `op-biblist.bib` for an example of the `.bib` input. You can try it by: + +\begtt +\fontfam[LMfonts] +\nocite[*] +\usebib/s (iso690) op-biblist +\end +\endtt + +\seccc Common rules in \code{.bib} files + +There are entries of type `@FOO{...}` in the `.bib` file. Each entry consists of +fields in the form `name = "value"`, or `name = {value}`. No matter which form is +used. If the value is pure numeric then you can say simply `name = value`. +Warning: the comma after each field value is mandatory! If it is missing then the +next field is ignored or badly interpreted. + +The entry names and field names are case insensitive. If there exists a data +field no mentioned here then it is simply ignored. You can use it to store +more information (abstract, for example). + +There are \"standard fields" used in ancient bib\TeX/ (author, title, editor, edition, +etc., see \url{http://en.wikipedia.org/wiki/BibTeX}). The `iso690` style introduces +several \"non-standard" fields: ednote, numbering, isbn, issn, doi, url, +citedate, key, bibmark. They are documented here. + +Moreover, there are two optional special fields: + +\begitems +* lang = language of the entry. The hyphenation plus autogenerated phrases and + abbreviations will be typeset by this language. +* option = options by which you can control a special printing of various fields. +\enditems + +There can be only one option field per each entry with (maybe) more options +separated by spaces. You can declare the global option(s) in your document +applied for each entry by `\biboptions={...}`. + + +\seccc The author field + +All names in the author list have to be separated by \"\code{ and }". +Each author can be written in various formats (the `von` part is typically missing): + +\begtt +Firstname(s) von Lastname +or +von Lastname, Firstname(s) +or +von Lastname, After, Firstname(s) +\endtt +Only the Lastname part is mandatory. Examples: +\begtt +Petr Olšák +or +Olšák, Petr + +Leonardo Piero da Vinci +or +da Vinci, Leonardo Piero +or +da Vinci, painter, Leonardo Piero +\endtt +The separator \"\code{ and }" between authors +will be converted to comma during +printing, but between the semifinal and final author the word \"and" (or something +different depending on the current language) is printed. + +The first author is printed in reverse order: \"LASTNAME, Firstname(s) von, +After" and the other authors are printed in normal order: \"Firstname(s) +von LASTNAME, After". This feature follows the ISO 690 norm. The Lastname +is capitalized using uppercase letters. But if the `\caps` font modifier is defined, +then it is used and printed `{\caps\_rm Lastname}`. + +You can specify the option `aumax:`. The `` denotes the +maximum authors to be printed. The rest of the authors are ignored and the +`et~al.` is appended to the list of printed authors. This text is +printed only if the `aumax` value is less than the real number of authors. +If you have the same number of authors in the .bib file as you need to print +but you want to append `et~al.` then you can use `auetal` option. + +There is an `aumin:` option which denotes the definitive number of +printed authors if the author list is not fully printed due to `aumax`. +If `aumin` is unused then `aumax` authors are printed in this case. + +All authors are printed if `aumax:` option isn't given. +There is no internal limit. But you can set the global options in +your document by setting the `\biboptions` tokens list. For example: + +\begtt +\biboptions={aumax:7 aumin:1} +% if there are 8 or more authors then only the first author is printed. +\entdd + +Examples: +\begtt +author = "John Green and Bob Brown and Alice Black", +\endtt +output: GREEN, John, Bob BROWN, and Alice BLACK. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "aumax:1", +\endtt +output: GREEN, John~et~al. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "aumax:2", +\endtt +output: GREEN, John, Bob BROWN~et~al. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "aumax:3", +\endtt +output: GREEN, John, Bob BROWN, and Alice BLACK. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "auetal", +\endtt +output: GREEN, John, Bob BROWN, Alice BLACK~et~al. + +If you need to add a text before or after the author's list, you can use +the `auprint:{}` option. The will be printed instead of the +authors list. The can include `\AU` macro which expands to the authors +list. Example: + +\begtt +author = "Robert Calbraith", +option = "auprint:{\AU\space [pseudonym of J. K. Rowling]}", +\endtt +output: CALBRAITH Robert [pseudonym of J. K. Rowling]. + +You can use the `autrim:` option. All Firstnames of all authors +are trimmed (i. e. reduced to initials) iff the number of authors in the +author field is greater than or equal to ``. There is an exception: +`autrim:0` means that no Firstnames are trimmed. This is the default behavior. +Another example: `autrim:1` means that all Firstnames are trimmed. + +\begtt +author = "John Green and Bob Brown and Alice Black", +option = "auetal autrim:1", +\endtt +output: GREEN, J., B. BROWN, A. BLACK~et~al. + +If you need to write a team name or institution instead of authors, replace all +spaces by `\ ` in this name. Such text is interpreted as Lastname. You +can add the secondary name (interpreted as Firstname) after the comma. Example: + +\begtt + author = "Czech\ Technical\ University\ in\ Prague, + Faculty\ of\ Electrical\ Engeneering", +\endtt +output: CZECH TECHNICAL UNIVERSITY IN PRAGUE, Faculty of Electrical Engeneering. + + +\seccc The editor field + +The editor field is used for the list of the authors of the collection. The +analogous rules as in author field are used here. It means that the +authors are separated by \"\code{ and }", the Firstnames, Lastnames, etc. are +interpreted and you can use the options `edmax:`, `edmin:`, +`edetal`, `edtrim:` and `edprint:{}` (with `\ED` macro). +Example: +\begtt +editor = "Jan Tomek and Petr Karas", +option = "edprint:{\ED, editors.} edtrim:1", +\endtt +Output: J. TOMEK and P. KARAS, editors. + +If `edprint` option is not set then `{\ED, eds.}` or `{\ED, ed.}` is used +depending on the entry language and on the singular or plural of +the editor(s). + + +\seccc The ednote field + +The ednote field is used as the secondary authors and more editional info. The +value is read as raw data without any interpretation of Lastname, Firstname +etc. +\begtt +ednote = "Illustrations by Robert \upper{Agarwal}, edited by Tom \upper{Nowak}", +\endtt +output: Illustrations by Robert AGARWAL, edited by Tom NOWAK. + +The `\upper` command has to be used for Lastnames in the ednote field. + + +\seccc The title field + +This is the title of the work. It will be printed (in common entry types) by +italics. The ISO 690 norm declares, that the title plus optional subtitle +are in italics and they are separated by a colon. Next, the optional secondary +title has to be printed in an upright font. This can be added by +`titlepost:{}`. Example: + +\begtt +title = "The Simple Title of The Work", +or +title = "Main Title: Subtitle", +or +title = "Main Title: Subtitle", +option = "titlepost:{Secondary title}", +\endtt +The output of the last example: +{\it Main Title: Subtitle}. Secondary title. + + +\seccc The edition field + +This field is used only for second or more edition of cited work. Write +only the number without the word "edition". The shortcut "ed." (or something +else depending on the current language) is added automatically. Examples: + +\begtt +edition = "Second", +edition = "2nd", +edition = "2$^{\rm nd}$", +edition = "2.", +\endtt +Output of the last example: 2. ed. + +\begtt +edition = "2." +lang = "cs", +\endtt +Output: 2. vyd. + +Note, that the example `edition = "Second"` may cause problems. If you are +using language "cs" then the output is bad: Second vyd. +But you can use `editionprint:{}` option. The the is printed +instead of edition field and shortcut. The edition field must be set. Example: + +\begtt +edition = "whatever", +option = "editionprint:{Second full revised edition}", +\endtt +Output: Second full revised edition. + +You can use `\EDN` macro in `editionprint` value. This macro is expanded +to the edition value. Example: + +\begtt +edition = "Second", +option = "editionprint:{\EDN\space full revised edition}", +or +edition = "Second full revised edition", +option = "editionprint:{\EDN}", +\endtt + + +\seccc The address, publisher, year fields + +This is an anachronism from ancient Bib\TeX/ (unfortunately no exclusive) that +the address field includes only the city of the publisher's residence. No more +data are here. The publisher field includes the name of the publisher. + +\begtt +address = "Berlin", +publisher = "Springer Verlag", +year = 2012, +\endtt +Output: Berlin: Springer Verlag, 2012. + +Note, that the year needn't to be inserted into quotes because it is pure +numeric. + +The letter a, b, etc. are appended to the year automatically if two or more +subsequent entries in the bibliography list are not distinct by the first +author and year fields. If you needn't this feature, you can use the +`noautoletters` option. + +You can use "yearprint:{}" option. If it is set then the +is used for printing year instead the real field value. The reason: year is +sort sensitive, maybe you need to print something else than only sorting key. +Example: + +\begtt +year = 2000, +option = "yearpint:{© 2000}", +\endtt +Output: © 2000, sorted by: 2000. + +\begtt +year = "2012a", +option = "yearprint:{2012}", +\endtt +Output: 2012, sorted by: 2012a. + +The address, publisher, and year are typically mandatory fields. If they are +missing then the warning occurs. But you can set `unpublished` +option. Then this warning is suppressed. There is no difference in the +printed output. + + +\seccc The url field + +Use it without `\url` macro, but with `http://` prefix. Example: + +\begtt +url = "http://petr.olsak.net/opmac.html", +\endtt + +The ISO 690 norm recommends to add the text \"Available from" (or +something else if a different current language is used) before URL. +It means, that the output of the previous example is: + +Available from \url{http://petr.olsak.net/opmac.html}. + +If the `cs` language is the current one than the output is: + +Dostupné z: \url{http://petr.olsak.net/opmac.html}. + +If the `urlalso` option is used, then the added text has the form +\"Available also from" or \"Dostupné také z:" (if `cs` language is +current). + + +\seccc The citedate field + +This is the citation date. The field must be in the form year/month/day. It +means, that the two slashes must be written here. The output depends on the +current language. Example: + +\begtt +citedate = "2004/05/21", +\endtt +Output when `en` is current: [cit. 2004-05-21].\nl +Output when `cs` is current: [vid. 21.~5.~2004]. + + +\seccc The howpublished field + +This declares the available medium for the cited document if it is not in printed +form. Alternatives: online, CD, DVD, etc. Example: + +\begtt +howpublished = "online", +\endtt +Output: [online]. + + +\seccc The volume, number, pages and numbering fields + +The volume is the \"big mark" of the journal issue and the number is the +\"small mark" of the journal issue and pages includes the page range of +the cited article in the journal. The volume is prefixed by Vol.~, +the number by No.~, and the pages by pp.~. But these prefixes depends on the +language of the entry. + +Example: + +\begtt +volume = 31, +number = 3, +pages = "37--42", +\endtt +Output: Vol.~31, No.~3, pp.~37--42. + +\begtt +volume = 31, +number = 3, +pages = "37--42", +lang = "cs", +\endtt +Output: ročník~31, č.~3, s.~37--42. + +If you disagree with the default prefixes, you can use the numbering field. +When it is set then it is used instead of volume, number, pages fields +and instead of any mentioned prefixes. The numbering can include macros +`\VOL`, `\NO`, `\PP`, which are expanded to the respective values of fields. Example: + +\begtt +volume = 31, +number = 3, +pages = "37--42" +numbering = "Issue~\VOL/\NO, pages~\PP", +\endtt +Output: Issue~31/3, pages~37--42 + +Note: The volume, numbers, and pages fields are printed without numbering +filed only in the `@ARTICLE` entry. It means, that if you need to visible them +in the `@INBOOK`, `@INPROCEEDINGS` etc. entries, then you must use the numbering field. + + +\seccc Common notes about entries + +The order of the fields in the entry is irrelevant. We use the printed order +in this manual. The exclamation mark (!) denotes the mandatory field. If +the field is missing then a warning occurs during processing. + +If the `unpublished` option is set then the fields address, publisher, year, +isbn, and pages are not mandatory. If the `nowarn` option is set then no +warnings about missing mandatory fields occur. + +If the field is used but not mentioned in the entry documentation below then +it is silently ignored. + +\secccc The `@BOOK` entry + +This is used for book-like entries. + +Fields: author(!), title(!), howpublished, edition, ednote, address(!), +publisher(!), year(!), citedate, series, isbn(!), doi, url, note. + +The ednote field here means the secondary authors (illustrator, cover design +etc.). + +\secccc The `@ARTICLE` entry + +This is used for articles published in a journal. + +Fields: author(!), title(!), journal(!), howpublished, address, publisher, +month, year, [numbering or volume, number, pages(!)], citedate, issn, +doi, url, note. + +If the numbering is used then it is used instead volume, number, pages. + + +\secccc The `@INBOOK` entry + +This is used for the part of a book. + +Fields: author(!), title(!), booktitle(!), howpublished, edition, ednote, +address(!), publisher(!), year(!), numbering, citedate, series, isbn or +issn, doi, url, note. + +The author field is used for author(s) of the part, the editor field +includes author(s) or editor(s) of the whole document. The pages field specifies +the page range of the part. The series field can include more information +about the part (chapter numbers etc.). + +The `@INPROCEEDINGS` and `@CONFERENCE` entries are equivalent to `@INBOOK` entry. + +\secccc The `@THESIS` entry + +This is used for the student's thesis. + +Fields: author(!), title(!), howpublished, address(!), school(!), +month, year(!), citedate, type(!), ednote, doi, url, note. + +The type field must include the text \"Master's Thesis" or something +similar (depending on the language of the outer document). + +There are nearly equivalent entries: `@BACHELORSTHESIS`, `@MASTERSTHESIS` and +`@PHDTHESIS`. These entries set the type field to an appropriate value +automatically. The type field is optional in this case. If it is used then +it has precedence before the default setting. + +\secccc The @MISC entry + +It is intended for various usage. + +Fields: author, title, howpublished, ednote, citedate, doi, url, note. + +You can use `\AU`, `\ED`, `\EDN`, `\VOL`, `\NO`, `\PP`, `\ADDR`, `\PUBL`, +`\YEAR` macros in ednote field. These macros print authors list, editors list, +edition, volume, number, pages, address, publisher, and year field values +respectively. + +The reason for this entry is to give to you the possibility to set the format of +entry by your own decision. The most of data are concentrated in the ednote field. + +\secccc The `@BOOKLET`, `@INCOLLECION`, `@MANUAL`, `@PROCEEDINGS`, `@TECHREPORT`, `@UNPUBLISHED` entries + +These entries are equivalent to `@MICS` entry because we need to save the +simplicity. They are implemented only for (almost) backward compatibility +with the ancient Bib\TeX/. But the ednote is mandatory field here, so you +cannot use these entries from the old databases without warnings and without +some additional work with the `.bib` file. + +\seccc The cite-marks (bibmark) used when \code{\\nonumcitations} is set + +When `\nonumcitations` is set then `\cite` prints text-oriented +bib-marks instead of numbers. This style file auto-generates these marks in the +form \"Lastname of the first author, comma, space, the year" if the bibmark field +isn't declared. If you need to set an exception from this common format, +then you can use bibmark field. + +The OPmac trick \url{http://petr.olsak.net/opmac-tricks-e.html\#bibmark} +describes how to redefine the algorithm for bibmark auto-generating when you +need the short form of the type [Au13]. + + +\seccc Sorting + +If `\usebib/c` is used then entries are sorted by citation order in the text. +If `\usebib/s` is used then entries are sorted by \"Lastname, Firstname(s)" of +the first author and if more entries have this value equal, then the year is +used (from older to newer). This feature follows the recommendation of the +ISO 690 norm. + +If you have the same authors and the same year, you can control the sorting +by setting years like 2013, 2013a, 2013b, etc. You can print something +different to the list using `yearprint{}` option, see the section about +address, publisher, and year above. The real value of year field (i.e.\ not +yearprint value) is also used in the text-oriented bib-marks when +`\nonumcitations` is set. + +If you have some problems with name sorting, you can use the hidden field +`key`, which is used for sorting instead of the \"Lastname Firstname(s)" +of authors. If the `key` field is unset then the \"Lastname Firstname(s)" +is used for sorting normally. Example: + +\begtt +author = "Světla Čmejrková", +key = "Czzmejrkova Svetla", +\endtt + +This entry is now sorted between C and D. + +The norm recommends placing the auto-citations at the top of the list of +references. You can do this by setting `key = "@"`, to each entry with your +name because the `@` character is sorted before `A`. + + +\seccc Languages + +There is the language of the outer document and the languages of each entry. +The ISO 690 norm recommends that the technical notes (the prefix before URL, +the media type, the \"and" conjunction between the semifinal and final author) +maybe printed in the language of the outer document. The data of the entry +have to be printed in the entry language (edition ed./vyd., Vol./ročník, +No./č. etc.). Finally, there are the phrases independent of the language +(for example In:). Unfortunately, the bib\TeX/ supposes that the entry data +are not fully included in the fields so the automaton has to add some +text during processing (\"ed.", \"Vol.", \"see also", etc.). +But what language has to be chosen? + +The current value of the `\language` register at the start of the `.bib` +processing is described as the language of the outer document. This language +is used for technical notes regardless of the entry language. Moreover, +each entry can have the `lang` field (short name of the language). This +language is used for ed./vyd., vol./ročník, etc. and it is used for +hyphenation too. If the `lang` is not set then the outer document +language is used. + +You can use \^`\_Mtext{bib.}` if you want to use a phrase +dependent on outer document language (no on entry language). +Example: + +\begtt +howpublished = "\_Mtext{bib.blue-ray}" +\endtt + +Now, you can set the variants of `bib.blue-ray` phrase for various +languages: + +\begtt +\_sdef{_mt:bib.blue-ray:en} {Blue-ray disc} +\_sdef{_mt:bib.blue-ray:cs} {Blue-ray disk} +\endtt + + +\seccc Summary of non-standard fields + +This style uses the following fields unknown by bib\TeX/: + +\begtt +option ... options separated by spaces +lang ... the language two-letter code of one entry +ednote ... edition info (secondary authors etc.) or + global data in @MISC-like entries +citedate ... the date of the citation in year/month/day format +numbering ... format for volume, number, pages +isbn ... ISBN +issn ... ISSN +doi ... DOI +url ... URL +\endtt + + +\seccc Summary of options + +\begtt \catcode`\<=13 +aumax: ... maximum number of printed authors +aumin: ... number of printed authors if aumax exceeds +autrim: ... full Firstnames iff number of authors are less than this +auprint:{} ... text instead authors list (\AU macro may be used) +edmax, edmin, edtrim ... similar as above for editors list +edprint:{} ... text instead editors list (\ED macro may be used) +titlepost:{} ... text after title +yearprint:{} ... text instead real year (\YEAR macro may be used) +editionprint:{} .. text instead of real edition (\EDN macro may be used) +urlalso ... the ``available also from'' is used instead ``available from'' +unpublished ... the publisher etc. fields are not mandatory +nowarn ... no mandatory fields +\endtt + +Other options in the option field are silently ignored. -- cgit v1.2.3