diff options
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst')
-rw-r--r-- | Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst | 268 |
1 files changed, 134 insertions, 134 deletions
diff --git a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst index 51652863734..6e793ba7dd2 100644 --- a/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst +++ b/Master/texmf-dist/bibtex/bst/thuthesis/thuthesis-author-year.bst @@ -1,12 +1,12 @@ %% -%% This is file `gbt-7714-2015-author-year.bst', +%% This is file `gbt7714-plain.bst', %% generated with the docstrip utility. %% %% The original source files were: %% -%% gbt-7714-2015.dtx (with options: `authoryear') +%% gbt7714.dtx (with options: `authoryear') %% -%% Copyright (C) 2016-2017 by Zeping Lee <zepinglee AT gmail.com> +%% Copyright (C) 2016-2018 by Zeping Lee <zepinglee AT gmail.com> %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -25,23 +25,16 @@ ENTRY { address author booktitle - chapter date doi - eid edition editor - howpublished institution - isbn - issn journal key language mark - media - month - note + medium number organization pages @@ -51,7 +44,6 @@ ENTRY series title translator - type url urldate volume @@ -62,7 +54,7 @@ ENTRY INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } -INTEGERS { lang.zh lang.ja lang.en lang.ru } +INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other } INTEGERS { charptr stringlength } @@ -72,10 +64,11 @@ FUNCTION {init.state.consts} #2 'after.sentence := #3 'after.block := #4 'after.slash := - #2 'lang.zh := - #3 'lang.ja := - #0 'lang.en := - #1 'lang.ru := + #3 'lang.zh := + #4 'lang.ja := + #1 'lang.en := + #2 'lang.ru := + #0 'lang.other := } STRINGS { s t } @@ -291,13 +284,17 @@ INTEGERS { ascii } FUNCTION {get.char.lang} { chr.to.int$ 'ascii := - ascii #227 > ascii #234 < and - { lang.zh } - { ascii #227 = - { lang.ja } - { ascii #207 > ascii #212 < and - { lang.ru } - { lang.en } + ascii #64 > ascii #91 < and ascii #96 > ascii #123 < and or + { lang.en } + { ascii #227 > ascii #234 < and + { lang.zh } + { ascii #227 = + { lang.ja } + { ascii #207 > ascii #212 < and + { lang.ru } + { lang.en } + if$ + } if$ } if$ @@ -305,21 +302,21 @@ FUNCTION {get.char.lang} if$ } -INTEGERS { char.lang lang } +INTEGERS { char.lang tmp.lang } STRINGS { tmp.str } FUNCTION {get.str.lang} { 'tmp.str := - lang.en 'lang := + lang.other 'tmp.lang := tmp.str empty$ { "Empty string!" warning$ } { #1 'charptr := tmp.str text.length$ #1 + 'stringlength := { charptr stringlength < } { tmp.str charptr #1 substring$ get.char.lang 'char.lang := - char.lang lang > - { char.lang 'lang := } + char.lang tmp.lang > + { char.lang 'tmp.lang := } 'skip$ if$ @@ -335,7 +332,7 @@ FUNCTION {get.str.lang} while$ } if$ - lang + tmp.lang } FUNCTION {is.in.chinese} @@ -356,35 +353,33 @@ FUNCTION {format.anonymous} if$ } -INTEGERS { nameptr namesleft numnames name.lang} +INTEGERS { nameptr namesleft numnames name.lang } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := - { namesleft #0 > nameptr #4 < and } + { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - t get.str.lang 'name.lang := - name.lang lang.en = - { t #1 "{vv~}{ll}{ f{~}}{, jj}" format.name$ 't := } - { t #1 "{ll}{ff}" format.name$ 't := } - if$ - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", " * format.et.al * } - { ", " * t * } + nameptr #4 = + { format.et.al + #1 'namesleft := + } + { t "others" = + { format.et.al } + { t get.str.lang 'name.lang := + name.lang lang.en = + { t #1 "{vv~}{ll}{ f{~}}{, jj}" format.name$ } + { t #1 "{ll}{ff}" format.name$ } if$ } if$ - nameptr #3 = namesleft #1 > and - { ", " * format.et.al * } - 'skip$ - if$ } - 't + if$ + nameptr #1 > + { ", " swap$ * * } + 'skip$ if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := @@ -454,8 +449,8 @@ FUNCTION {set.mark} { pop$ mark 'entry.mark := } { 'entry.mark := } if$ - media empty$ not - { entry.mark "/" * media * 'entry.mark := } + medium empty$ not + { entry.mark "/" * medium * 'entry.mark := } { url empty$ not { entry.mark "/OL" * 'entry.mark := } 'skip$ @@ -535,7 +530,9 @@ FUNCTION {make.full.names} type$ "inbook" = or 'author.editor.full - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or 'editor.full 'author.full if$ @@ -559,23 +556,15 @@ FUNCTION {output.bibitem} before.all 'output.state := } - -FUNCTION {n.dashify} +FUNCTION {hyphenate} { '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 := } + while$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := @@ -859,7 +848,7 @@ FUNCTION {format.address} FUNCTION {format.sine.nomine} { is.in.chinese - { "[出版地不详]" } + { "[出版者不详]" } { "[s.n.]" } if$ } @@ -921,7 +910,7 @@ FUNCTION {format.address.publisher} FUNCTION {format.pages} { pages empty$ { "" } - { pages n.dashify } + { pages hyphenate } if$ } @@ -985,9 +974,9 @@ FUNCTION {format.in.ed.booktitle} } FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and +{ author empty$ title empty$ + year empty$ + and and key empty$ not and { "all relevant fields are empty in " cite$ * warning$ } 'skip$ @@ -1203,17 +1192,20 @@ FUNCTION {online} FUNCTION {misc} { journal empty$ not - { article.in.journal } + 'article.in.journal { booktitle empty$ not - { incollection } + 'incollection { url empty$ not - { online } - { monograph } + 'online + { "Z" set.mark + monograph + } if$ } if$ } if$ + empty.misc.check } FUNCTION {archive} @@ -1227,7 +1219,8 @@ FUNCTION {book} { monograph } FUNCTION {collection} { "G" set.mark - monograph } + monograph +} FUNCTION {database} { "DB" set.mark @@ -1281,7 +1274,7 @@ FUNCTION {proceedings} monograph } -FUNCTION {program} +FUNCTION {software} { "CP" set.mark misc } @@ -1370,7 +1363,7 @@ EXECUTE {init.state.consts} FUNCTION {set.entry.lang} { language empty$ { author field.or.null title field.or.null * get.str.lang } - { language "english" = + { language "english" = language "american" = or language "british" = or { lang.en } { language "chinese" = { lang.zh } @@ -1378,7 +1371,7 @@ FUNCTION {set.entry.lang} { lang.ja } { language "russian" = { lang.ru } - { lang.en } + { lang.other } if$ } if$ @@ -1481,10 +1474,10 @@ FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or - type$ "collection" = - or 'author.editor.key.label - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or { editor empty$ not 'editor.key.organization.label 'author.key.organization.label @@ -1502,7 +1495,7 @@ FUNCTION {calc.label} short.list "(" * - format.year extract.before.dash duplicate$ empty$ + format.year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } 'skip$ @@ -1512,20 +1505,15 @@ FUNCTION {calc.label} } FUNCTION {sort.language.label} -{ lang lang.zh = - { "a " - pinyin empty$ - 'skip$ - { pinyin * " " * } - if$ - } - { lang lang.ja = - { "b " } - { lang lang.en = - { "c " } - { lang lang.ru = - { "d " } - { "e " } +{ entry.lang lang.zh = + { "a zh " } + { entry.lang lang.ja = + { "b ja " } + { entry.lang lang.en = + { "c en " } + { entry.lang lang.ru = + { "d ru " } + { "e other " } if$ } if$ @@ -1538,7 +1526,7 @@ FUNCTION {sort.language.label} FUNCTION {sort.format.names} { 's := #1 'nameptr := - sort.language.label + "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } @@ -1576,65 +1564,77 @@ FUNCTION {sort.format.title} #1 global.max$ substring$ } +FUNCTION {key.or.pinyin} +{ key empty$ + { pinyin empty$ + { "" } + { pinyin } + if$ + } + { key } + if$ +} + +FUNCTION {anonymous.sort} +{ is.in.chinese + { "yi4 ming2" } + { "anon" } + if$ +} + FUNCTION {author.sort} -{ author empty$ - { key empty$ - { format.anonymous } - { key sortify } +{ key.or.pinyin empty$ + { author empty$ + { anonymous.sort } + { author sort.format.names } if$ } - { author sort.format.names } + { key.or.pinyin sortify } if$ } FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } +{ key.or.pinyin empty$ + { author empty$ + { editor empty$ + { anonymous.sort } + { editor sort.format.names } if$ } - { editor sort.format.names } + { author sort.format.names } if$ } - { author sort.format.names } + { key.or.pinyin sortify } if$ } FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } +{ key.or.pinyin empty$ + { author empty$ + { organization empty$ + { anonymous.sort } + { "The " #4 organization chop.word sortify } if$ } - { "The " #4 organization chop.word sortify } + { author sort.format.names } if$ } - { author sort.format.names } + { key.or.pinyin sortify } if$ } FUNCTION {editor.organization.sort} -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "" - } - { key sortify } +{ key.or.pinyin empty$ + { editor empty$ + { organization empty$ + { anonymous.sort } + { "The " #4 organization chop.word sortify } if$ } - { "The " #4 organization chop.word sortify } + { editor sort.format.names } if$ } - { editor sort.format.names } + { key.or.pinyin sortify } if$ } @@ -1644,20 +1644,20 @@ FUNCTION {presort} label sortify " " * + sort.language.label type$ "book" = type$ "inbook" = or 'author.editor.sort - { type$ "proceedings" = + { type$ "collection" = + type$ "proceedings" = + or 'editor.organization.sort - { type$ "manual" = - 'author.organization.sort - 'author.sort - if$ - } + 'author.sort if$ } if$ + * " " * year field.or.null sortify @@ -1745,7 +1745,7 @@ FUNCTION {begin.bib} write$ newline$ "\providecommand{\href}[2]{\url{#2}}" write$ newline$ - "\providecommand{\doi}[1]{DOI: \href{http://dx.doi.org/#1}{#1}}" + "\providecommand{\doi}[1]{DOI: \href{https://doi.org/#1}{#1}}" write$ newline$ "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else" write$ newline$ |