summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-05-22 20:58:47 +0000
committerKarl Berry <karl@freefriends.org>2018-05-22 20:58:47 +0000
commit12cab12548df582e0a7816b48aae10f79bdf430f (patch)
treea859df308620415524d29b0a40b0b2aa3e1693fb
parent8877a03ea3c158d7a486d14c9cc37dc2134731ef (diff)
gbt7714 (22may18)
git-svn-id: svn://tug.org/texlive/trunk@47792 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-plain.bst231
-rw-r--r--Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst231
-rw-r--r--Master/texmf-dist/doc/bibtex/gbt7714/LICENSE416
-rw-r--r--Master/texmf-dist/doc/bibtex/gbt7714/README.md8
-rw-r--r--Master/texmf-dist/doc/bibtex/gbt7714/gbt7714.pdfbin117386 -> 127223 bytes
-rw-r--r--Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx396
-rw-r--r--Master/texmf-dist/tex/latex/gbt7714/gbt7714.sty42
7 files changed, 949 insertions, 375 deletions
diff --git a/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-plain.bst b/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-plain.bst
index 2d52082b5bc..5d2a7976318 100644
--- a/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-plain.bst
+++ b/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-plain.bst
@@ -9,17 +9,12 @@
%% 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
-%% version 1.2 of this license or (at your option) any later
-%% version. The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of
-%% LaTeX version 1999/12/01 or later.
-%%
-%% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
-%% which was designed for use with the `natbib.sty' package.
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% 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.
%%
ENTRY
{ address
@@ -55,7 +50,7 @@ INTEGERS { output.state before.all mid.sentence after.sentence after.block after
INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other }
-INTEGERS { charptr stringlength }
+INTEGERS { charptr len }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -273,27 +268,7 @@ FUNCTION {emphasize}
if$
}
-INTEGERS { ascii }
-
-FUNCTION {get.char.lang}
-{ chr.to.int$ 'ascii :=
- 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$
- }
- if$
-}
+INTEGERS { byte second.byte }
INTEGERS { char.lang tmp.lang }
@@ -302,29 +277,67 @@ STRINGS { tmp.str }
FUNCTION {get.str.lang}
{ 'tmp.str :=
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 tmp.lang >
- { char.lang 'tmp.lang := }
- 'skip$
+ #1 'charptr :=
+ tmp.str text.length$ #1 + 'len :=
+ { charptr len < }
+ { tmp.str charptr #1 substring$ chr.to.int$ 'byte :=
+ byte #128 <
+ { charptr #1 + 'charptr :=
+ byte #64 > byte #91 < and byte #96 > byte #123 < and or
+ { lang.en 'char.lang := }
+ { lang.other 'char.lang := }
if$
-
- char.lang lang.zh = char.lang lang.ja = or
- { charptr #3 + 'charptr := }
- { char.lang lang.ru =
- { charptr #2 + 'charptr := }
- { charptr #1 + 'charptr := }
+ }
+ { tmp.str charptr #1 + #1 substring$ chr.to.int$ 'second.byte :=
+ byte #224 <
+ { charptr #2 + 'charptr :=
+ byte #207 > byte #212 < and
+ byte #212 = second.byte #176 < and or
+ { lang.ru 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ { byte #240 <
+ { charptr #3 + 'charptr :=
+ byte #227 > byte #234 < and
+ { lang.zh 'char.lang := }
+ { byte #227 =
+ { second.byte #143 >
+ { lang.zh 'char.lang := }
+ { second.byte #128 > second.byte #132 < and
+ { lang.ja 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ if$
+ }
+ { byte #239 =
+ second.byte #163 > second.byte #172 < and and
+ { lang.zh 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { charptr #4 + 'charptr :=
+ byte #240 = second.byte #159 > and
+ { lang.zh 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
if$
}
if$
}
- while$
+ if$
+ char.lang tmp.lang >
+ { char.lang 'tmp.lang := }
+ 'skip$
+ if$
}
- if$
+ while$
tmp.lang
}
@@ -427,27 +440,61 @@ FUNCTION {format.url}
}
FUNCTION {is.doi.in.url}
-{ url empty$
- { #0 }
- { doi text.length$ 'stringlength :=
- url text.length$ 'charptr :=
- { url charptr stringlength substring$ doi = not
- charptr #0 >
- and
+{ 's :=
+ s empty$
+ { #1 }
+ { url empty$
+ { #0 }
+ { s text.length$ 'len :=
+ url text.length$ 'charptr :=
+ { url charptr len substring$ s = not
+ charptr #0 >
+ and
+ }
+ { charptr #1 - 'charptr := }
+ while$
+ charptr
}
- { charptr #1 - 'charptr := }
- while$
- charptr
+ if$
}
if$
}
FUNCTION {format.doi}
-{ doi empty$
- { "" }
- { is.doi.in.url
+{ ""
+ doi empty$
+ 'skip$
+ { "" 's :=
+ doi 't :=
+ #0 'numnames :=
+ { t empty$ not}
+ { t #1 #1 substring$ 'tmp.str :=
+ tmp.str "," = tmp.str " " = or t #2 #1 substring$ empty$ or
+ { t #2 #1 substring$ empty$
+ { s tmp.str * 's := }
+ 'skip$
+ if$
+ s empty$ s is.doi.in.url or
+ 'skip$
+ { numnames #1 + 'numnames :=
+ numnames #1 >
+ { ", " * }
+ { "DOI: " * }
+ if$
+ "\doi{" s * "}" * *
+ }
+ if$
+ "" 's :=
+ }
+ { s tmp.str * 's := }
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ 's :=
+ s empty$ not
+ { new.block s }
{ "" }
- { new.block "\doi{" doi * "}" * }
if$
}
if$
@@ -456,7 +503,12 @@ FUNCTION {format.doi}
FUNCTION {format.title}
{ title empty$
{ "" }
- { title "t" change.case$ }
+ { title
+ entry.lang lang.en =
+ { "t" change.case$ }
+ 'skip$
+ if$
+ }
if$
}
@@ -574,22 +626,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 :=
@@ -604,8 +649,8 @@ FUNCTION {extract.before.dash}
{ pop$ "" }
{ 's :=
#1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength <
+ s text.length$ #1 + 'len :=
+ { charptr len <
s charptr #1 substring$ "-" = not
and
}
@@ -621,14 +666,14 @@ FUNCTION {extract.after.dash}
{ pop$ "" }
{ 's :=
#1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength <
+ s text.length$ #1 + 'len :=
+ { charptr len <
s charptr #1 substring$ "-" = not
and
}
{ charptr #1 + 'charptr := }
while$
- { charptr stringlength <
+ { charptr len <
s charptr #1 substring$ "-" =
and
}
@@ -749,7 +794,7 @@ FUNCTION {format.volume}
{ "" }
{ volume is.number
{ is.in.chinese
- { "第" volume * "卷" * }
+ { "第 " volume * " 卷" * }
{ "volume" volume tie.or.space.connect }
if$
}
@@ -764,7 +809,7 @@ FUNCTION {format.number}
{ "" }
{ number is.number
{ is.in.chinese
- { "第" number * "册" * }
+ { "第 " number * " 册" * }
{ "number" number tie.or.space.connect }
if$
}
@@ -798,7 +843,10 @@ FUNCTION {format.series.vol.num.title}
if$
}
if$
- "t" change.case$
+ entry.lang lang.en =
+ { "t" change.case$ }
+ 'skip$
+ if$
}
FUNCTION {format.series.vol.num.booktitle}
@@ -842,7 +890,7 @@ FUNCTION {format.edition}
{ "" }
{ edition is.number
{ is.in.chinese
- { edition "版" * }
+ { edition " 版" * }
{ edition num.to.ordinal " ed." * }
if$
}
@@ -868,12 +916,9 @@ FUNCTION {format.sine.loco}
if$
}
-FUNCTION {format.address}
-{ address }
-
FUNCTION {format.sine.nomine}
{ is.in.chinese
- { "[出版地不详]" }
+ { "[出版者不详]" }
{ "[s.n.]" }
if$
}
@@ -935,7 +980,7 @@ FUNCTION {format.address.publisher}
FUNCTION {format.pages}
{ pages empty$
{ "" }
- { pages n.dashify }
+ { pages hyphenate }
if$
}
@@ -1397,8 +1442,6 @@ FUNCTION {sortify}
"l" change.case$
}
-INTEGERS { len }
-
FUNCTION {chop.word}
{ 's :=
'len :=
@@ -1742,7 +1785,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]{\href{https://doi.org/#1}{#1}}"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else"
write$ newline$
diff --git a/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst b/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst
index 56d20a66f13..01dc40da2e5 100644
--- a/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst
+++ b/Master/texmf-dist/bibtex/bst/gbt7714/gbt7714-unsrt.bst
@@ -9,17 +9,12 @@
%% 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
-%% version 1.2 of this license or (at your option) any later
-%% version. The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of
-%% LaTeX version 1999/12/01 or later.
-%%
-%% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
-%% which was designed for use with the `natbib.sty' package.
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% 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.
%%
ENTRY
{ address
@@ -55,7 +50,7 @@ INTEGERS { output.state before.all mid.sentence after.sentence after.block after
INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other }
-INTEGERS { charptr stringlength }
+INTEGERS { charptr len }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -273,27 +268,7 @@ FUNCTION {emphasize}
if$
}
-INTEGERS { ascii }
-
-FUNCTION {get.char.lang}
-{ chr.to.int$ 'ascii :=
- 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$
- }
- if$
-}
+INTEGERS { byte second.byte }
INTEGERS { char.lang tmp.lang }
@@ -302,29 +277,67 @@ STRINGS { tmp.str }
FUNCTION {get.str.lang}
{ 'tmp.str :=
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 tmp.lang >
- { char.lang 'tmp.lang := }
- 'skip$
+ #1 'charptr :=
+ tmp.str text.length$ #1 + 'len :=
+ { charptr len < }
+ { tmp.str charptr #1 substring$ chr.to.int$ 'byte :=
+ byte #128 <
+ { charptr #1 + 'charptr :=
+ byte #64 > byte #91 < and byte #96 > byte #123 < and or
+ { lang.en 'char.lang := }
+ { lang.other 'char.lang := }
if$
-
- char.lang lang.zh = char.lang lang.ja = or
- { charptr #3 + 'charptr := }
- { char.lang lang.ru =
- { charptr #2 + 'charptr := }
- { charptr #1 + 'charptr := }
+ }
+ { tmp.str charptr #1 + #1 substring$ chr.to.int$ 'second.byte :=
+ byte #224 <
+ { charptr #2 + 'charptr :=
+ byte #207 > byte #212 < and
+ byte #212 = second.byte #176 < and or
+ { lang.ru 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ { byte #240 <
+ { charptr #3 + 'charptr :=
+ byte #227 > byte #234 < and
+ { lang.zh 'char.lang := }
+ { byte #227 =
+ { second.byte #143 >
+ { lang.zh 'char.lang := }
+ { second.byte #128 > second.byte #132 < and
+ { lang.ja 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ if$
+ }
+ { byte #239 =
+ second.byte #163 > second.byte #172 < and and
+ { lang.zh 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { charptr #4 + 'charptr :=
+ byte #240 = second.byte #159 > and
+ { lang.zh 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
if$
}
if$
}
- while$
+ if$
+ char.lang tmp.lang >
+ { char.lang 'tmp.lang := }
+ 'skip$
+ if$
}
- if$
+ while$
tmp.lang
}
@@ -427,27 +440,61 @@ FUNCTION {format.url}
}
FUNCTION {is.doi.in.url}
-{ url empty$
- { #0 }
- { doi text.length$ 'stringlength :=
- url text.length$ 'charptr :=
- { url charptr stringlength substring$ doi = not
- charptr #0 >
- and
+{ 's :=
+ s empty$
+ { #1 }
+ { url empty$
+ { #0 }
+ { s text.length$ 'len :=
+ url text.length$ 'charptr :=
+ { url charptr len substring$ s = not
+ charptr #0 >
+ and
+ }
+ { charptr #1 - 'charptr := }
+ while$
+ charptr
}
- { charptr #1 - 'charptr := }
- while$
- charptr
+ if$
}
if$
}
FUNCTION {format.doi}
-{ doi empty$
- { "" }
- { is.doi.in.url
+{ ""
+ doi empty$
+ 'skip$
+ { "" 's :=
+ doi 't :=
+ #0 'numnames :=
+ { t empty$ not}
+ { t #1 #1 substring$ 'tmp.str :=
+ tmp.str "," = tmp.str " " = or t #2 #1 substring$ empty$ or
+ { t #2 #1 substring$ empty$
+ { s tmp.str * 's := }
+ 'skip$
+ if$
+ s empty$ s is.doi.in.url or
+ 'skip$
+ { numnames #1 + 'numnames :=
+ numnames #1 >
+ { ", " * }
+ { "DOI: " * }
+ if$
+ "\doi{" s * "}" * *
+ }
+ if$
+ "" 's :=
+ }
+ { s tmp.str * 's := }
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ 's :=
+ s empty$ not
+ { new.block s }
{ "" }
- { new.block "\doi{" doi * "}" * }
if$
}
if$
@@ -456,7 +503,12 @@ FUNCTION {format.doi}
FUNCTION {format.title}
{ title empty$
{ "" }
- { title "t" change.case$ }
+ { title
+ entry.lang lang.en =
+ { "t" change.case$ }
+ 'skip$
+ if$
+ }
if$
}
@@ -574,22 +626,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 :=
@@ -604,8 +649,8 @@ FUNCTION {extract.before.dash}
{ pop$ "" }
{ 's :=
#1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength <
+ s text.length$ #1 + 'len :=
+ { charptr len <
s charptr #1 substring$ "-" = not
and
}
@@ -621,14 +666,14 @@ FUNCTION {extract.after.dash}
{ pop$ "" }
{ 's :=
#1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength <
+ s text.length$ #1 + 'len :=
+ { charptr len <
s charptr #1 substring$ "-" = not
and
}
{ charptr #1 + 'charptr := }
while$
- { charptr stringlength <
+ { charptr len <
s charptr #1 substring$ "-" =
and
}
@@ -749,7 +794,7 @@ FUNCTION {format.volume}
{ "" }
{ volume is.number
{ is.in.chinese
- { "第" volume * "卷" * }
+ { "第 " volume * " 卷" * }
{ "volume" volume tie.or.space.connect }
if$
}
@@ -764,7 +809,7 @@ FUNCTION {format.number}
{ "" }
{ number is.number
{ is.in.chinese
- { "第" number * "册" * }
+ { "第 " number * " 册" * }
{ "number" number tie.or.space.connect }
if$
}
@@ -798,7 +843,10 @@ FUNCTION {format.series.vol.num.title}
if$
}
if$
- "t" change.case$
+ entry.lang lang.en =
+ { "t" change.case$ }
+ 'skip$
+ if$
}
FUNCTION {format.series.vol.num.booktitle}
@@ -842,7 +890,7 @@ FUNCTION {format.edition}
{ "" }
{ edition is.number
{ is.in.chinese
- { edition "版" * }
+ { edition " 版" * }
{ edition num.to.ordinal " ed." * }
if$
}
@@ -868,12 +916,9 @@ FUNCTION {format.sine.loco}
if$
}
-FUNCTION {format.address}
-{ address }
-
FUNCTION {format.sine.nomine}
{ is.in.chinese
- { "[出版地不详]" }
+ { "[出版者不详]" }
{ "[s.n.]" }
if$
}
@@ -935,7 +980,7 @@ FUNCTION {format.address.publisher}
FUNCTION {format.pages}
{ pages empty$
{ "" }
- { pages n.dashify }
+ { pages hyphenate }
if$
}
@@ -1399,8 +1444,6 @@ FUNCTION {sortify}
"l" change.case$
}
-INTEGERS { len }
-
FUNCTION {chop.word}
{ 's :=
'len :=
@@ -1612,7 +1655,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]{\href{https://doi.org/#1}{#1}}"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else"
write$ newline$
diff --git a/Master/texmf-dist/doc/bibtex/gbt7714/LICENSE b/Master/texmf-dist/doc/bibtex/gbt7714/LICENSE
new file mode 100644
index 00000000000..22443139013
--- /dev/null
+++ b/Master/texmf-dist/doc/bibtex/gbt7714/LICENSE
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/Master/texmf-dist/doc/bibtex/gbt7714/README.md b/Master/texmf-dist/doc/bibtex/gbt7714/README.md
index c6e3026fc45..694d67d0a03 100644
--- a/Master/texmf-dist/doc/bibtex/gbt7714/README.md
+++ b/Master/texmf-dist/doc/bibtex/gbt7714/README.md
@@ -2,8 +2,7 @@
[![Travis build](https://travis-ci.org/zepinglee/gbt7714-bibtex-style.svg?branch=master)](https://travis-ci.org/zepinglee/gbt7714-bibtex-style)
[![GitHub release](https://img.shields.io/github/release/zepinglee/gbt7714-bibtex-style/all.svg)](https://github.com/zepinglee/gbt7714-bibtex-style/releases/latest)
-[![Github downloads](https://img.shields.io/github/downloads/zepinglee/gbt7714-bibtex-style/total.svg)](https://github.com/zepinglee/gbt7714-bibtex-style/releases)
-[![GitHub commits](https://img.shields.io/github/commits-since/zepinglee/gbt7714-bibtex-style/v1.0.svg)](https://github.com/zepinglee/gbt7714-bibtex-style/commits/master)
+[![GitHub commits](https://img.shields.io/github/commits-since/zepinglee/gbt7714-bibtex-style/latest.svg)](https://github.com/zepinglee/gbt7714-bibtex-style/commits/master)
## 新特性
@@ -98,8 +97,9 @@ medium = {CD},
拼音(用于排序) | `key`
注:
-- 带 “\*” 的类型不是 natbib 原生支持的。
-
+- 其中带星号的不是 BibTeX/natbib 的标准著录项目。
+- 不支持的 BibTeX 标准著录项目有 annote, chapter, crossref, howpublished,
+month, note, type。
## 参考文献著录标准
diff --git a/Master/texmf-dist/doc/bibtex/gbt7714/gbt7714.pdf b/Master/texmf-dist/doc/bibtex/gbt7714/gbt7714.pdf
index 711a1f9370f..c83c5cd1e30 100644
--- a/Master/texmf-dist/doc/bibtex/gbt7714/gbt7714.pdf
+++ b/Master/texmf-dist/doc/bibtex/gbt7714/gbt7714.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx b/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx
index 42d50b170d5..d2003e067ad 100644
--- a/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx
+++ b/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx
@@ -3,17 +3,12 @@
% 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
-% version 1.2 of this license or (at your option) any later
-% version. The latest version of this license is in:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.2 or later is part of all distributions of
-% LaTeX version 1999/12/01 or later.
-%
-% This file is derived from both `btxbst.doc' by Oren Patashnik and
-% `plainnat.bst' by Patrick W Daly.
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% 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.
%
%<*internal>
\iffalse
@@ -30,40 +25,34 @@
Copyright (C) 2016-\the\year 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.2 of this license or (at your option) any later
-version. The latest version of this license is in:
-
- http://www.latex-project.org/lppl.txt
-
-and version 1.2 or later is part of all distributions of
-LaTeX version 1999/12/01 or later.
-
-This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
-which was designed for use with the `natbib.sty' package.
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+ 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.
\endpreamble
\keepsilent
\askforoverwritefalse
\nopostamble
\generate{
- \file{\jobname.sty}{\from{\jobname.dtx}{package}}
- \file{\jobname-plain.bst}{\from{\jobname.dtx}{authoryear}}
- \file{\jobname-unsrt.bst}{\from{\jobname.dtx}{numerical}}
+ \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+ \file{\jobname-plain.bst}{\from{\jobname.dtx}{authoryear}}
+ \file{\jobname-unsrt.bst}{\from{\jobname.dtx}{numerical}}
}
-\Msg{* Happy TeXing!}
\endbatchfile
%</install>
%<*internal>
\fi
%</internal>
%<*driver>
-\ProvidesFile{gbt7714.dtx}
+\ProvidesFile{\jobname.dtx}
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{gbt7714}
%<*package>
- [2018/03/16 v1.0.3 GB/T 7714-2015 BibTeX Style]
+ [2018/05/12 v1.0.7 GB/T 7714-2015 BibTeX Style]
%</package>
%
%<*driver>
@@ -99,13 +88,30 @@ which was designed for use with the `natbib.sty' package.
\renewcommand\glossaryname{版本历史}
\GlossaryPrologue{\section*{\glossaryname}}
\renewcommand\indexname{命令索引}
+\makeatletter
+\renewcommand*{\changes@}[3]{%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{#1 (#2)\levelchar
+ \ifx\saved@macroname\@empty
+ \space\actualchar\generalname
+ \else
+ \expandafter\@gobble\saved@macroname
+ \actualchar
+ \string\verb\quotechar*\verbatimchar\saved@macroname\verbatimchar
+ \fi
+ :\levelchar #3}}%
+ \@tempa
+ \endgroup
+ \@esphack
+}
+\makeatother
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\OnlyDescription
\begin{document}
- \DocInput{gbt7714.dtx}
+ \DocInput{\jobname.dtx}
\PrintChanges
\PrintIndex
\end{document}
@@ -130,19 +136,9 @@ which was designed for use with the `natbib.sty' package.
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \DoNotIndex{%
-% \a,\b,\c,\d,\e,\f,\g,\h,\i,\j,%
-% \k,\l,\m,\n,\o,\p,\q,\r,\s,\t,%
-% \u,\v,\w,\x,\y,\z,%
-% \A,\B,\C,\D,\E,\F,\G,\H,\I,\J,%
-% \K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,%
-% \U,\V,\W,\X,\Y,\Z,%
-% \1,\2,\3,\4,\5,\6,\7,\8,\9,\0,%
-% }
-%
%
%
-% \GetFileInfo{gbt7714.dtx}
+% \GetFileInfo{\jobname.dtx}
%
% \title{GB/T 7714-2015 \BibTeX{} style}
% \author{Zeping Lee\thanks{zepinglee AT gmail.com}}
@@ -150,6 +146,14 @@ which was designed for use with the `natbib.sty' package.
% \maketitle
%
% \changes{v1.0}{2018/01/01}{Initial release.}
+% \changes{v1.0.1}{2018/03/09}{著者出版年制的文献引用不再排序}
+% \changes{v1.0.2}{2017/03/16}{正确识别姓名中的“others”}
+% \changes{v1.0.3}{2018/03/29}{顺序编码制连续两个文献引用之间使用连接号}
+% \changes{v1.0.4}{2018/04/12}{页码的连接号由 en dash 改为 hyphen}
+% \changes{v1.0.5}{2018/04/18}{允许著录多个 DOI}
+% \changes{v1.0.6}{2018/05/10}{不再处理中文标题的英文单词的大小写}
+% \changes{v1.0.6}{2018/05/10}{文献列表的数字标签左对齐}
+% \changes{v1.0.7}{2018/05/12}{修正了检测 Unicode 语言}
%
%
% \section{简介}
@@ -164,12 +168,7 @@ which was designed for use with the `natbib.sty' package.
% \end{itemize}
%
%
-% \section{相关工作}
-%
-% TeX 社区一直在努力实现国家的参考文献推荐标准。2005 年
-%
-%
-% \section{使用宏包}
+% \section{使用方法}
%
% 首先应在导言区调用宏包 \pkg{gbt7714} ,可以选择的参数如
% 表~\ref{tab:options}。
@@ -244,7 +243,7 @@ which was designed for use with the `natbib.sty' package.
%
% \section{著录项目}
%
-% 以下列出了本宏包支持的全部著录项目。
+% 表~\ref{tab:fields} 列出了本宏包支持的全部著录项目。
%
% \begin{table}[htbp]
% \centering
@@ -275,16 +274,18 @@ which was designed for use with the `natbib.sty' package.
% 引用日期 & urldate* \\
% 获取和访问路径 & url \\
% 数字对象唯一标识符 & doi \\
-% 拼音(用于排序) & key \\
% 语言 & language* \\
+% 拼音(用于排序) & key \\
% \bottomrule
% \end{tabular}
-% \caption{全部著录项目,其中带星号的不是 \BibTeX{}/natbib 的标准著录项目。}
+% \caption{全部著录项目,其中带星号的不是 \BibTeX{}/natbib 的标准著录项目。
+% 不支持的 \BibTeX{} 标准著录项目有 annote, chapter, crossref,
+% howpublished, month, note, type。}
% \label{tab:fields}
% \end{table}
%
-% 由于《规则》中要的著录项目比 \BibTeX{} 支持的要多,新增的项目尽可能同
-% BibLaTeX 一致,如 date 和 urldate。
+% 由于《规则》中要求的著录项目比 \BibTeX{} 支持的要多,必须新增一些著录项目,
+% 这些新增的类型在设计时参考了 BibLaTeX,如 date 和 urldate。
%
% 本宏包默认情况下可以自动识别文献语言,并自动处理文献类型和载体类型标识,
% 但是在少数情况下需要用户手动指定,如:
@@ -298,6 +299,7 @@ which was designed for use with the `natbib.sty' package.
% 可选的语言有 english, chinese, japanese, russian,
% 目前对日语和俄语的支持较为有限。
%
+%
% \section{参考文献列表的排序}
%
% 在使用著者-出版年制时,需要将中文参考文献按照拼音或者笔画排序,然而 Unicode
@@ -311,6 +313,8 @@ which was designed for use with the `natbib.sty' package.
% ...
% \end{latex}
%
+%
+%
% \StopEventually{}
%
% \section{Package}
@@ -328,25 +332,6 @@ which was designed for use with the `natbib.sty' package.
\ProcessOptions\relax
% \end{macrocode}
%
-% 需要 \pkg{url} 宏包。
-% \begin{macrocode}
-\RequirePackage{url}
-% \end{macrocode}
-%
-% 增加 URL 可断行的位置。
-% \begin{macrocode}
-\g@addto@macro\UrlBreaks{%
- \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
- \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
- \do\u\do\v\do\w\do\x\do\y\do\z%
- \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J%
- \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T%
- \do\U\do\V\do\W\do\X\do\Y\do\Z%
- \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0%
-}
-% \end{macrocode}
-%
-% \changes{v1.0.1}{2018/03/09}{在 author-year 模式下不再对引用排序。}
% 只在顺序编码时使用 \opt{sort\&compress}。
% \begin{macrocode}
\if@gbt@numerical
@@ -444,7 +429,8 @@ which was designed for use with the `natbib.sty' package.
#1\NAT@@close\if*#3*\else\textsuperscript{#3}\fi\else#1\fi\endgroup}
% \end{macrocode}
%
-% \changes{v1.0.3}{2018/03/29}{顺序编码制连续两个文献引用之间使用连接号}
+% 在顺序编码制下,\pkg{natbib} 只有在三个以上连续文献引用才会使用连接号,
+% 这里修改为允许两个引用使用连接号。
% \begin{macrocode}
\patchcmd{\NAT@citexnum}{%
\ifx\NAT@last@yr\relax
@@ -453,11 +439,35 @@ which was designed for use with the `natbib.sty' package.
\def@NAT@last@yr{--\NAT@penalty}%
\fi
}{%
- \def@NAT@last@yr{--\NAT@penalty}%
+ \def@NAT@last@yr{-\NAT@penalty}%
}{}{}
+% \end{macrocode}
+%
+% 参考文献列表的标签左对齐
+% \begin{macrocode}
+\renewcommand\@biblabel[1]{[#1]\hfill}
+% \end{macrocode}
+%
+% 需要 \pkg{url} 宏包显示 URL。
+% \begin{macrocode}
+\RequirePackage{url}
+% \end{macrocode}
+%
+% 增加 URL 可断行的位置。
+% \begin{macrocode}
+\g@addto@macro\UrlBreaks{%
+ \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
+ \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
+ \do\u\do\v\do\w\do\x\do\y\do\z%
+ \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J%
+ \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T%
+ \do\U\do\V\do\W\do\X\do\Y\do\Z%
+ \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0%
+}
%</package>
% \end{macrocode}
%
+%
% \section{BibTeX style implementation}
%
% \subsection{Fields and entry strings}
@@ -663,7 +673,7 @@ INTEGERS { output.state before.all mid.sentence after.sentence after.block after
INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other }
-INTEGERS { charptr stringlength }
+INTEGERS { charptr len }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -1023,27 +1033,7 @@ FUNCTION {emphasize}
if$
}
-INTEGERS { ascii }
-
-FUNCTION {get.char.lang}
-{ chr.to.int$ 'ascii :=
- 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$
- }
- if$
-}
+INTEGERS { byte second.byte }
INTEGERS { char.lang tmp.lang }
@@ -1052,29 +1042,88 @@ STRINGS { tmp.str }
FUNCTION {get.str.lang}
{ 'tmp.str :=
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 tmp.lang >
- { char.lang 'tmp.lang := }
- 'skip$
+ #1 'charptr :=
+ tmp.str text.length$ #1 + 'len :=
+ { charptr len < }
+ { tmp.str charptr #1 substring$ chr.to.int$ 'byte :=
+ byte #128 <
+ { charptr #1 + 'charptr :=
+ byte #64 > byte #91 < and byte #96 > byte #123 < and or
+ { lang.en 'char.lang := }
+ { lang.other 'char.lang := }
if$
-
- char.lang lang.zh = char.lang lang.ja = or
- { charptr #3 + 'charptr := }
- { char.lang lang.ru =
- { charptr #2 + 'charptr := }
- { charptr #1 + 'charptr := }
+ }
+ { tmp.str charptr #1 + #1 substring$ chr.to.int$ 'second.byte :=
+ byte #224 <
+% \end{macrocode}
+% 俄文西里尔字母:U+0400 到 U+052F,对应 UTF-8 从 D0 80 到 D4 AF。
+% \begin{macrocode}
+ { charptr #2 + 'charptr :=
+ byte #207 > byte #212 < and
+ byte #212 = second.byte #176 < and or
+ { lang.ru 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ { byte #240 <
+% \end{macrocode}
+% CJK Unified Ideographs: U+4E00--U+9FFF; UTF-8: E4 B8 80--E9 BF BF.
+% \begin{macrocode}
+ { charptr #3 + 'charptr :=
+ byte #227 > byte #234 < and
+ { lang.zh 'char.lang := }
+% \end{macrocode}
+% CJK Unified Ideographs Extension A: U+3400--U+4DBF; UTF-8: E3 90 80--E4 B6 BF.
+% \begin{macrocode}
+ { byte #227 =
+ { second.byte #143 >
+ { lang.zh 'char.lang := }
+% \end{macrocode}
+% 日语假名:U+3040--U+30FF, UTF-8: E3 81 80--E3 83 BF.
+% \begin{macrocode}
+ { second.byte #128 > second.byte #132 < and
+ { lang.ja 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ if$
+ }
+% \end{macrocode}
+% CJK Compatibility Ideographs: U+F900--U+FAFF, UTF-8: EF A4 80--EF AB BF.
+% \begin{macrocode}
+ { byte #239 =
+ second.byte #163 > second.byte #172 < and and
+ { lang.zh 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+% \end{macrocode}
+% CJK Unified Ideographs Extension B--F: U+20000--U+2EBEF,
+% UTF-8: F0 A0 80 80--F0 AE AF AF.
+% CJK Compatibility Ideographs Supplement: U+2F800--U+2FA1F,
+% UTF-8: F0 AF A0 80--F0 AF A8 9F.
+% \begin{macrocode}
+ { charptr #4 + 'charptr :=
+ byte #240 = second.byte #159 > and
+ { lang.zh 'char.lang := }
+ { lang.other 'char.lang := }
+ if$
+ }
if$
}
if$
}
- while$
+ if$
+ char.lang tmp.lang >
+ { char.lang 'tmp.lang := }
+ 'skip$
+ if$
}
- if$
+ while$
tmp.lang
}
@@ -1098,11 +1147,6 @@ FUNCTION {format.anonymous}
INTEGERS { nameptr namesleft numnames name.lang }
-% \end{macrocode}
-%
-% \changes{v1.0.2}{2017/03/16}{修正参考文献姓名的“others”}
-%
-% \begin{macrocode}
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
@@ -1192,27 +1236,61 @@ FUNCTION {format.url}
%
% \begin{macrocode}
FUNCTION {is.doi.in.url}
-{ url empty$
- { #0 }
- { doi text.length$ 'stringlength :=
- url text.length$ 'charptr :=
- { url charptr stringlength substring$ doi = not
- charptr #0 >
- and
+{ 's :=
+ s empty$
+ { #1 }
+ { url empty$
+ { #0 }
+ { s text.length$ 'len :=
+ url text.length$ 'charptr :=
+ { url charptr len substring$ s = not
+ charptr #0 >
+ and
+ }
+ { charptr #1 - 'charptr := }
+ while$
+ charptr
}
- { charptr #1 - 'charptr := }
- while$
- charptr
+ if$
}
if$
}
FUNCTION {format.doi}
-{ doi empty$
- { "" }
- { is.doi.in.url
+{ ""
+ doi empty$
+ 'skip$
+ { "" 's :=
+ doi 't :=
+ #0 'numnames :=
+ { t empty$ not}
+ { t #1 #1 substring$ 'tmp.str :=
+ tmp.str "," = tmp.str " " = or t #2 #1 substring$ empty$ or
+ { t #2 #1 substring$ empty$
+ { s tmp.str * 's := }
+ 'skip$
+ if$
+ s empty$ s is.doi.in.url or
+ 'skip$
+ { numnames #1 + 'numnames :=
+ numnames #1 >
+ { ", " * }
+ { "DOI: " * }
+ if$
+ "\doi{" s * "}" * *
+ }
+ if$
+ "" 's :=
+ }
+ { s tmp.str * 's := }
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ 's :=
+ s empty$ not
+ { new.block s }
{ "" }
- { new.block "\doi{" doi * "}" * }
if$
}
if$
@@ -1230,7 +1308,12 @@ FUNCTION {format.doi}
FUNCTION {format.title}
{ title empty$
{ "" }
- { title "t" change.case$ }
+ { title
+ entry.lang lang.en =
+ { "t" change.case$ }
+ 'skip$
+ if$
+ }
if$
}
@@ -1390,23 +1473,18 @@ FUNCTION {output.bibitem}
% END
% \end{pseudocode}
%
+% 《规则》里页码范围的连接号使用 hyphen,需要将 dash 转为 hyphen。
+%
% \begin{macrocode}
-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 :=
@@ -1431,8 +1509,8 @@ FUNCTION {extract.before.dash}
{ pop$ "" }
{ 's :=
#1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength <
+ s text.length$ #1 + 'len :=
+ { charptr len <
s charptr #1 substring$ "-" = not
and
}
@@ -1448,14 +1526,14 @@ FUNCTION {extract.after.dash}
{ pop$ "" }
{ 's :=
#1 'charptr :=
- s text.length$ #1 + 'stringlength :=
- { charptr stringlength <
+ s text.length$ #1 + 'len :=
+ { charptr len <
s charptr #1 substring$ "-" = not
and
}
{ charptr #1 + 'charptr := }
while$
- { charptr stringlength <
+ { charptr len <
s charptr #1 substring$ "-" =
and
}
@@ -1640,7 +1718,7 @@ FUNCTION {format.volume}
{ "" }
{ volume is.number
{ is.in.chinese
- { "第" volume * "卷" * }
+ { "第 " volume * " 卷" * }
{ "volume" volume tie.or.space.connect }
if$
}
@@ -1655,7 +1733,7 @@ FUNCTION {format.number}
{ "" }
{ number is.number
{ is.in.chinese
- { "第" number * "册" * }
+ { "第 " number * " 册" * }
{ "number" number tie.or.space.connect }
if$
}
@@ -1689,7 +1767,10 @@ FUNCTION {format.series.vol.num.title}
if$
}
if$
- "t" change.case$
+ entry.lang lang.en =
+ { "t" change.case$ }
+ 'skip$
+ if$
}
FUNCTION {format.series.vol.num.booktitle}
@@ -1740,7 +1821,7 @@ FUNCTION {format.edition}
{ "" }
{ edition is.number
{ is.in.chinese
- { edition "版" * }
+ { edition " 版" * }
{ edition num.to.ordinal " ed." * }
if$
}
@@ -1771,12 +1852,9 @@ FUNCTION {format.sine.loco}
if$
}
-FUNCTION {format.address}
-{ address }
-
FUNCTION {format.sine.nomine}
{ is.in.chinese
- { "[出版地不详]" }
+ { "[出版者不详]" }
{ "[s.n.]" }
if$
}
@@ -1844,7 +1922,7 @@ FUNCTION {format.address.publisher}
FUNCTION {format.pages}
{ pages empty$
{ "" }
- { pages n.dashify }
+ { pages hyphenate }
if$
}
@@ -2645,8 +2723,6 @@ FUNCTION {sortify}
% We need the chop.word stuff for the dubious unsorted-list-with-labels case.
%
% \begin{macrocode}
-INTEGERS { len }
-
FUNCTION {chop.word}
{ 's :=
'len :=
@@ -3127,7 +3203,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]{\href{https://doi.org/#1}{#1}}"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else"
write$ newline$
diff --git a/Master/texmf-dist/tex/latex/gbt7714/gbt7714.sty b/Master/texmf-dist/tex/latex/gbt7714/gbt7714.sty
index 3397dadc602..266ac210a18 100644
--- a/Master/texmf-dist/tex/latex/gbt7714/gbt7714.sty
+++ b/Master/texmf-dist/tex/latex/gbt7714/gbt7714.sty
@@ -9,21 +9,16 @@
%% 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
-%% version 1.2 of this license or (at your option) any later
-%% version. The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of
-%% LaTeX version 1999/12/01 or later.
-%%
-%% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly,
-%% which was designed for use with the `natbib.sty' package.
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% 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.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{gbt7714}
- [2018/03/16 v1.0.3 GB/T 7714-2015 BibTeX Style]
+ [2018/05/12 v1.0.7 GB/T 7714-2015 BibTeX Style]
\newif\if@gbt@numerical
\newif\if@gbt@super
\DeclareOption{super}{\@gbt@numericaltrue\@gbt@supertrue}
@@ -32,16 +27,6 @@
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{natbib}}
\ExecuteOptions{super}
\ProcessOptions\relax
-\RequirePackage{url}
-\g@addto@macro\UrlBreaks{%
- \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
- \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
- \do\u\do\v\do\w\do\x\do\y\do\z%
- \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J%
- \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T%
- \do\U\do\V\do\W\do\X\do\Y\do\Z%
- \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0%
-}
\if@gbt@numerical
\PassOptionsToPackage{sort&compress}{natbib}
\fi
@@ -109,5 +94,16 @@
\def@NAT@last@yr{--\NAT@penalty}%
\fi
}{%
- \def@NAT@last@yr{--\NAT@penalty}%
+ \def@NAT@last@yr{-\NAT@penalty}%
}{}{}
+\renewcommand\@biblabel[1]{[#1]\hfill}
+\RequirePackage{url}
+\g@addto@macro\UrlBreaks{%
+ \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
+ \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
+ \do\u\do\v\do\w\do\x\do\y\do\z%
+ \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J%
+ \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T%
+ \do\U\do\V\do\W\do\X\do\Y\do\Z%
+ \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0%
+}