summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/bibtex/gbt7714
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-14 20:39:01 +0000
committerKarl Berry <karl@freefriends.org>2020-03-14 20:39:01 +0000
commit8f355f2ef89606139b19478647af702523f7d9e7 (patch)
tree3fd372bc702fa67ca8d45760aab8f42cf1b3bc1b /Master/texmf-dist/source/bibtex/gbt7714
parent75992f7fdc6967d0d67027de3074560ca24878ff (diff)
gbt7714 (14mar20)
git-svn-id: svn://tug.org/texlive/trunk@54293 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/bibtex/gbt7714')
-rw-r--r--Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx284
-rw-r--r--Master/texmf-dist/source/bibtex/gbt7714/gbt7714.ins2
2 files changed, 244 insertions, 42 deletions
diff --git a/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx b/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx
index 57254acc42b..e42938874cd 100644
--- a/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx
+++ b/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.dtx
@@ -17,7 +17,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{gbt7714}
-%<package> [2020/03/04 v2.0 GB/T 7714-2015 BibTeX Style]
+%<package> [2020/03/14 v2.0.1 GB/T 7714-2015 BibTeX Style]
%
%<*driver>
\documentclass[a4paper]{ltxdoc}
@@ -285,10 +285,13 @@
% period.between.author.year & |#0| & 著者和年份之间使用句点连接 \\
% sentence.case.title & |#1| & 将西文的题名转为 sentence case \\
% link.title & |#0| & 在题名上添加 url 的超链接 \\
+% title.in.journal & |#1| & 期刊是否显示标题 \\
% show.mark & |#1| & 显示文献类型标识 \\
% show.medium.type & |#1| & 显示载体类型标识 \\
-% italic.jounal & |#0| & 西文期刊名使用斜体 \\
+% italic.journal & |#0| & 西文期刊名使用斜体 \\
% show.missing.address.publisher & |#1| & 出版项缺失时显示“出版者不详” \\
+% space.before.pages & |#0| & 页码前有空白 \\
+% only.start.page & |#0| & 只显示起始页码 \\
% show.url & |#1| & 显示 url \\
% show.doi & |#1| & 显示 doi \\
% show.note & |#0| & 显示 note 域的信息 \\
@@ -363,14 +366,16 @@
% 吴凯.
% \newblock 发布GBT7714-2005.bst version1 Beta版\allowbreak[EB/OL].
% \newblock 2006.
-% \newblock \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=33591}.
+% \newblock \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=33591}
+% (not accessible).
%
% \bibitem[李志奇(2013)]{lqz2013}
% 李志奇.
% \newblock
% 基于biblatex的符合GBT7714-2005的中文文献生成工具\allowbreak[EB/OL].
% \newblock 2013.
-% \newblock \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=74474}.
+% \newblock \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=74474}
+% (not accessible).
%
% \bibitem[胡海星(2013)]{hhx2013}
% 胡海星.
@@ -422,8 +427,6 @@
\newcommand\gbt@obselete@option[1]{%
\PackageWarning{gbt7714}{The option "#1" is obselete}%
}
-\DeclareOption{authoryear}{}
-
\DeclareOption{2015}{%
\gbt@obselete@option{2015}%
\gbt@legacy@interfacetrue
@@ -469,6 +472,7 @@
% 定义接口切换引用文献的标注法,可用 \cs{citestyle} 调用 \opt{numerical}
% 或 \opt{authoryear},参见 \pkg{natbib}。
% \begin{macrocode}
+\renewcommand\newblock{\space}
\newcommand\bibstyle@super{\bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}}
\newcommand\bibstyle@numbers{\bibpunct{[}{]}{,}{n}{,}{,}}
\newcommand\bibstyle@authoryear{\bibpunct{(}{)}{;}{a}{,}{,}}
@@ -778,16 +782,21 @@ INTEGERS {
period.between.author.year
sentence.case.title
link.title
+ title.in.journal
show.mark
show.medium.type
slash.for.extraction
in.booktitle
- italic.jounal
+ abbreviate.journal
+ italic.journal
bold.journal.volume
show.missing.address.publisher
+ space.before.pages
+ only.start.page
show.url
show.doi
show.note
+ show.english.translation
%<*authoryear>
lang.zh.order
lang.ja.order
@@ -849,6 +858,16 @@ FUNCTION {load.config}
%</linktitle>
% \end{macrocode}
%
+% 期刊是否含标题:
+% \begin{macrocode}
+%<*!title-in-journal&!npr>
+ #1 'title.in.journal :=
+%</!title-in-journal&!npr>
+%<*title-in-journal|npr>
+ #0 'title.in.journal :=
+%</title-in-journal|npr>
+% \end{macrocode}
+%
% 著录文献类型标识(比如“[M/OL]“):
% \begin{macrocode}
#1 'show.mark :=
@@ -878,11 +897,21 @@ FUNCTION {load.config}
#0 'in.booktitle :=
% \end{macrocode}
%
+% 期刊名使用缩写:
+% \begin{macrocode}
+%<*!abbreviate-journal&!npr>
+ #0 'abbreviate.journal :=
+%</!abbreviate-journal&!npr>
+%<*abbreviate-journal|npr>
+ #1 'abbreviate.journal :=
+%</abbreviate-journal|npr>
+% \end{macrocode}
+%
% 期刊名使用斜体:
% \begin{macrocode}
- #0 'italic.jounal :=
+ #0 'italic.journal :=
%<*italicjournal>
- #1 'italic.jounal :=
+ #1 'italic.journal :=
%</italicjournal>
% \end{macrocode}
%
@@ -901,6 +930,26 @@ FUNCTION {load.config}
%</noslsn|thu|ustc>
% \end{macrocode}
%
+% 页码是否只含起始页:
+% \begin{macrocode}
+%<*!space-begore-pages&!npr>
+ #0 'space.before.pages :=
+%</!space-begore-pages&!npr>
+%<*space-begore-pages|npr>
+ #1 'space.before.pages :=
+%</space-begore-pages|npr>
+% \end{macrocode}
+%
+% 页码前是否有空白:
+% \begin{macrocode}
+%<*!only-start-page&!npr>
+ #0 'only.start.page :=
+%</!only-start-page&!npr>
+%<*only-start-page|npr>
+ #1 'only.start.page :=
+%</only-start-page|npr>
+% \end{macrocode}
+%
% 是否著录 URL:
% \begin{macrocode}
#1 'show.url :=
@@ -924,6 +973,16 @@ FUNCTION {load.config}
#0 'show.note :=
% \end{macrocode}
%
+% 中文文献是否显示英文翻译
+% \begin{macrocode}
+%<*!show-english-translation&!npr>
+ #0 'show.english.translation :=
+%</!show-english-translation&!npr>
+%<*show-english-translation|npr>
+ #1 'show.english.translation :=
+%</show-english-translation|npr>
+% \end{macrocode}
+%
% 参考文献表按照“著者-出版年”组织时,各个文种的顺序:
% \begin{macrocode}
%<*authoryear>
@@ -970,6 +1029,7 @@ ENTRY
series
title
translator
+ translation
url
urldate
volume
@@ -1346,6 +1406,12 @@ FUNCTION {output.check}
FUNCTION {fin.entry}
{ add.period$
write$
+ show.english.translation entry.lang lang.zh = and
+ { ")"
+ write$
+ }
+ 'skip$
+ if$
newline$
}
@@ -2156,12 +2222,93 @@ FUNCTION {format.series.vol.num.booktitle}
if$
}
-FUNCTION {format.journal}
-{ journal
- italic.jounal entry.lang lang.en = and
- 'italicize
+FUNCTION {remove.period}
+{ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$ 'tmp.str :=
+ tmp.str "." = not
+ { s tmp.str * 's := }
+ 'skip$
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ s
+}
+
+FUNCTION {abbreviate}
+{ remove.period
+ 't :=
+ t "l" change.case$ 's :=
+ ""
+ s "physical review letters" =
+ { "Phys Rev Lett" }
+ 'skip$
+ if$
+%<*npr>
+ s "china physics c" =
+ { "Chin Phys C" }
+ 'skip$
+ if$
+ s "chinese physics letters" =
+ { "Chin Phys Lett" }
+ 'skip$
+ if$
+ s "nuclear instruments and methods in physics research section a" =
+ { "Nucl Instr and Meth A" }
+ 'skip$
+ if$
+ s "nuclear instruments and methods in physics research section a: accelerators, spectrometers, detectors and associated equipment" =
+ { "Nucl Instr and Meth A" }
+ 'skip$
+ if$
+ s "nuclear instruments and methods in physics research section b" =
+ { "Nucl Instr and Meth B" }
+ 'skip$
+ if$
+ s "nuclear instruments and methods in physics research section b: beam interactions with materials and atoms" =
+ { "Nucl Instr and Meth B" }
+ 'skip$
+ if$
+ s "physical review c" =
+ { "Phys Rev C" }
+ 'skip$
+ if$
+ s "physical review d" =
+ { "Phys Rev D" }
'skip$
if$
+ s "physical review e" =
+ { "Phys Rev E" }
+ 'skip$
+ if$
+ s "physics letters b" =
+ { "Phys Lett B" }
+ 'skip$
+ if$
+%</npr>
+ 's :=
+ s empty$
+ { t }
+ { pop$ s }
+ if$
+}
+
+FUNCTION {format.journal}
+{ journal empty$ not
+ { journal
+ abbreviate.journal
+ 'abbreviate
+ 'skip$
+ if$
+ italic.journal entry.lang lang.en = and
+ 'italicize
+ 'skip$
+ if$
+ }
+ { "" }
+ if$
}
% \end{macrocode}
@@ -2508,7 +2655,12 @@ FUNCTION {hyphenate}
FUNCTION {format.pages}
{ pages empty$
{ "" }
- { pages hyphenate }
+ { pages
+ only.start.page
+ 'extract.before.dash
+ 'hyphenate
+ if$
+ }
if$
}
@@ -2541,7 +2693,12 @@ FUNCTION {format.journal.number}
FUNCTION {format.journal.pages}
{ pages empty$
{ "" }
- { ":\penalty0 " pages hyphenate * }
+ { space.before.pages
+ { ": " }
+ { ":\penalty0 " }
+ if$
+ format.pages *
+ }
if$
}
@@ -2623,9 +2780,15 @@ FUNCTION {check.url}
}
FUNCTION {format.url}
+{ entry.url
+}
+
+FUNCTION {output.url}
{ entry.url empty$ not
- { new.block entry.url }
- { "" }
+ { new.block
+ entry.url output
+ }
+ 'skip$
if$
}
@@ -2663,7 +2826,7 @@ FUNCTION {is.in.url}
FUNCTION {format.doi}
{ ""
- doi empty$ not show.doi and
+ doi empty$ not
{ "" 's :=
doi 't :=
#0 'numnames :=
@@ -2691,11 +2854,16 @@ FUNCTION {format.doi}
t #2 global.max$ substring$ 't :=
}
while$
- 's :=
- s empty$ not
- { new.block s }
- { "" }
- if$
+ }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.doi}
+{ doi empty$ not show.doi and
+ show.english.translation entry.lang lang.zh = and not and
+ { new.block
+ format.doi output
}
'skip$
if$
@@ -2727,6 +2895,30 @@ FUNCTION {format.note}
if$
}
+FUNCTION {output.translation}
+{ show.english.translation entry.lang lang.zh = and
+ { translation empty$ not
+ { translation }
+ { "[English translation missing!]" }
+ if$
+ " (in Chinese)" * output
+ write$
+ format.doi duplicate$ empty$ not
+ { newline$
+ write$
+ }
+ 'pop$
+ if$
+ " \\" write$
+ newline$
+ "(" write$
+ ""
+ before.all 'output.state :=
+ }
+ 'skip$
+ if$
+}
+
% \end{macrocode}
%
% The function empty.misc.check complains if all six fields are empty, and
@@ -2760,6 +2952,7 @@ FUNCTION {empty.misc.check}
% \begin{macrocode}
FUNCTION {monograph}
{ output.bibitem
+ output.translation
author empty$ not
{ format.authors }
{ editor empty$ not
@@ -2798,8 +2991,8 @@ FUNCTION {monograph}
%</numerical>
format.pages bbl.colon output.after
format.urldate "" output.after
- format.url output
- format.doi output
+ output.url
+ output.doi
new.block
format.note output
fin.entry
@@ -2820,6 +3013,7 @@ FUNCTION {monograph}
% \begin{macrocode}
FUNCTION {incollection}
{ output.bibitem
+ output.translation
format.authors output
author format.key output
%<*authoryear>
@@ -2848,8 +3042,8 @@ FUNCTION {incollection}
%</numerical>
format.pages bbl.colon output.after
format.urldate "" output.after
- format.url output
- format.doi output
+ output.url
+ output.doi
new.block
format.note output
fin.entry
@@ -2862,6 +3056,7 @@ FUNCTION {incollection}
% \begin{macrocode}
FUNCTION {periodical}
{ output.bibitem
+ output.translation
format.authors output
author format.key output
%<*authoryear>
@@ -2883,8 +3078,8 @@ FUNCTION {periodical}
format.date "year" output.check
%</numerical>
format.urldate "" output.after
- format.url output
- format.doi output
+ output.url
+ output.doi
new.block
format.note output
fin.entry
@@ -2906,6 +3101,7 @@ FUNCTION {periodical}
% \begin{macrocode}
FUNCTION {article}
{ output.bibitem
+ output.translation
format.authors output
author format.key output
%<*authoryear>
@@ -2916,10 +3112,14 @@ FUNCTION {article}
format.year "year" output.check
%</authoryear>
new.block
- format.title "title" output.check
- "J" set.entry.mark
- format.mark "" output.after
- new.block
+ title.in.journal
+ { format.title "title" output.check
+ "J" set.entry.mark
+ format.mark "" output.after
+ new.block
+ }
+ 'skip$
+ if$
format.journal "journal" output.check
%<*numerical>
format.date "year" output.check
@@ -2928,8 +3128,8 @@ FUNCTION {article}
format.journal.number "" output.after
format.journal.pages "" output.after
format.urldate "" output.after
- format.url output
- format.doi output
+ output.url
+ output.doi
new.block
format.note output
fin.entry
@@ -2943,6 +3143,7 @@ FUNCTION {article}
% \begin{macrocode}
FUNCTION {patent}
{ output.bibitem
+ output.translation
format.authors output
author format.key output
%<*authoryear>
@@ -2959,8 +3160,8 @@ FUNCTION {patent}
new.block
format.date "year" output.check
format.urldate "" output.after
- format.url output
- format.doi output
+ output.url
+ output.doi
new.block
format.note output
fin.entry
@@ -2974,6 +3175,7 @@ FUNCTION {electronic}
{ #1 #1 check.electronic
#1 'entry.is.electronic :=
output.bibitem
+ output.translation
format.authors output
author format.key output
%<*authoryear>
@@ -2998,8 +3200,8 @@ FUNCTION {electronic}
format.pages bbl.colon output.after
format.editdate "" output.after
format.urldate "" output.after
- format.url output
- format.doi output
+ output.url
+ output.doi
new.block
format.note output
fin.entry
@@ -3928,9 +4130,9 @@ FUNCTION {begin.bib}
show.doi
{ "\expandafter\ifx\csname href\endcsname\relax"
write$ newline$
- " \def\doi#1{#1}\else"
+ " \DeclareUrlCommand\doi{\urlstyle{rm}}\else"
write$ newline$
- " \def\doi#1{\href{https://doi.org/#1}{#1}}\fi"
+ " \providecommand\doi[1]{\href{https://doi.org/#1}{\nolinkurl{#1}}}\fi"
write$ newline$
}
'skip$
diff --git a/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.ins b/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.ins
index a2161d12a85..5d0ba5e3498 100644
--- a/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.ins
+++ b/Master/texmf-dist/source/bibtex/gbt7714/gbt7714.ins
@@ -5,7 +5,7 @@
-------------------------------------------------------------------
GB/T 7714-2015 BibTeX Style
https://github.com/CTeX-org/gbt7714-bibtex-style
-Version: 2020/03/04 v2.0
+Version: 2020/03/14 v2.0.1
-------------------------------------------------------------------
Copyright (C) 2016-\the\year by Zeping Lee <zepinglee AT gmail.com>
-------------------------------------------------------------------