summaryrefslogtreecommitdiff
path: root/biblio/bibtex/contrib/vancouver/vancouver.bst
diff options
context:
space:
mode:
Diffstat (limited to 'biblio/bibtex/contrib/vancouver/vancouver.bst')
-rw-r--r--biblio/bibtex/contrib/vancouver/vancouver.bst86
1 files changed, 42 insertions, 44 deletions
diff --git a/biblio/bibtex/contrib/vancouver/vancouver.bst b/biblio/bibtex/contrib/vancouver/vancouver.bst
index bd7e340751..593e9d4776 100644
--- a/biblio/bibtex/contrib/vancouver/vancouver.bst
+++ b/biblio/bibtex/contrib/vancouver/vancouver.bst
@@ -1,17 +1,18 @@
-%%
%% This `vancouver.bst' bibliographic style file (for LaTeX/BibTeX) is
%% generated with the docstrip utility and modified manually to meet the
%% ``Uniform Requirements for Manuscripts Submitted to Biomedical Journals''
%% as published in N Engl J Med 1997;336:309-315.
%% (also known as the Vancouver style)
-%% This specification may be found on the web page of the
-%% International Committe of Medical Journal Editors:
-%%
-%% http://www.icmje.org
+%% The standards are summarized in:
+%% https://www.nlm.nih.gov/bsd/uniform_requirements.html
+%% and detailed in:
+%% https://www.ncbi.nlm.nih.gov/books/NBK7256/
%%
%%-------------------------------------------------------------------
%%
-%% Copyright 2004 Folkert van der Beek
+%% Author: Folkert van der Beek <folkertvanderbeek@gmail.com>
+%% Version: 0.8
+%% URL: https://gitlab.com/fvdbeek/vancouver.bst
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,14 +22,6 @@
%% 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 Folkert van der Beek.
-%%
-%% Complaints, suggestions and comments may be sent to
-%%
-%% Folkert van der Beek <folkertvanderbeek at gmail dot com>
-%%
%%-------------------------------------------------------------------
%%
%% This bibliography style file is intended for texts in ENGLISH
@@ -105,7 +98,7 @@ FUNCTION {init.config.constants}
#0 'adddoiresolver := % 0=no DOI resolver; 1=include it
#0 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
}
-INTEGERS {
+INTEGERS {
bracket.state
outside.brackets
open.brackets
@@ -176,14 +169,14 @@ FUNCTION {output.nonnull}
bracket.state open.brackets =
{ " [" * }
{ ", " * } % bracket.state will be within.brackets
- if$
- s *
+ if$
+ s *
close.brackets 'bracket.state :=
}
if$
}
-% Call this function just before adding something which should be presented in
+% Call this function just before adding something which should be presented in
% brackets. bracket.state is handled specially within output.nonnull.
FUNCTION {inbrackets}
{ bracket.state close.brackets =
@@ -220,7 +213,7 @@ FUNCTION {output.check}
}
FUNCTION {fin.entry}
-{
+{
bracket.state close.brackets = % urlbst
{ "]" * }
'skip$
@@ -262,6 +255,12 @@ FUNCTION {add.semicolon}
no.blank.or.punct
}
+FUNCTION {add.colon}
+{
+ ":" *
+ no.blank.or.punct
+}
+
FUNCTION {date.block}
{
"." *
@@ -434,7 +433,7 @@ FUNCTION {remove.dots}
* % concatenates the last 2 literals, i.e. every character, even a dot, following a "\" will be printed
}
{ duplicate$ "." = % pushes 1 if the last character is ".", otherwise 0
- 'pop$ % pushes the pop$ function
+ 'pop$ % pushes the pop$ function
{ * } % concatenates the last 2 literals
if$ % pops the last character if it is a dot, otherwise concatenates it with the string on top of the stack
}
@@ -456,7 +455,7 @@ FUNCTION{string.length}
STRINGS {replace find text}
INTEGERS {find_length}
FUNCTION {find.replace}
-{
+{
'replace :=
'find :=
'text :=
@@ -817,7 +816,7 @@ FUNCTION {format.names.ed}
}
FUNCTION {format.authors}
-{
+{
author "author" format.names
%%"." " " "author" find.replace format.names
}
@@ -991,7 +990,7 @@ FUNCTION {format.journal.date}
FUNCTION {format.date}
{
no.blank.or.punct
- ";"
+ ";"
duplicate$ empty$
year "year" bibinfo.check duplicate$ empty$
{ swap$ 'skip$
@@ -1168,18 +1167,15 @@ FUNCTION {format.pages}
}
FUNCTION {format.journal.pages}
-{ pages duplicate$ empty$ 'pop$
- { swap$ duplicate$ empty$
- { pop$ pop$ format.pages }
- {
- ":" *
- swap$
- n.dashify
- "pages" bibinfo.check
- *
- }
- if$
- }
+{ pages empty$ 'skip$
+ { add.colon }
+ if$
+ pages duplicate$ empty$ 'pop$
+ {
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
if$
}
@@ -1203,7 +1199,11 @@ FUNCTION {format.vol.num}
}
FUNCTION {format.vol.num.pages}
-{ volume field.or.null
+{ volume empty$ number empty$ and
+ 'skip$
+ { add.semicolon }
+ if$
+ volume field.or.null
duplicate$ empty$ 'skip$
{
"volume" bibinfo.check
@@ -1355,14 +1355,14 @@ FUNCTION {make.href.null}
}
% make hypertex specials
FUNCTION {make.href.hypertex}
-{
+{
"\special {html:<a href=" quote$ *
swap$ * quote$ * "> }" * swap$ *
"\special {html:</a>}" *
}
% make hyperref specials
FUNCTION {make.href.hyperref}
-{
+{
"\href {" swap$ * "} {" * swap$ * "}" *
}
FUNCTION {make.href}
@@ -1409,10 +1409,10 @@ FUNCTION {format.doi}
% the URL and the lastchecked in brackets.
FUNCTION {output.url}
{ url empty$
- 'skip$
- { new.block
+ 'skip$
+ { new.block
format.url output
- format.lastchecked output
+ format.lastchecked output
}
if$
}
@@ -1528,7 +1528,6 @@ FUNCTION {misc}
{ format.type "type" output.check }
%%{ inbrackets type output }
if$
- new.block
format.publisher.address output
format.date "year" output.check
new.block
@@ -1570,7 +1569,6 @@ FUNCTION {article}
"journal" bibinfo.check
"journal" output.check
format.journal.date "year" output.check
- add.semicolon
format.vol.num.pages output
new.block
format.note output
@@ -1585,7 +1583,7 @@ FUNCTION {book}
{ format.organizations "organization" output.check }
{ format.editors "author and editor" output.check }
if$
- }
+ }
{ format.authors output.nonnull
"author and editor" editor either.or.check
}