diff options
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst')
-rw-r--r-- | Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst | 270 |
1 files changed, 185 insertions, 85 deletions
diff --git a/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst b/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst index 1f2d35de4d8..802e5e66e4c 100644 --- a/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst +++ b/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst @@ -5,10 +5,13 @@ %% The original source files were: %% %% gbt7714.dtx (with options: `2015,numerical') -%% Version: 2018/08/05 v1.0.9 -%% -%% Copyright (C) 2016-2018 by Zeping Lee <zepinglee AT gmail.com> -%% +%% ------------------------------------------------------------------- +%% GB/T 7714-2015 BibTeX Style +%% https://github.com/CTeX-org/gbt7714-bibtex-style +%% Version: 2019/03/21 v1.1.1 +%% ------------------------------------------------------------------- +%% Copyright (C) 2016-2019 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 version 1.3c %% of this license or (at your option) any later version. @@ -16,8 +19,7 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% - +%% ------------------------------------------------------------------- INTEGERS { uppercase.name max.num.authors @@ -25,7 +27,10 @@ INTEGERS { sentence.case.title link.title show.mark + slash.for.extraction + in.booktitle italic.jounal + bold.journal.volume show.missing.address.publisher show.url show.doi @@ -36,11 +41,13 @@ FUNCTION {load.config} { #1 'uppercase.name := #3 'max.num.authors := - #0 'period.between.author.year := #1 'sentence.case.title := #0 'link.title := #1 'show.mark := + #1 'slash.for.extraction := + #0 'in.booktitle := #0 'italic.jounal := + #0 'bold.journal.volume := #1 'show.missing.address.publisher := #1 'show.url := #1 'show.doi := @@ -76,7 +83,7 @@ ENTRY volume year } - { entry.lang entry.is.electronic } + { entry.lang entry.is.electronic entry.numbered } { label extra.label sort.label short.list entry.mark entry.url } INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } @@ -99,20 +106,25 @@ FUNCTION {init.state.consts} } FUNCTION {bbl.anonymous} -{ lang.zh entry.lang = +{ entry.lang lang.zh = { "佚名" } { "Anon" } if$ } -FUNCTION {bbl.space} { "\ " } +FUNCTION {bbl.space} +{ entry.lang lang.zh = + { "\ " } + { " " } + if$ +} FUNCTION {bbl.et.al} -{ lang.zh entry.lang = +{ entry.lang lang.zh = { "等" } - { lang.ja entry.lang = + { entry.lang lang.ja = { "他" } - { lang.ru entry.lang = + { entry.lang lang.ru = { "идр" } { "et~al." } if$ @@ -122,28 +134,31 @@ FUNCTION {bbl.et.al} if$ } +FUNCTION {citation.et.al} +{ bbl.et.al } + FUNCTION {bbl.colon} { ": " } FUNCTION {bbl.wide.space} { "\quad " } -FUNCTION {bbl.slash} { "//\allowbreak{}" } +FUNCTION {bbl.slash} { "//\allowbreak " } FUNCTION {bbl.sine.loco} -{ lang.zh entry.lang = +{ entry.lang lang.zh = { "[出版地不详]" } { "[S.l.]" } if$ } FUNCTION {bbl.sine.nomine} -{ lang.zh entry.lang = +{ entry.lang lang.zh = { "[出版者不详]" } { "[s.n.]" } if$ } FUNCTION {bbl.sine.loco.sine.nomine} -{ lang.zh entry.lang = +{ entry.lang lang.zh = { "[出版地不详: 出版者不详]" } { "[S.l.: s.n.]" } if$ @@ -181,7 +196,9 @@ FUNCTION {output.nonnull} { output.state before.all = 'write$ { output.state after.slash = - { bbl.slash * write$ } + { bbl.slash * write$ + newline$ + } { add.period$ " " * write$ } if$ } @@ -274,7 +291,11 @@ FUNCTION {new.sentence} FUNCTION {new.slash} { output.state before.all = 'skip$ - { after.slash 'output.state := } + { slash.for.extraction + { after.slash 'output.state := } + { after.block 'output.state := } + if$ + } if$ } @@ -427,6 +448,15 @@ FUNCTION {set.entry.lang} 'entry.lang := } +FUNCTION {set.entry.numbered} +{ type$ "patent" = + type$ "standard" = or + type$ "techreport" = or + { #1 'entry.numbered := } + { #0 'entry.numbered := } + if$ +} + INTEGERS { nameptr namesleft numnames name.lang } FUNCTION {format.names} @@ -475,9 +505,11 @@ FUNCTION {format.key} } FUNCTION {format.authors} -{ author empty$ - { "" } +{ author empty$ not { author format.names } + { "empty author in " cite$ * warning$ + "" + } if$ } @@ -492,7 +524,7 @@ FUNCTION {format.translators} { translator empty$ { "" } { translator format.names - lang.zh entry.lang = + entry.lang lang.zh = { translator num.names$ #3 > { "译" * } { ", 译" * } @@ -587,7 +619,20 @@ FUNCTION {output.bibitem} ")" make.full.names duplicate$ short.list = { pop$ } { * } - if$ + if$ + 's := + s text.length$ 'charptr := + { charptr #0 > } + { s charptr #1 substring$ "]" = + { #0 'charptr := } + { charptr #1 - 'charptr := } + if$ + } + while$ + charptr #0 > + { "{" s * "}" * } + { s } + if$ "]{" * write$ cite$ write$ "}" write$ @@ -604,15 +649,15 @@ FUNCTION {change.sentence.case} } FUNCTION {add.link} - { url empty$ not - { "\href{" url * "}{" * swap$ * "}" * } - { doi empty$ not - { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } - 'skip$ - if$ - } - if$ - } +{ url empty$ not + { "\href{" url * "}{" * swap$ * "}" * } + { doi empty$ not + { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } + 'skip$ + if$ + } + if$ +} FUNCTION {format.title} { title empty$ @@ -622,6 +667,10 @@ FUNCTION {format.title} 'change.sentence.case 'skip$ if$ + entry.numbered number empty$ not and + { bbl.colon * number * } + 'skip$ + if$ link.title 'add.link 'skip$ @@ -678,24 +727,32 @@ FUNCTION {is.number} } FUNCTION {format.volume} -{ volume empty$ - { "" } - { lang.zh entry.lang = - { "第 " volume * " 卷" * } - { "volume" volume tie.or.space.connect } +{ volume empty$ not + { volume is.number + { entry.lang lang.zh = + { "第 " volume * " 卷" * } + { "volume" volume tie.or.space.connect } + if$ + } + { volume } if$ } + { "" } if$ } FUNCTION {format.number} -{ number empty$ - { "" } - { lang.zh entry.lang = - { "第 " number * " 册" * } - { "number" number tie.or.space.connect } +{ number empty$ not + { number is.number + { entry.lang lang.zh = + { "第 " number * " 册" * } + { "number" number tie.or.space.connect } + if$ + } + { number } if$ } + { "" } if$ } @@ -706,36 +763,55 @@ FUNCTION {format.volume.number} if$ } -FUNCTION {format.series.vol.num.title} -{ format.volume.number 's := - series empty$ not - { series - sentence.case.title - 'change.sentence.case +FUNCTION {format.title.vol.num} +{ title + sentence.case.title + 'change.sentence.case + 'skip$ + if$ + entry.numbered + { number empty$ not + { bbl.colon * number * } 'skip$ if$ - bbl.colon * + } + { format.volume.number 's := s empty$ not - { s * bbl.wide.space * } + { bbl.colon * s * } 'skip$ if$ - title + } + if$ +} + +FUNCTION {format.series.vol.num.title} +{ format.volume.number 's := + series empty$ not + { series sentence.case.title 'change.sentence.case 'skip$ if$ - * - } - { title + entry.numbered + { bbl.wide.space * } + { bbl.colon * + s empty$ not + { s * bbl.wide.space * } + 'skip$ + if$ + } + if$ + title * sentence.case.title 'change.sentence.case 'skip$ if$ - s empty$ not - { bbl.colon * s * } + entry.numbered number empty$ not and + { bbl.colon * number * } 'skip$ if$ } + { format.title.vol.num } if$ link.title 'add.link @@ -743,28 +819,44 @@ FUNCTION {format.series.vol.num.title} if$ } +FUNCTION {format.booktitle.vol.num} +{ booktitle + entry.numbered + 'skip$ + { format.volume.number 's := + s empty$ not + { bbl.colon * s * } + 'skip$ + if$ + } + if$ +} + FUNCTION {format.series.vol.num.booktitle} { format.volume.number 's := series empty$ not { series bbl.colon * - s empty$ not + entry.numbered not s empty$ not and { s * bbl.wide.space * } 'skip$ if$ booktitle * } - { booktitle - s empty$ not - { bbl.colon * s * } + { format.booktitle.vol.num } + if$ + in.booktitle + { duplicate$ empty$ not entry.lang lang.en = and + { "In: " swap$ * } 'skip$ if$ } + 'skip$ if$ } FUNCTION {format.journal} { journal - italic.jounal + italic.jounal entry.lang lang.en = and 'italicize 'skip$ if$ @@ -818,7 +910,7 @@ FUNCTION {format.edition} { edition empty$ { "" } { edition is.number - { lang.zh entry.lang = + { entry.lang lang.zh = { edition " 版" * } { edition num.to.ordinal " ed." * } if$ @@ -946,7 +1038,10 @@ FUNCTION {format.year} { date empty$ not { date extract.before.dash } { "empty year in " cite$ * warning$ - "" + urldate empty$ not + { "[" urldate extract.before.dash * "]" * } + { "" } + if$ } if$ } @@ -1001,6 +1096,17 @@ FUNCTION {format.pages} if$ } +FUNCTION {format.journal.volume} +{ volume empty$ not + { bold.journal.volume + { "\textbf{" volume * "}" * } + { volume } + if$ + } + { "" } + if$ +} + FUNCTION {format.journal.number} { number empty$ not { "\penalty0 (" number * ")" * } @@ -1199,7 +1305,9 @@ FUNCTION {monograph} { format.authors } { editor empty$ not { format.editors } - { "" } + { "empty author and editor in " cite$ * warning$ + "" + } if$ } if$ @@ -1226,7 +1334,7 @@ FUNCTION {monograph} FUNCTION {incollection} { output.bibitem - format.authors "author" output.check + format.authors output author format.key output new.block format.title "title" output.check @@ -1254,7 +1362,7 @@ FUNCTION {incollection} FUNCTION {periodical} { output.bibitem - format.authors "author" output.check + format.authors output author format.key output new.block format.title "title" output.check @@ -1275,7 +1383,7 @@ FUNCTION {periodical} FUNCTION {article} { output.bibitem - format.authors "author" output.check + format.authors output author format.key output new.block format.title "title" output.check @@ -1284,7 +1392,7 @@ FUNCTION {article} new.block format.journal "journal" output.check format.date "year" output.check - volume output + format.journal.volume output format.journal.number "" output.after format.journal.pages "" output.after format.urldate "" output.after @@ -1300,12 +1408,7 @@ FUNCTION {patent} format.authors output author format.key output new.block - format.title - number empty$ not - { bbl.colon * number * } - 'skip$ - if$ - "title" output.check + format.title "title" output.check "P" set.entry.mark format.mark "" output.after new.block @@ -1538,7 +1641,7 @@ FUNCTION {format.lab.names} { t #1 "{ll}{ff}" format.name$} if$ s num.names$ #1 > - { bbl.space * bbl.et.al * } + { bbl.space * citation.et.al * } 'skip$ if$ } @@ -1645,6 +1748,7 @@ FUNCTION {int.to.fix} FUNCTION {presort} { set.entry.lang + set.entry.numbered show.url show.doi check.electronic calc.label label sortify @@ -1712,16 +1816,12 @@ FUNCTION {begin.bib} write$ newline$ "\providecommand{\natexlab}[1]{#1}" write$ newline$ - show.url show.doi or - { "\providecommand{\url}[1]{#1}" - write$ newline$ - "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else" - write$ newline$ - " \urlstyle{same}\fi" - write$ newline$ - } - 'skip$ - if$ + "\providecommand{\url}[1]{#1}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else" + write$ newline$ + " \urlstyle{same}\fi" + write$ newline$ show.doi { "\providecommand{\href}[2]{\url{#2}}" write$ newline$ |