summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/base/bib-iso690.opm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/optex/base/bib-iso690.opm')
-rw-r--r--macros/luatex/optex/base/bib-iso690.opm940
1 files changed, 940 insertions, 0 deletions
diff --git a/macros/luatex/optex/base/bib-iso690.opm b/macros/luatex/optex/base/bib-iso690.opm
new file mode 100644
index 0000000000..b569de0d30
--- /dev/null
+++ b/macros/luatex/optex/base/bib-iso690.opm
@@ -0,0 +1,940 @@
+% This is part of 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 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}%
+}
+% Multilinguals: English Czech Slovak
+
+\_mtdef{bib.and} {, and } { a } {}
+\_mtdef{bib.etal} { et al.} { a~kol.} {}
+\_mtdef{bib.edition} { ed.} { vyd.} {}
+\_mtdef{bib.bachthesis} {Bachelor's Thesis} {Bakalářská práce} {Bakalárska práca}
+\_mtdef{bib.masthesis} {Master's Thesis} {Diplomová práce} {Diplomová práca}
+\_mtdef{bib.phdthesis} {Ph.D. Thesis} {Disertační práce} {Dizertačná práca}
+\_mtdef{bib.available} {Available from } {Dostupné na } {}
+\_mtdef{bib.availablealso} {Available also from } {Dostupné též na } {Dotupné tiež na }
+\_mtdef{bib.citedate} {cit.~} {vid.~} {}
+\_mtdef{bib.volume} {Vol.~} {ročník~} {}
+\_mtdef{bib.number} {No.~} {č.~} {}
+\_mtdef{bib.prepages} {pp.~} {s.~} {}
+\_mtdef{bib.postpages} {~p.} {~s.} {}
+\_mtdef{bib.editor} {,~ed.} {,~editor} {}
+\_mtdef{bib.editors} {,~eds.} {,~editoři} {,~editori}
+
+\_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}
+
+\_chardef\_documentlanguage=\_language
+\_def\_Mtext#1{\_csname _mt:#1:\_csname _lan:\_the\_documentlanguage\_endcsname\_endcsname}
+
+\_CreateField {lang}
+\_def\_setlang#1{\_ifx#1\_empty \_else
+ \_ea \_ifx \_csname _#1Patt\_endcsname \_relax
+ \_opwarning{The language "#1" used in .bib file is unknown}
+ \_else \_language=\_csname _#1Patt\_endcsname
+ \_fi\_fi
+}
+
+ \_doc -----------------------------
+ Non-standard fieldnames.
+ \_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 \_docitedateA{#1}{#2}{#3}%
+ \_fi\_fi ]%
+}
+\_def\_docitedateA#1#2#3{%
+ \_ifnum\_documentlanguage=\_csPatt \_docitedateCS{#1}{#2}{#3}%
+ \_else \_ifnum\_documentlanguage=\_skPatt \_docitedateSK{#1}{#2}{#3}%
+ \_else \_docitedateEN{#1}{#2}{#3}%
+ \_fi\_fi
+}
+\_def\_docitedateEN#1#2#3{#1-#2-#3}
+\_def\_docitedateCS#1#2#3{\_hbox{\_tmpnum=#3 \_the\_tmpnum. \_tmpnum=#2 \_the\_tmpnum. #1}}
+\_let\_docitedateSK=\_docitedateCS
+
+\_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-example.bib` for an example of the `.bib` input. You can try it by:
+
+\begtt
+\fontfam[LMfonts]
+\nocite[*]
+\usebib/s (iso690) op-example
+\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 bad interpreted.
+
+The entry names and field names are case insensitive. If there exist 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 special printing of vairous fields.
+\enditems
+
+There can be only one option field per each entry with (may be) 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 by 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 semifinal and final author the word \"and" (or something
+different depending on current language) is printed.
+
+The first author is printed in reverse order: \"LASTNAME, Firstname(s) von,
+After" and the others author 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:<number>`. The `<number>` denotes the
+maximum authors to be printed. The rest of 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:<number>` 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 is printed in such case.
+
+All authors are printed if `aumax:<number>` 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 is 8 or more authors then only 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 authors list, you can use
+the `auprint:{<value>}` option. The <value> will be printed instead of the
+authors list. The <value> 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:<number>` 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 `<number>`. There is an exception:
+`autrim:0` means that no Firstnames are trimmed. This is 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 authors, replace all
+spaces by `\ ` in this name. Such text is interpreted as Lastname. You
+can add the secondary name (interpreted as Firstname) after 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 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:<number>`, `edmin:<number>`,
+`edetal`, `edtrim:<number>` and `edprint:{<value>}` (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 have to be used for Lastnames in 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 colon. Next, the optional secondary
+title have to be printed in upright font. This can be added by
+`titlepost:{<value>}`. 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 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:{<value>}` option. The the <value> 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 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:{<value>}" option. If it is set then the <value>
+is used for printing year instead the real field value. The reason: year is
+sort sensitive, may be 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 different current language is used) before URL.
+It means, that the output of 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 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 to use 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
+such field is missing then the 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 occurs.
+
+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 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 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 such case. If it is used then
+it has a precedence before 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 of 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 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 orientes
+bib-marks instead numbers. This style file autogenerates these marks in the
+form \"Lastname of the first author, comma, space, the year" if 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 as 2013, 2013a, 2013b, etc. You can print something
+different to the list using `yearprint{<value>}` option, see the section about
+address, publisher and year above. The real value of year field (ie. 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 to place the autocitations to 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 semifinal and final author)
+may be 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 on the language
+(for example In:). Unfortunately, the bib\TeX/ supposes that the entry data
+are not fully included in value parts of the fields (see edition, volume
+etc. fields) so the automaton have to add some text during processing.
+But what language have to be chosen?
+
+The current value of the `\language` register at the start of the `.bib`
+processing is decided as the language of the outer document. This language
+is used for technical notes regardless of the entry language. Each entry can
+have the lang field with the two-letter mark of the entry language. This
+language is used for ed./vyd., vol./ročník etc. and it is used for
+hyphenation too. If the entry language is not set then the outer document
+language is used.
+
+If the outer document language is known before creating of the `.bib` file, you
+can store some language-dependent phrases into it. On the other hand, if the
+main document language is unknown, you can use the `\Mtext` macro to
+create the text multilingual. Example:
+
+\begtt
+howpublished = "\Mtext{blue-ray}"
+\endtt
+
+Now, you can set the variants of blue-ray into your macros:
+
+\begtt
+\mtdef {blue-ray} {Blue-ray disc} {Blue-ray disk} {}
+\endtt
+
+
+\seccc Tips for using more languages
+
+This style prefers English, Czech and Slovak languages. However, you can add
+more languages. Use the shortcuts of language names (`de` and `pl` in the
+example below). You can define all phrases for your language:
+\begtt
+\def\mtdefx#1#2#3{\sdef{_mt:#1:de}{#2}\sdef{_mt:#1:pl}{#3}}
+
+ % German % Polish
+\mtdefx {bib.and} { und } { a }
+\mtdefx {bib.phdthesis} {Ph.D. Dissertation} {Praca doktorska}
+...
+\endtt
+See more about language phrases in the \ref[langphrases] section.
+
+
+\seccc Summary of non-standard fields
+
+This style uses the following fields unkown by bib\TeX/:
+
+\begtt
+option ... options separated by spaces
+lang ... the language two-letter code of one entry
+ednote ... editional 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
+aumax:<number> ... maximum number of printed authors
+aumin:<number> ... number of printed authors if aumax exceedes
+autrim:<number> ... full Firstnames iff number of authors are less than this
+auprint:{<value>} ... text instead authors list (\AU macro may be used)
+edmax, edmin, edtrim ... similar as above for editors list
+edprint:{<value>} ... text instead editors list (\ED macro may be used)
+titlepost:{<value>} ... text after title
+yearprint:{<value>} ... text instead real year (\YEAR macro may be used)
+editionprint:{<value>} . text instead 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
+
+Another options in the option field are silently ignored.