diff --git a/DESCRIPTION b/DESCRIPTION index 588af3897..322555903 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: rticles Title: Article Formats for R Markdown -Version: 0.27.9 +Version: 0.27.10 Authors@R: c( person("JJ", "Allaire", , "jj@posit.co", role = "aut"), person("Yihui", "Xie", , "xie@yihui.name", role = "aut", @@ -79,7 +79,9 @@ Authors@R: c( person("Dmytro", "Perepolkin", , "dperepolkin@gmail.com", role = "ctb", comment = c(ORCID = "0000-0001-8558-6183", github = "dmi3kno")), person("Tom", "Palmer", , "remlapmot@hotmail.com", role = "ctb", - comment = c(ORCID = "0000-0003-4655-4511", github = "remlapmot")) + comment = c(ORCID = "0000-0003-4655-4511", github = "remlapmot")), + person("Rafael", "Laboissière", , "rafael@laboissiere.net", role = "ctb", + comment = c(ORCID = "0000-0002-2180-9250", github = "rlaboiss")) ) Description: A suite of custom R Markdown formats and templates for authoring journal articles and conference submissions. diff --git a/R/article.R b/R/article.R index 56dd424c4..d88202aff 100644 --- a/R/article.R +++ b/R/article.R @@ -539,17 +539,6 @@ springer_article <- function(..., keep_tex = TRUE, citation_package = "natbib", format } -#' @section `tf_article`: Format for creating submissions to a Taylor & Francis journal. Adapted from -#' \samp{https://www.tandf.co.uk/journals/authors/InteractCADLaTeX.zip}. -#' @export -#' @rdname article -tf_article <- function(..., keep_tex = TRUE, citation_package = "natbib") { - pdf_document_format( - "tf", - keep_tex = keep_tex, citation_package = citation_package, ... - ) -} - #' @section \code{trb_article}: Format for creating submissions to the Transportation #' Research Board Annual Meeting. Adapted from #' \samp{https://www.overleaf.com/latex/templates/transportation-research-board-trb-latex-template/jkfndnnkkksw}, diff --git a/R/tf_article.R b/R/tf_article.R new file mode 100644 index 000000000..698283704 --- /dev/null +++ b/R/tf_article.R @@ -0,0 +1,121 @@ +#' Taylor & Francis journals format +#' +#' Format for creating submissions to many Taylor & Francis journals. +#' Adapted from: +#' * +#' * +#' * +#' * +#' * +#' * +#' +#' @inheritParams rmarkdown::pdf_document +#' @param reference_style should be set according to the specific Taylor & Francis +#' journal. Possibles values: "APA" (American Psychological Association +#' reference style), "CAD" (Chicago Author-Date reference style), "NLM" +#' (National Library of Medicine reference style), "TFP" (Reference +#' Style-P), "TFQ" (Reference Style-Q), and "TFS" (Reference Style-S). +#' @param ... Additional arguments to [rmarkdown::pdf_document()] +#' +#' @examples \dontrun{ +#' rmarkdown::draft("MyArticle.Rmd", template = "tf", package = "rticles") +#' setwd("MyArticle") +#' rmarkdown::render("MyArticle.Rmd") +#' } +#' @importFrom rmarkdown pandoc_variable_arg +#' @export +tf_article <- function(..., keep_tex = TRUE, citation_package = "natbib", + reference_style = c("CAD", "APA", "NLM", "TFP", "TFQ", "TFS"), + pandoc_args = NULL) { + styles <- list( + APA = list( + bst = "apacite", + cmd = c( + "\\usepackage[natbibapa]{apacite}", + "\\setlength\\bibhang{12pt}", + "\\renewcommand\\bibliographytypesize{\\fontsize{10}{12}\\selectfont}" + ) + ), + CAD = list( + bst = "tfcad", + cmd = c( + "\\usepackage{natbib}", + "\\bibpunct[, ]{(}{)}{;}{a}{}{,}" + ) + ), + NLM = list( + bst = "tfnlm", + cmd = c( + "\\usepackage[numbers,sort&compress]{natbib}", + "\\makeatletter", + "\\def\\NAT@def@citea{\\def\\@citea{\\NAT@separator}}", + "\\makeatother", + "\\bibpunct[, ]{[}{]}{,}{n}{,}{,}", + "\\renewcommand\\bibfont{\\fontsize{10}{12}\\selectfont}" + ) + ), + TFP = list( + bst = "tfp", + cmd = c( + "\\usepackage[numbers,sort&compress,merge]{natbib}", + "\\bibpunct[, ]{(}{)}{,}{n}{,}{,}", + "\\renewcommand\\bibfont{\\fontsize{10}{12}\\selectfont}", + "\\renewcommand\\citenumfont[1]{\\textit{#1}}", + "\\renewcommand\\bibnumfmt[1]{(#1)}" + ) + ), + TFQ = list( + bst = "tfq", + cmd = c( + "\\usepackage[numbers,sort&compress]{natbib}", + "\\bibpunct[, ]{[}{]}{,}{n}{,}{,}", + "\\renewcommand\\bibfont{\\fontsize{10}{12}\\selectfont}" + ) + ), + TFS = list( + bst = "tfs", + cmd = c( + "\\usepackage[numbers,sort&compress]{natbib}", + "\\bibpunct[, ]{[}{]}{,}{n}{,}{,}", + "\\renewcommand\\bibfont{\\fontsize{10}{12}\\selectfont}" + ) + ) + ) + reference_style <- match.arg(reference_style) + if (! reference_style %in% names(styles)) + stop( + paste( + "Invalid reference_style in Taylor and Francis article. Allowed values are:", + paste(names(styles), collapse = ", ") + ) + ) + sty <- styles[[reference_style]] + pandoc_args <- c( + pandoc_args, + rmarkdown::pandoc_variable_arg("biblio-style", sty$bst), + rmarkdown::pandoc_variable_arg( + "biblio-commands", + paste(sty$cmd, collapse = "\n") + ) + ) + + base <- pdf_document_format( + "tf", + keep_tex = keep_tex, + citation_package = citation_package, + pandoc_args = pandoc_args, + ... + ) + pre_knit <- base$pre_knit + + # Alert the user about deprecation of the biblio_style field in the YAML header + base$pre_knit <- function(input, metadata, ...) { + if (is.function(pre_knit)) pre_knit(input, metadata, ...) + if (!is.null(metadata$biblio_style)) + warning("`tf_article()` now ignores the 'biblio_style' field in YAML header. ", + " Use the 'reference_style' option of 'output:tf_article', instead.", + call. = FALSE) + } + + base +} diff --git a/inst/rmarkdown/templates/tf/resources/template.tex b/inst/rmarkdown/templates/tf/resources/template.tex index 371bed3fd..861e24633 100644 --- a/inst/rmarkdown/templates/tf/resources/template.tex +++ b/inst/rmarkdown/templates/tf/resources/template.tex @@ -1,5 +1,12 @@ -% interactcadsample.tex -% v1.04 - May 2023 +% Template for Taylor & Francis journals +% +% Based on the original files distributed by T&F: +% * interactapasample.tex: v1.05 - August 2017 +% * interactcadsample.tex: v1.04 - May 2023 +% * interactnlmsample.tex: v1.05 - August 2017 +% * interacttfpsample.tex: v1.01 - June 2016 +% * interacttfqsample.tex: v1.05 - August 2017 +% * interacttfssample.tex: v1.05 - August 2017 \documentclass[$for(classoption)$$classoption$$sep$,$endfor$]{interact} @@ -7,9 +14,7 @@ \usepackage{subfigure}% Support for small, `sub' figures and tables %\usepackage[nolists,tablesfirst]{endfloat}% To `separate' figures and tables from text if required -\usepackage{natbib}% Citation support using natbib.sty -\bibpunct[, ]{(}{)}{;}{a}{}{,}% Citation support using natbib.sty -\renewcommand\bibfont{\fontsize{10}{12}\selectfont}% Bibliography support using natbib.sty +$biblio-commands$ \theoremstyle{plain}% Theorem-like structures provided by amsthm.sty \newtheorem{theorem}{Theorem}[section] @@ -202,7 +207,7 @@ $body$ $if(bibliography)$ -\bibliographystyle{$if(biblio-style)$$biblio-style$$else$tfcad$endif$} +\bibliographystyle{$biblio-style$} \bibliography{$bibliography$} $endif$ diff --git a/inst/rmarkdown/templates/tf/skeleton/interact.cls b/inst/rmarkdown/templates/tf/skeleton/interact.cls index 8fdb95492..288f52f13 100644 --- a/inst/rmarkdown/templates/tf/skeleton/interact.cls +++ b/inst/rmarkdown/templates/tf/skeleton/interact.cls @@ -4,12 +4,12 @@ %% %% This file is part of a Taylor & Francis 'Interact' LaTeX bundle. %% -%% v1.03 - 2016/10/17 +%% v1.05 - 2017/07/31 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{interact}[2016/10/17 v1.03 Interact LaTeX document class] +\ProvidesClass{interact}[2017/07/31 v1.05 Interact LaTeX document class] % \newif\iflargeformat \newif\ifsuppldata @@ -228,6 +228,35 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Page styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\endpage#1{\gdef\@endpage{#1}} +\endpage{}% +\def\jname#1{\gdef\@jname{#1}} +\gdef\@jname{} +\def\jvol#1{\gdef\@jvol{#1}} +\gdef\@jvol{00} +\def\jnum#1{\gdef\@jnum{#1}} +\gdef\@jnum{00} +\def\jmonth#1{\gdef\@jmonth{#1}} +\gdef\@jmonth{Month} +\def\jyear#1{\gdef\@jyear{#1}} +\gdef\@jyear{20XX} +\def\doi#1{\gdef\@doi{#1}} +\gdef\@doi{} +% +\def\ps@title{% + \let\@oddfoot\@empty + \let\@evenfoot\@empty + \def\@evenhead{}% + \def\@oddhead{}% + \let\@mkboth\@gobbletwo + \let\sectionmark\@gobble + \let\subsectionmark\@gobble + } +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Page styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Title commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\articletype#1{\gdef\@articletype{{#1}}\MakeUppercase} @@ -278,48 +307,6 @@ \vskip13pt \egroup} % -\renewenvironment{abstract}{% - \par\addvspace{0pt plus2pt minus1pt} - \abstractfont\noindent{\bfseries \abstractname\\}\ignorespaces% -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\newenvironment{abbreviations}{% - \par\addvspace{13pt plus2pt minus1pt} - \abstractfont\noindent{\bfseries \abbreviationsname: }\ignorespaces% -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\newenvironment{keywords}{% - \par\addvspace{13pt plus2pt minus1pt} - \keywordfont\noindent{\bfseries \keywordsname\\}\ignorespaces% -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\newenvironment{amscode}{% - \par\addvspace{13pt plus2pt minus1pt} - \keywordfont\noindent{\bfseries{AMS CLASSIFICATION}\\}\ignorespaces% -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\newenvironment{jelcode}{% - \par\addvspace{13pt plus2pt minus1pt} - \keywordfont\noindent{\bfseries{JEL CLASSIFICATION}\\}\ignorespaces% -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\newenvironment{pacscode}{% - \par\addvspace{13pt plus2pt minus1pt} - \keywordfont\noindent{\bfseries{PACS CLASSIFICATION}\\}\ignorespaces% -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Title commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Sectioning commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -378,9 +365,9 @@ {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} % -\def\@sseccntformat#1{\csname the#1\endcsname.\quad} +\def\@sseccntformat#1{\csname the#1\endcsname.\hskip 0.5em} \def\@appseccntformat#1{\appendixname\ \csname the#1\endcsname.\ } -\def\@seccntformat#1{\csname the#1\endcsname.\quad} +\def\@seccntformat#1{\csname the#1\endcsname.\hskip 0.5em} \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \let\@svsec\@empty\else \refstepcounter{#1}% @@ -396,7 +383,7 @@ {\interlinepenalty \@M {#8}\par}% \else \ifnum#2=2 - \@hangfrom{\hskip #3\relax{\em\@svsec}}% + \@hangfrom{\hskip #3\relax\@svsec}% {\interlinepenalty \@M #8\par}% \else \@hangfrom{\hskip #3\relax\@svsec}% @@ -418,11 +405,158 @@ \fi #7}}\fi \@xsect{#5}} - +% %%%%%%%%%%%%%%%%%%%%%%%%%%% End Sectioning commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newdimen\LabelSep +\LabelSep.5em +\newskip\TopSep +\TopSep 6\p@ %\@plus2\p@% \@minus1\p@ +% +\def\@listI{\leftmargin\leftmargini + \listparindent\parindent + \parsep \z@\labelsep\LabelSep + \topsep\TopSep + \itemsep0\p@} +% +\let\@listi\@listI +\@listi +% +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \listparindent\parindent + \parsep \z@\labelsep\LabelSep + \topsep 0pt%6\p@ \@plus2\p@ \@minus1\p@ + \parsep\z@\itemsep\z@} +\def\@listiii{\leftmargin\leftmarginiii + \listparindent\parindent + \labelwidth\leftmarginiii + \topsep 0pt + \parsep \z@ + \partopsep0pt + \itemsep0pt} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +% +\setlength\leftmargini {2.5em} +\leftmargin \leftmargini +\setlength\leftmarginii {2.2em} +\setlength\leftmarginiii {1.87em} +\setlength\leftmarginiv {1.7em} +\setlength\leftmarginv {1em} +\setlength\leftmarginvi {1em} +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\renewcommand\theenumi{\@arabic\c@enumi} +\renewcommand\theenumii{\@alph\c@enumii} +\renewcommand\theenumiii{\@roman\c@enumiii} +\renewcommand\theenumiv{\@Alph\c@enumiv} +\renewcommand\labelenumi{(\theenumi)} +\renewcommand\labelenumii{(\theenumii)} +\renewcommand\labelenumiii{(\theenumiii)} +\renewcommand\labelenumiv{(\theenumiv)} +\renewcommand\p@enumii{\theenumi} +\renewcommand\p@enumiii{\theenumi(\theenumii)} +\renewcommand\p@enumiv{\p@enumiii\theenumiii} +\renewcommand\labelitemi{$\m@th\bullet$} +\renewcommand\labelitemii{$\m@th\circ$} +\renewcommand\labelitemiii{\normalfont\textendash} +\renewcommand\labelitemiv{$\m@th\ast$} +% +%\renewenvironment{description}% +% {\list{}{\labelwidth\z@ \itemindent-\leftmargin +% \let\makelabel\descriptionlabel}} +% {\endlist} +%\renewcommand*\descriptionlabel[1]{\hspace\labelsep +% \normalfont\bfseries #1} +% +\renewenvironment{abstract}{% + \par\addvspace{0pt plus2pt minus1pt} + \abstractfont\noindent{\bfseries \abstractname\\}\ignorespaces% +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\newenvironment{abbreviations}{% + \par\addvspace{13pt plus2pt minus1pt} + \abstractfont\noindent{\bfseries \abbreviationsname: }\ignorespaces% +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\newenvironment{keywords}{% + \par\addvspace{13pt plus2pt minus1pt} + \keywordfont\noindent{\bfseries \keywordsname\\}\ignorespaces% +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\newenvironment{amscode}{% + \par\addvspace{13pt plus2pt minus1pt} + \keywordfont\noindent{\bfseries \amscodename\\}\ignorespaces% +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\newenvironment{jelcode}{% + \par\addvspace{13pt plus2pt minus1pt} + \keywordfont\noindent{\bfseries \jelcodename\\}\ignorespaces% +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\newenvironment{pacscode}{% + \par\addvspace{13pt plus2pt minus1pt} + \keywordfont\noindent{\bfseries \pacscodename\\}\ignorespaces% +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\renewenvironment{quote}{% + \par\addvspace{13pt plus2pt minus1pt} + \extractfont\noindent\ignorespaces +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\renewenvironment{quote}{% + \par\addvspace{6pt}\let\itemize\Itemize\let\enditemize\endItemize + \extractfont\noindent\ignorespaces +}{% + \par\addvspace{6pt} + \@endparenv} +% +\renewenvironment{quotation}{% + \par\addvspace{13pt plus2pt minus1pt} + \extractfont\ignorespaces +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\renewenvironment{quotation}{% + \par\addvspace{6pt}\let\itemize\Itemize\let\enditemize\endItemize + \extractfont\ignorespaces +}{% + \par\addvspace{6pt} + \@endparenv} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \renewcommand\appendix{% \let\@seccntformat\@appseccntformat \setcounter{equation}{0}\renewcommand\theequation{\thesection\arabic{equation}}% @@ -434,7 +568,7 @@ \@addtoreset{table}{section} \@addtoreset{figure}{section} } - +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -446,7 +580,7 @@ \renewenvironment{figure*}% {\figcaptionfont\@dblfloat{figure}} {\end@dblfloat} - +% \def\ArtDir{art/}% \def\ArtPiece{\@ifnextchar[{\@ArtPiece}{\@ArtPiece[]}}% \def\@ArtPiece[#1]#2{\def\@tempa{#1}% @@ -514,8 +648,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Captions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -\setlength\abovecaptionskip{7\p@} -\setlength\belowcaptionskip{\z@} +\setlength\abovecaptionskip{12\p@} +\setlength\belowcaptionskip{0\p@} % \def\FigName{figure} % @@ -543,111 +677,6 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Captions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\newdimen\LabelSep -\LabelSep.5em -\newskip\TopSep -\TopSep 6\p@ %\@plus2\p@% \@minus1\p@ -% -\def\@listI{\leftmargin\leftmargini - \listparindent\parindent - \parsep \z@\labelsep\LabelSep - \topsep\TopSep - \itemsep0\p@} -% -\let\@listi\@listI -\@listi -% -\def\@listii {\leftmargin\leftmarginii - \labelwidth\leftmarginii - \listparindent\parindent - \parsep \z@\labelsep\LabelSep - \topsep 0pt%6\p@ \@plus2\p@ \@minus1\p@ - \parsep\z@\itemsep\z@} -\def\@listiii{\leftmargin\leftmarginiii - \listparindent\parindent - \labelwidth\leftmarginiii - \topsep 0pt - \parsep \z@ - \partopsep0pt - \itemsep0pt} -\def\@listiv {\leftmargin\leftmarginiv - \labelwidth\leftmarginiv - \advance\labelwidth-\labelsep} -\def\@listv {\leftmargin\leftmarginv - \labelwidth\leftmarginv - \advance\labelwidth-\labelsep} -\def\@listvi {\leftmargin\leftmarginvi - \labelwidth\leftmarginvi - \advance\labelwidth-\labelsep} -% -\setlength\leftmargini {2.5em} -\leftmargin \leftmargini -\setlength\leftmarginii {2.2em} -\setlength\leftmarginiii {1.87em} -\setlength\leftmarginiv {1.7em} -\setlength\leftmarginv {1em} -\setlength\leftmarginvi {1em} -\setlength \labelsep {.5em} -\setlength \labelwidth{\leftmargini} -\addtolength\labelwidth{-\labelsep} -\@beginparpenalty -\@lowpenalty -\@endparpenalty -\@lowpenalty -\@itempenalty -\@lowpenalty -\renewcommand\theenumi{\@arabic\c@enumi} -\renewcommand\theenumii{\@alph\c@enumii} -\renewcommand\theenumiii{\@roman\c@enumiii} -\renewcommand\theenumiv{\@Alph\c@enumiv} -\renewcommand\labelenumi{(\theenumi)} -\renewcommand\labelenumii{(\theenumii)} -\renewcommand\labelenumiii{(\theenumiii)} -\renewcommand\labelenumiv{(\theenumiv)} -\renewcommand\p@enumii{\theenumi} -\renewcommand\p@enumiii{\theenumi(\theenumii)} -\renewcommand\p@enumiv{\p@enumiii\theenumiii} -\renewcommand\labelitemi{$\m@th\bullet$} -\renewcommand\labelitemii{$\m@th\circ$} -\renewcommand\labelitemiii{\normalfont\textendash} -\renewcommand\labelitemiv{$\m@th\ast$} -% -\renewenvironment{description}% - {\list{}{\labelwidth\z@ \itemindent-\leftmargin - \let\makelabel\descriptionlabel}} - {\endlist} -\renewcommand*\descriptionlabel[1]{\hspace\labelsep% - \normalfont\bfseries #1} -% -\renewenvironment{quote}{% - \par\addvspace{13pt plus2pt minus1pt} - \extractfont\noindent\ignorespaces -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\renewenvironment{quote}{% - \par\addvspace{6pt}\let\itemize\Itemize\let\enditemize\endItemize - \extractfont\noindent\ignorespaces -}{% - \par\addvspace{6pt} - \@endparenv} -% -\renewenvironment{quotation}{% - \par\addvspace{13pt plus2pt minus1pt} - \extractfont\ignorespaces -}{% - \par\addvspace{13pt plus2pt minus1pt} - \@endparenv} -% -\renewenvironment{quotation}{% - \par\addvspace{6pt}\let\itemize\Itemize\let\enditemize\endItemize - \extractfont\ignorespaces -}{% - \par\addvspace{6pt} - \@endparenv} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \renewcommand\footnoterule{% @@ -661,35 +690,6 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Page styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\endpage#1{\gdef\@endpage{#1}} -\endpage{}% -\def\jname#1{\gdef\@jname{#1}} -\gdef\@jname{} -\def\jvol#1{\gdef\@jvol{#1}} -\gdef\@jvol{00} -\def\jnum#1{\gdef\@jnum{#1}} -\gdef\@jnum{00} -\def\jmonth#1{\gdef\@jmonth{#1}} -\gdef\@jmonth{Month} -\def\jyear#1{\gdef\@jyear{#1}} -\gdef\@jyear{20XX} -\def\doi#1{\gdef\@doi{#1}} -\gdef\@doi{} -% -\def\ps@title{% - \let\@oddfoot\@empty - \let\@evenfoot\@empty - \def\@evenhead{}% - \def\@oddhead{}% - \let\@mkboth\@gobbletwo - \let\sectionmark\@gobble - \let\subsectionmark\@gobble - } -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Page styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%% Theorem-like structures %%%%%%%%%%%%%%%%%%%%%%%%%%%% % \renewenvironment{proof}[1][\proofname]{\par @@ -712,9 +712,12 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%% End Theorem-like structures %%%%%%%%%%%%%%%%%%%%%%%%%% % -\newcommand\abbreviationsname{Abbreviations} \renewcommand\abstractname{ABSTRACT} +\newcommand\abbreviationsname{Abbreviations} \newcommand\keywordsname{KEYWORDS} +\newcommand\amscodename{AMS CLASSIFICATION} +\newcommand\jelcodename{JEL CLASSIFICATION} +\newcommand\pacscodename{PACS CLASSIFICATION} % \setlength\parskip{0\p@} \setlength\columnsep{12\p@} diff --git a/inst/rmarkdown/templates/tf/skeleton/interactcadsample.bib b/inst/rmarkdown/templates/tf/skeleton/interactcadsample.bib deleted file mode 100644 index d0c425170..000000000 --- a/inst/rmarkdown/templates/tf/skeleton/interactcadsample.bib +++ /dev/null @@ -1,19 +0,0 @@ -@ARTICLE{Alb05, - author = {Albiston, Catherine R.}, - year = 2005, - title = {Bargaining in the Shadow of Social Institutions: Competing Discourses and Social Change in the Workplace Mobilization of Civil Rights}, - journal = {Law and Society Review}, - volume = 39, - number = 1, - pages = {11--47}, - doi = {10.1111/j.0023-9216.2005.00076.x}} - -@ARTICLE{Blair1977, - author = {Blair, Walter}, - year = 1977, - title = {Americanized Comic Braggarts}, - journal = {Critical Inquiry}, - volume = 4, - number = 2, - pages = {331--349}, - doi = {10.1086/447940}} diff --git a/inst/rmarkdown/templates/tf/skeleton/interactsample.bib b/inst/rmarkdown/templates/tf/skeleton/interactsample.bib new file mode 100644 index 000000000..d00a29db4 --- /dev/null +++ b/inst/rmarkdown/templates/tf/skeleton/interactsample.bib @@ -0,0 +1,230 @@ +@BOOK{APA10, + author = {{American Psychological Association}}, + year = 2010, + title = {Publication Manual of the {A}merican {P}sychological {A}ssociation}, + edition = {6}, + address = {Washington, DC}, + publisher = {Author}} + +@BOOK{Ban77, + author = {Bandura, A. J.}, + year = 1977, + title = {Social Learning Theory}, + address = {Englewood Cliffs, NJ}, + publisher = {Prentice Hall}} + +@ARTICLE{BriIP, + author = {Briscoe, R.}, + year = {in press}, + title = {Egocentric Spatial Representation in Action and Perception}, + journal = {Philosophy and Phenomenological Research}, + url = {http://cogprints.org/5780/1/ECSRAP.F07.pdf}} + +@ARTICLE{Cha08, + author = {Chamberlin, J. and Novotney, A. and Packard, E. and Price, M.}, + year = 2008, + month = may, + title = {Enhancing Worker Well-Being: Occupational Health Psychologists Convene to Share their Research on Work, Stress, and Health}, + journal = {Monitor on Psychology}, + volume = 39, + number = 5, + pages = {26--29}} + +@ARTICLE{Cla08, + author = {Clay, R.}, + year = 2008, + month = jun, + title = {Science vs. Ideology: Psychologists Fight Back about the Misuse of Research}, + journal = {Monitor on Psychology}, + volume = 39, + number = 6, + url = {http://www.apa.org/monitor/}} + +@TECHREPORT{Fel81, + author = {B. A. Feller}, + title = {Health Characteristics of Persons with Chronic Activity Limitation, {U}nited {S}tates, 1979}, + address = {Hyattsville, MD}, + institution = {National Center for Health Statistics (US)}, + year = 1981, + type = {Report}, + number = {VHS-SER10/137}} + +@ARTICLE{GSSM91, + author = {Ganster, D. C. and Schaubroeck, J. and Sime, W. E. and Mayes, B. T.}, + year = 1991, + title = {The Nomological Validity of the {Type A} Personality Among Employed Adults}, + type = {Monograph}, + journal = {Journal of Applied Psychology}, + volume = 76, + pages = {143--168}} + +@INCOLLECTION{Gra05, + author = {Graham, G.}, + year = 2005, + title = {Behaviorism}, + editor = {E. N. Zalta}, + booktitle = {The {S}tanford Encyclopedia of Philosophy}, + edition = {Fall 2007}, + url = {http://plato.stanford.edu/entries/behaviorism}} + +@ARTICLE{Han04, + editor = {Haney, C. and Wiener, R. L.}, + year = 2004, + title = {Capital Punishment in the {U}nited {S}tates}, + type = {Special issue}, + journal = {Psychology, Public Policy, and Law}, + volume = 10, + number = 4} + +@INCOLLECTION{Hay08, + author = {D. M. Haybron}, + year = 2008, + title = {Philosophy and the Science of Subjective Well-being}, + editor = {M. Eid and R. J. Larsen}, + booktitle = {The Science of Subjective Well-being}, + pages = {17--43}, + address = {New York, NY}, + publisher = {Guilford Press}} + +@BOOK{Koc59, + editor = {S. Koch}, + year = {1959--1963}, + title = {Psychology: A Study of Science}, + volume = {1--6}, + address = {New York, NY}, + publisher = {McGraw-Hill}} + +@BOOK{Lig06, + author = {Light, I.}, + year = 2006, + title = {Deflecting Immigration: Networks, Markets, and Regulation in {L}os {A}ngeles}, + address = {New York, NY}, + publisher = {Russell Sage Foundation}} + +@ARTICLE{Lig08, + author = {Light, M. A. and Light, I. H.}, + year = 2008, + title = {The Geographic Expansion of {M}exican Immigration in the {U}nited {S}tates and its Applications for Local Law Enforcement}, + journal = {Law Enforcement Executive Forum Journal}, + volume = 8, + number = 1, + pages = {73--82}} + +@ARTICLE{MPW08, + author = {Marshall-Pescini, S. and Whiten, A.}, + year = 2008, + title = {Social Learning of Nut-Cracking Behavior in {E}ast {A}frican Sanctuary-Living Chimpanzees (\emph{{P}an troglodytes schweinfurthii})}, + type = {Supplemental material}, + journal = {Journal of Comparative Psychology}, + volume = 122, + pages = {186--194}} + +@INCOLLECTION{Nas93, + author = {Nash, M.}, + year = 1993, + title = {Malay}, + editor = {P. Hockings}, + booktitle = {Encyclopedia of World Cultures}, + volume = 5, + pages = {174--176}, + address = {New York, NY}, + publisher = {G.~K. Hall}} + +@MASTERSTHESIS{Ovi95, + author = {S. Oviedo}, + title = {Adolescent Pregnancy: Voices Heard in the Everyday Lives of Pregnant Teenagers}, + type = {Unpublished master's thesis}, + school = {University of North Texas}, + address = {Denton, TX}, + year = 1995} + +@INCOLLECTION{Pia88, + author = {Piaget, J.}, + year = 1988, + title = {Extracts from {P}iaget's Theory}, + translator = {G. Gellerier and J. Langer}, + editor = {K. Richardson and S. Sheldon}, + booktitle = {Cognitive Development to Adolescence: A Reader}, + pages = {3--18}, + address = {Hillsdale, NJ}, + publisher = {Erlbaum}, + note = {Reprinted from \emph{Manual of child psychology}, pp. 703--732, by P.~H. Mussen, Ed., 1970, New York, NY: Wiley}} + +@BOOK{PI51, + author = {Piaget, J. and Inhelder, B.}, + year = 1951, + title = {La gen{\`e}se de l'id{\'e}e de hasard chez l'enfant [{T}he Origin of the Idea of Chance in the Child]}, + address = {Paris}, + publisher = {Presses Universitaires de France}} + +@PHDTHESIS{Rit74, + author = {R. E. Ritzmann}, + title = {The Snapping Mechanism of \emph{Alpheid} Shrimp}, + address = {Charlottesville, VA}, + school = {University of Virginia}, + year = 1974} + +@ARTICLE{Sch00, + author = {Schatz, B. R.}, + year = 2000, + month = nov # "~17", + title = {Learning by Text or Context? [{Review of the book \emph{The social life of information}, by J.~S. Brown \& P. Duguid}]}, + journal = {Science}, + volume = 290, + pages = 1304} + +@NEWSPAPER{Sch93, + author = {Schwartz, J.}, + year = 1993, + month = sep # "~30", + title = {Obesity Affects Economic, Social Status}, + journal = {The Washington Post}, + pages = {A1, A4}} + +@ARTICLE{VL07, + author = {Von Ledebur, S. C.}, + year = 2007, + title = {Optimizing Knowledge Transfer by New Employees in Companies}, + journal = {Knowledge Management Research \& Practice}, + howpublished = {Advance online publication. doi:10.1057/palgrave/kmrp.8500141}} + +@BOOK{FogEHPD04, + author = {Robert William Fogel}, + year = 2004, + title = {The Escape from Hunger and Premature Death, 1700--2100: {E}urope, {A}merica, and the {T}hird {W}orld}, + address = {New York}, + publisher = {Cambridge University Press}} + +@ARTICLE{FogJEE04, + author = {Fogel, Robert William}, + title = {Technophysio Evolution and the Measurement of Economic Growth}, + journal = {Journal of Evolutionary Economics}, + year = 2004, + volume = 14, + number = 2, + pages = {217--221}, + doi = {10.1007/s00191-004-0188-x}} + +@BOOK{Str00, + author = {Strunk, Jr., William and E. B. White}, + title = {The Elements of Style}, + edition = {4th}, + address = {New York}, + publisher = {Allyn and Bacon}, + year = 2000} + +@ARTICLE{LP02, + author = {Y. Lu and J. J. Pignatello}, + title = {}, + journal = {Environ. Sci. Technol.}, + year = {2002}, + volume = {36}, + pages = {4553--4561}} + +@ARTICLE{LP04, + author = {Y. Lu and J. J. Pignatello}, + title = {}, + journal = {Environ. Sci. Technol.}, + year = {2004}, + volume = {38}, + pages = {5853--5862}} diff --git a/inst/rmarkdown/templates/tf/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/tf/skeleton/skeleton.Rmd index 8233d82b7..5af5775f6 100644 --- a/inst/rmarkdown/templates/tf/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/tf/skeleton/skeleton.Rmd @@ -1,7 +1,7 @@ --- title: | Taylor & Francis Rmarkdown template for authors (\LaTeX\-based - \textsf{Interact} layout + Chicago author-date reference style) + \textsf{Interact} layout) type: ARTICLE TEMPLATE author: - name: A. N. Author @@ -29,12 +29,12 @@ thanks: author: - name: A. N. Author email: latex.helpdesk@tandf.co.uk -bibliography: interactcadsample.bib +bibliography: interactsample.bib appendix: appendix.tex abstract: | This template is for authors who are preparing a manuscript for a Taylor & Francis journal using the \LaTeX\ document preparation system and the - `interact} class file, which is available via selected journals' home + `interact` class file, which is available via selected journals' home pages on the Taylor & Francis website. keywords: | Sections; lists; figures; tables; mathematics; fonts; references; appendices @@ -42,16 +42,18 @@ header-includes: | \usepackage{hyperref} \usepackage[utf8]{inputenc} \def\tightlist{} -output: rticles::tf_article +output: + rticles::tf_article: + reference_style: CAD --- # Introduction -In order to assist authors in the process of preparing a manuscript for a journal, the Taylor & Francis '\textsf{Interact}' layout style has been implemented as a \LaTeXe\ class file based on the `article` document class. A \textsc{Bib}\TeX\ bibliography style file and a sample bibliography are also provided in order to assist with the formatting of your references. +In order to assist authors in the process of preparing a manuscript for a journal, the Taylor & Francis ‘\textsf{Interact}’ layout style has been implemented as a \LaTeXe\ class file based on the `article` document class. A \textsc{Bib}\TeX\ bibliography style file and a sample bibliography are also provided in order to assist with the formatting of your references. Commands that differ from or are provided in addition to standard \LaTeXe\ are described in this document, which is _not_ a substitute for a \LaTeXe\ tutorial. -The `interactcadsample.tex` file can be used as a template for a manuscript by cutting, pasting, inserting and deleting text as appropriate, using the preamble and the \LaTeX\ environments provided (e.g.\ `\begin{abstract}`, `\begin{keywords}`). +The present file can be used as a template for a manuscript by cutting, pasting, inserting and deleting text as appropriate, using the preamble and the \LaTeX\ environments provided (e.g.\ `\begin{abstract}`, `\begin{keywords}`). ## The \textsf{Interact} class file @@ -85,6 +87,18 @@ To prepare a manuscript for a journal that is printed in A4 (two column) format, ## Title, authors' names and affiliations, abstracts and article types +The title is generated automatically from the information in the YAML header. The `type` field is also provided as an _optional_ element which should _only_ be included if your article actually needs it. + +An additional abstract in another language (preceded by a translation of the article title) may be included within the `abstract` environment if required. + +A graphical abstract may also be included if required. Within the `abstract` environment you can include the code +``` +\\\resizebox{25pc}{!}{\includegraphics{abstract.eps}} + +``` +where the graphical abstract is to appear, where `abstract.eps` is the name of the file containing the graphic (note that `25pc` is the recommended maximum width, expressed in pica, for the graphical abstract in your manuscript). + + ## Abbreviations A list of abbreviations may be included if required, enclosed within an `abbreviations` environment, i.e.\ `\begin{abbreviations}`\ldots`\end{abbreviations}`, immediately following the `abstract` environment. @@ -158,9 +172,9 @@ Bulleted lists are produced using the `itemize` environment. For example, plot(pressure) ``` -The `interact` class file will deal with positioning your figures in the same way as standard \LaTeX. It should not normally be necessary to use the optional `[htb]` location specifiers of the `figure` environment in your manuscript; you may, however, find the `[p]` placement option or the `endfloat` package useful if a journal insists on the need to separate figures from the text. +The `interact` class file will deal with positioning your figures in the same way as standard \LaTeX. It should not normally be necessary to use the optional `[htb]` location specifiers of the `figure` environment in your manuscript; you may, however, find the `[p]` placement option -- i.e. `\begin{figure}[p]` -- or the `endfloat` package useful if a journal insists on the need to separate figures from the text. -Figure captions appear below the figures themselves, therefore the `\caption` command should appear after the body of the figure. For example, Figure~\ref{sample-figure} with caption and sub-captions is produced using the following commands: +Figure captions appear below the figures themselves, therefore the `\caption` command should appear after the body of the figure. For example, Figure \ref{sample-figure} with caption and sub-captions is produced using the following commands: ``` \begin{figure} \centering @@ -197,7 +211,7 @@ The `epstopdf` package can be used to incorporate encapsulated PostScript (.eps) The `interact` class file will deal with positioning your tables in the same way as standard \LaTeX. It should not normally be necessary to use the optional `[htb]` location specifiers of the `table` environment in your manuscript; you may, however, find the `[p]` placement option or the `endfloat` package useful if a journal insists on the need to separate tables from the text. -The `tabular` environment can be used as shown to create tables with single horizontal rules at the head, foot and elsewhere as appropriate. The captions appear above the tables in the \textsf{Interact} style, therefore the `\tbl` command should be used before the body of the table. For example, Table~\ref{sample-table} is produced using the following commands: +The `tabular` environment can be used as shown to create tables with single horizontal rules at the head, foot and elsewhere as appropriate. The captions appear above the tables in the \textsf{Interact} style, therefore the `\tbl` command should be used before the body of the table. For example, Table \ref{sample-table} is produced using the following commands: \begin{table} \tbl{Example of a table showing that its caption is as wide as the table itself and justified.} @@ -371,17 +385,76 @@ An unnumbered `Notes` section may be included before the References (if using th # References +Different journals from Taylor & Francis have different requirements for formatting the list of references. The reference style will be one those: + +- American Psychological Association reference style (APA) +- Chicago Author-Date reference style (CAD) +- National Library of Medicine reference style (NLM) +- Reference Style-P (TFP) +- Reference Style-Q (TFQ) +- Reference Style-S (TFS) + +Authors must specify the required reference style in the YAML header of this file. For instance, this must be included when using the Chicago Author-Date reference style: +``` +output: + rticles::tf_article: + reference_style: CAD +``` + ## References cited in the text +[CAVEAT: The only subsection below that will be correctly typeset is the one corresponding to the value specified in the `reference_style` field of the YAML header.] + +### American Psychological Association reference style (APA) + +References should be cited in accordance with \citeauthor{APA10} (APA) style, i.e. in alphabetical order separated by semicolons, e.g. ‘\citep{Ban77,Pia88,VL07}’ or ‘\ldots see Smith (1985, p. 75)’. If there are two or more authors with the same surname, use the first author's initials with the surnames, e.g. ‘\citep{Lig08,Lig06}’. If there are three to five authors, list all the authors in the first citation, e.g. ‘\citep{GSSM91}’. In subsequent citations, use only the first author's surname followed by et al., e.g. ‘\citep{GSSM91}’. For six or more authors, cite the first author's name followed by et al. For two or more sources by the same author(s) in the same year, use lower-case letters (a, b, c, \ldots) with the year to order the entries in the reference list and use these lower-case letters with the year in the in-text citations, e.g. ‘\citep{FogEHPD04,FogJEE04}’. For further details on this reference style, see the Instructions for Authors on the Taylor & Francis website. + +Each bibliographic entry has a key, which is assigned by the author and is used to refer to that entry in the text. In this document, the key `Nas93` in the citation form `\citep{Nas93}` produces ‘\citep{Nas93}’, and the keys `Koc59`, `Han04` and `Cla08` in the citation form `\citep{Koc59,Han04,Cla08}` produce ‘\citep{Koc59,Han04,Cla08}’. The citation `\citep{Cha08}` produces ‘\citep{Cha08}’ where the citation first appears in the text, and ‘\citep{Cha08}’ in any subsequent citation. The appropriate citation style for different situations can be obtained, for example, by `\citet{Ovi95}` for ‘\citet{Ovi95}’, `\citealp{MPW08}` for ‘\citealp{MPW08}’, and `\citealt{Sch93}` for ‘\citealt{Sch93}’. Citation of the year alone may be produced by `\citeyear{Sch00}`, i.e. ‘\citeyear{Sch00}’, or `\citeyearpar{Gra05}`, i.e. ‘\citeyearpar{Gra05}’, or of the author(s) alone by `\citeauthor{Rit74}`, i.e. ‘\citeauthor{Rit74}’. Optional notes may be included at the beginning and/or end of a citation by the use of square brackets, e.g. `\citep[p.~31]{Hay08}` produces ‘\citep[p. 31]{Hay08}’; `\citep[see][pp.~73-77]{PI51}` produces ‘\citep[see][pp. 73--77]{PI51}’; `\citep[e.g.][]{Fel81}` produces ‘\citep[e.g.][]{Fel81}’. A ‘plain’ `\cite` command will produce the same results as a `\citet`, i.e. `\cite{BriIP}` will produce ‘\cite{BriIP}’. + +### Chicago Author-Date reference style (CAD) + +References should be cited in Chicago author-date style, e.g. ‘\citep{Ban77,Pia88,VL07}’ or ‘\ldots see Smith (1985, 75)’. If there are three authors, list them all in every citation, e.g. ‘\citep{GSSM91}’. For more than three authors, cite the first author's name followed by et al. For two or more sources by the same author(s) in the same year, use lower-case letters (a, b, c, ...) with the year to order the entries in the References list and use these letters with the year in the in-text citations, e.g. ‘\citep{FogEHPD04,FogJEE04}’. If two or more authors have the same surname, use their initials with the surnames, e.g. ‘\citep{Lig08,Lig06}’. If the first author's names and the years of publication are identical for several references, include enough co-author names to eliminate ambiguity, e.g. `(Schonen, Baker, et al. 2009; Schonen, Brooks, et al. 2009)'. For further details on this reference style, see the Instructions for Authors on the Taylor \& Francis website. + +Each bibliographic entry has a key, which is assigned by the author and is used to refer to that entry in the text. In this document, the key `Nas93` in the citation form `\citep{Nas93}` produces ‘\citep{Nas93}’, and the keys `{Koc59,Han04,Cla08}` in the citation form `\citep{Koc59,Han04,Cla08}` produce ‘\citep{Koc59,Han04,Cla08}’. The appropriate citation style for different situations can be obtained, for example, by `\citet{Ovi95}` for ‘\citet{Ovi95}’, `\citealt{Sch93}` for ‘\citealt{Sch93}’, or `\citealp{MPW08}` for ‘\citealp{MPW08}’. Citation of the year alone may be produced by `\citeyear{Sch00}`, i.e. ‘\citeyear{Sch00}’, or `\citeyearpar{Gra05}`, i.e. ‘\citeyearpar{Gra05}’, or of the author(s) alone by `\citeauthor{Rit74}`, i.e. ‘\citeauthor{Rit74}’. Optional notes may be included at the beginning and/or end of a citation by the use of square brackets, e.g. `\citep[see][275]{PI51}` produces ‘\citep[see][275]{PI51}’; `\citep[e.g.][]{Fel81}` produces ‘\citep[e.g.][]{Fel81}’; `\citet[chap.~2]{Str00}` produces ‘\citet[chap. 2]{Str00}’. A ‘plain’ `\cite` command will produce the same result as a `\citet`, i.e. `\cite{BriIP}` will produce ‘\cite{BriIP}’. + +### National Library of Medicine reference style (NLM) + +References should be cited in accordance with US National Library of Medicine (NLM) style. References are cited in the text by a number in square brackets (e.g. [1], [2,4,10], [11--15], _not_ [11]--[15]), in the order in which they first appear. For further details on this reference style, see the Instructions for Authors on the Taylor \& Francis website. + +Each bibliographic entry has a key, which is assigned by the author and is used to refer to that entry in the text. In this document, the key `Ban77` in the citation form `\cite{Ban77}` produces ‘\cite{Ban77}’, and the keys `{Pia88,VL07}` in the citation form `\cite{Pia88,VL07}` produce ‘\cite{Pia88,VL07}’. The citation for a range of bibliographic entries (e.g.\ ‘\cite{Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,PI51}’) will automatically be produced by `\cite{Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,PI51}`. Optional notes may be included at the beginning and/or end of a citation by the use of square brackets, e.g.\ `\cite[cf.][]{Fel81}` produces ‘\cite[cf.][]{Fel81}’, `\cite[p.356]{Str00}` produces ‘\cite[p.356]{Str00}’, and `\cite[see][p.73--77]{BriIP}` produces ‘\cite[see][p.73--77]{BriIP}’. + +### Reference Style-P (TFP) + +References cited in the text should be quoted by italic numbers in parentheses (e.g.\ (_1_), (_2_, _4_, _10_), (_11_--_15_), _not_ (_11_)--(_15_)), in the order in which they first appear. For further details on this reference style, see the Instructions for Authors on the Taylor \& Francis website. + +Each bibliographic entry has a key, which is assigned by the author and used to refer to that entry in the text. In this document, the key `Ban77` in the citation form `\cite{Ban77}` produces ‘\cite{Ban77}’, and the keys `Pia88` and `VL07` in the citation form `\cite{Pia88,VL07}` produce ‘\cite{Pia88,VL07}’. The citation for a range of bibliographic entries such as ‘\cite{Nas93,Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,Hay08,PI51,Fel81,BriIP}’ will automatically be produced by `\cite{Nas93,Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,Hay08,PI51,Fel81,BriIP}`. By using the `merge` option to `natbib`, citation keys within a multiple `\cite` command may contain a leading `*` that causes them to be merged in the bibliography together with the previous citation as a single entry with a single reference number. For example, `\cite{LP02,*LP04}` produces ‘\cite{LP02,*LP04}’, and both references are listed in the bibliography under one entry with that number. + + +### Reference Style-Q (TFQ) + +References should be cited in the text by a number in square brackets (e.g. [1], [2,4,10], [11--15], not [11]--[15]) in the order in which they first appear. For further details on this reference style, see the Instructions for Authors on the Taylor & Francis website. + +Each bibliographical entry has a key, which is assigned by the author and is used to refer to that entry in the text. In this document, the key `Ban77` in the citation form `\cite{Ban77}` produces ‘\cite{Ban77}’, and the keys `Pia88` and `VL07` in the citation form `\cite{Pia88,VL07}` produce ‘\cite{Pia88,VL07}’. The citation for a range of bibliographic entries (e.g. ‘\cite{Nas93,Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,Hay08,PI51,Fel81,BriIP}’) will automatically be produced by `\cite{Nas93,Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,Hay08,PI51,Fel81,BriIP}`. Optional notes may be included at the end of a citation by the use of square brackets, e.g. `\cite[cf.][]{Lig08}` produces ‘\cite[cf.][]{Lig08}’, and `\cite[see][and references therein]{GSSM91}` produces ‘\cite[see][and references therein]{GSSM91}’. + +### Reference Style-S (TFS) + +References should be cited in the text by numbers in square brackets based on the order in which they appear in an alphabetical list of references at the end of the document (not the order of citation), so the first reference cited in the text might be [23]. For example, these may take the forms [32], [5,,6,,14], [21--55] (\emph{not} [21]--[55]). For further details on this reference style, see the Instructions for Authors on the Taylor \& Francis website. + +Each bibliographic entry has a key, which is assigned by the author and is used to refer to that entry in the text. In this document, the key `Ban77` in the citation form `\cite{Ban77}` produces ‘\cite{Ban77}’, and the keys `Pia88` and `VL07` in the citation form `\cite{Pia88,VL07}` produce ‘\cite{Pia88,VL07}’. The citation for a range of bibliographic entries (e.g. ‘\cite{Nas93,Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,Hay08,PI51,Fel81,BriIP}’) will automatically be produced by `\cite{Nas93,Koc59,Han04,Cla08,Cha08,Ovi95,Sch93,MPW08,Sch00,Gra05,Rit74,Hay08,PI51,Fel81,BriIP}`. +Optional notes may be included at the beginning and/or end of a citation by the use of square brackets, e.g. `\cite[cf.][]{Lig08}` produces ‘\cite[cf.][]{Lig08}’, and `\cite[see][and references therein]{GSSM91}` produces ‘\cite[see][and references therein]{GSSM91}’. + + ## The list of references -References should be listed at the end of the main text in alphabetical order by authors' surnames, then chronologically (earliest first). If references have the same author(s), editor(s), etc., arrange by year of publication, with undated works at the end. -A single-author entry precedes a multi-author entry that begins with the same name. -If the reference list contains two or more items by the same author(s) in the same year, add a, b, etc. and list them alphabetically by title. -Successive entries by two or more authors when only the first author is the same are alphabetized by co-authors' surnames. -If a reference has more than ten named authors, list only the first seven, followed by 'et al.'. -If a reference has no author or editor, order by title; if a date of publication is impossible to find, use `n.d.' in its place. +Authors should create the list of references using a \textsc{Bib}\TeX\ database. \LaTeX/\textsc{Bib}\TeX\ will extract from your .bib file only those references that are cited in your text and list them in the References section. According to the chosen reference style, one of the following .bst files will be automatically used: + +- APA: `apacite.bst` +- CAD: `tfcad.bst` +- NLM: `tfnlm.bst` +- TFP: `tfp.bst` +- TFQ: `tfq.bst` +- TFS: `tfs.bst` -The following list shows some sample references prepared in the Taylor & Francis Chicago author-date style. +Besides from `apacite.bst`, which is part of standard \LaTeX\ distributions, the files listed above should have been installed in the same directory of this skeleton file. You may delete the ones that are not needed. -[@Blair1977; @Alb05] +Please include a copy of your .bib file and/or the final generated .bbl file among your source files. diff --git a/inst/rmarkdown/templates/tf/skeleton/tfnlm.bst b/inst/rmarkdown/templates/tf/skeleton/tfnlm.bst new file mode 100644 index 000000000..04c5bd022 --- /dev/null +++ b/inst/rmarkdown/templates/tf/skeleton/tfnlm.bst @@ -0,0 +1,1778 @@ +%% +%% This is file `tfnlm.bst', +%% generated with the docstrip utility, +%% modified by DjL 2016/08/10 +%% ------------------------------------- +%% +%% *** BibTeX style for Taylor & Francis NLM reference style as described at +%% http://www.tandf.co.uk/journals/authors/style/reference/tf_NLM.pdf *** +%% + % =================================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files. + % + % This file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =================================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + % Copyright 1994-2011 Patrick W Daly + %-------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[p.2]{key} ==>> [#, p.2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. + %-------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + eid + howpublished + institution + journal + key + lastchecked + month + note + number + numpages + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { "; " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {no.blank.or.punct} +{ "\hspace{0pt}" * before.all 'output.state := +} + +FUNCTION {date.block} +{ + ";" * + no.blank.or.punct +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +STRINGS {z} + +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #2 substring$ + duplicate$ "\." = + { z #3 global.max$ substring$ 'z := * } + { pop$ + z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + if$ + } + while$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "editors" } + +FUNCTION {bbl.editor} +{ "editor" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "p." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +{ "Chapter" } + +FUNCTION {bbl.techrep} +{ "" }% + +FUNCTION {bbl.mthesis} +{ "[master's thesis]" } + +FUNCTION {bbl.phdthesis} +{ "[dissertation]" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astron. \& Astrophys."} +MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} +MACRO {aj} {"Astron. J."} +MACRO {aph} {"Acta Phys."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Amer. J. Phys."} +MACRO {ajm} {"Amer. J. Math."} +MACRO {amsci} {"Amer. Sci."} +MACRO {anofd} {"Ann. Fluid Dyn."} +MACRO {am} {"Ann. Math."} +MACRO {ap} {"Ann. Phys. (NY)"} +MACRO {adp} {"Ann. Phys. (Leipzig)"} +MACRO {ao} {"Appl. Opt."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {app} {"Astroparticle Phys."} +MACRO {apj} {"Astrophys. J."} +MACRO {apjsup} {"Astrophys. J. Suppl."} +MACRO {apss} {"Astrophys. Space Sci."} +MACRO {araa} {"Ann. Rev. Astron. Astrophys."} +MACRO {baas} {"Bull. Amer. Astron. Soc."} +MACRO {baps} {"Bull. Amer. Phys. Soc."} +MACRO {cmp} {"Comm. Math. Phys."} +MACRO {cpam} {"Commun. Pure Appl. Math."} +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} +MACRO {cpc} {"Comp. Phys. Comm."} +MACRO {cqg} {"Class. Quant. Grav."} +MACRO {cra} {"C. R. Acad. Sci. A"} +MACRO {fed} {"Fusion Eng. \& Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {grg} {"Gen. Relativ. Gravit."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {irp} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jasa} {"J. Acoust. Soc. America"} +MACRO {jcp} {"J. Comp. Phys."} +MACRO {jetp} {"Sov. Phys.--JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} +MACRO {jnm} {"J. Nucl. Mat."} +MACRO {jpc} {"J. Phys. Chem."} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Japan"} +MACRO {jsi} {"J. Sci. Instrum."} +MACRO {jvst} {"J. Vac. Sci. \& Tech."} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Inst. \& Meth."} +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys. B"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {inc} {"Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} +MACRO {pl} {"Phys. Lett."} +MACRO {pla} {"Phys. Lett. A"} +MACRO {plb} {"Phys. Lett. B"} +MACRO {prep} {"Phys. Rep."} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Phys. Plasmas"} +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {pr} {"Phys. Rev."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {ps} {"Phys. Scripta"} +MACRO {procrsl} {"Proc. Roy. Soc. London"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Inst."} +MACRO {science} {"Science"} +MACRO {sciam} {"Sci. Am."} +MACRO {sam} {"Stud. Appl. Math."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.--Doklady"} +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} +MACRO {spu} {"Sov. Phys.--Uspeki"} +MACRO {st} {"Sky and Telesc."} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} + % End module: geojour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Appl. Opt."} +MACRO {bell} {"Bell Syst. Tech. J."} +MACRO {ell} {"Electron. Lett."} +MACRO {jasp} {"J. Appl. Spectr."} +MACRO {jqe} {"IEEE J. Quantum Electron."} +MACRO {jlwt} {"J. Lightwave Technol."} +MACRO {jmo} {"J. Mod. Opt."} +MACRO {josa} {"J. Opt. Soc. America"} +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} +MACRO {josab} {"J. Opt. Soc. Amer.~B"} +MACRO {jdp} {"J. Phys. (Paris)"} +MACRO {oc} {"Opt. Commun."} +MACRO {ol} {"Opt. Lett."} +MACRO {phtl} {"IEEE Photon. Technol. Lett."} +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} +MACRO {sse} {"Solid-State Electron."} +MACRO {sjot} {"Sov. J. Opt. Technol."} +MACRO {sjqe} {"Sov. J. Quantum Electron."} +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} +MACRO {stph} {"Sov. Phys.--Techn. Phys."} +MACRO {stphl} {"Sov. Techn. Phys. Lett."} +MACRO {vr} {"Vision Res."} +MACRO {zph} {"Z. f. Physik"} +MACRO {zphb} {"Z. f. Physik~B"} +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} +MACRO {ASSL} {"Adv. Sol.-State Lasers"} +MACRO {OSA} {"OSA"} + % End module: photjour.mbs +%% Copyright 1994-2011 Patrick W Daly +MACRO {acmcs} {"ACM Comput. Surv."} +MACRO {acta} {"Acta Inf."} +MACRO {cacm} {"Commun. ACM"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} +MACRO {ibmsj} {"IBM Syst.~J."} +MACRO {ieeese} {"IEEE Trans. Software Eng."} +MACRO {ieeetc} {"IEEE Trans. Comput."} +MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} +MACRO {ipl} {"Inf. Process. Lett."} +MACRO {jacm} {"J.~ACM"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} +MACRO {scp} {"Sci. Comput. Program."} +MACRO {sicomp} {"SIAM J. Comput."} +MACRO {tocs} {"ACM Trans. Comput. Syst."} +MACRO {tods} {"ACM Trans. Database Syst."} +MACRO {tog} {"ACM Trans. Graphic."} +MACRO {toms} {"ACM Trans. Math. Software"} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {format.url} +{ + url + duplicate$ empty$ + { pop$ "" } + { "\urlprefix\url{" swap$ * "}" * } + if$ +} + +FUNCTION {format.lastchecked} +{ lastchecked duplicate$ empty$ 'skip$ + { + no.blank.or.punct + "~[cited~" swap$ * "]" * + } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{~f{}}{~jj}"% + format.name$ + remove.dots + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #3 % truncate lists of more than 3 authors to 3 et al. + #1 + = + numnames #3 % allow a maximum of 3 names in the list of authors + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +FUNCTION {format.names.ed} +{ + format.names +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + '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 := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + month "month" bibinfo.check duplicate$ empty$% These lines include the month if present + 'skip$% + {% + swap$% + " " * swap$% + }% + if$% + *% + remove.dots% + before.all 'output.state := + ". " swap$ * +} + +FUNCTION {format.plaindate} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + before.all 'output.state := + "; " swap$ * +} + +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ +} + +FUNCTION {format.ptitle}% For titles of conference proceedings +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + {"(" swap$ * "; " * swap$ * ")" *}% + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.pvolume}% For conference proceedings +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + {"(" swap$ * "; " * swap$ * ")" *}% + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { "" } + { "" } + if$ + number "number" bibinfo.check * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + {"(" swap$ * "; " * swap$ * ")" *}% + if$ + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ":" * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} + +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ":" * + } + if$ + swap$ * + numpages empty$ 'skip$ + { bbl.eidpp numpages tie.or.space.prefix + "numpages" bibinfo.check * * + " (" swap$ * ")" * * + } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$% These lines include the contents of the number field if present + {% + swap$ duplicate$ empty$% + { "there's a number but no volume in " cite$ * warning$ }% + 'skip$% + if$% + swap$% + "(" swap$ * ")" *% + }% + if$ *% +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ +} + +FUNCTION {format.proctitle}% For titles of conference proceedings +{ + booktitle "booktitle" bibinfo.check + duplicate$ empty$ 'skip$ +% { "t" change.case$ }% Proceedings titles remain in Title Case + { + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + "," * + " " * + get.bbl.editor + ". " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} + +FUNCTION {format.in.ed.proctitle}% For use in proceedings titles +{ format.proctitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + "," * + " " * + get.bbl.editor + ". " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} + +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} + +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check capitalize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} + +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {format.institution.address}% For use in FUNCTION {techreport} +{ institution "institution" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.school.address}% For use in FUNCTION {mastersthesis} and FUNCTION {phdthesis} +{ school "school" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.conference.address}% For use in FUNCTION {inproceedings} and FUNCTION {proceedings} +{ address "address" bibinfo.check +} + +FUNCTION {format.month}% For use in FUNCTIONS {inproceedings} and {proceedings} +{ month empty$ + { "" } + { month "month" bibinfo.check + "" swap$ * "" *} + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + remove.dots + "journal" bibinfo.check + "journal" output.check + format.date "year" output.check + date.block + format.vol.num.pages output + } + { + format.article.crossref output.nonnull + } + if$ + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.sentence + format.btitle "title" output.check + crossref missing$ + new.sentence + { format.edition output + new.sentence% + format.bvolume output + new.sentence + format.publisher.address output.nonnull + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + new.sentence + format.number.series output% + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.sentence + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.plaindate output% + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.sentence + format.btitle "title" output.check + new.sentence + crossref missing$ + { + format.edition output + new.sentence% + format.bvolume output + new.sentence + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + new.sentence + format.chapter.pages "chapter and pages" output.check + format.pages "pages" output.check + new.sentence + format.number.series output% + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + format.edition output + format.bvolume output + format.chapter.pages output + new.sentence% + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.plaindate "year" output.check + new.sentence + format.number.series output% + format.pages "pages" output.check + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.proctitle "booktitle" output.check + format.pvolume output% + format.month output% + organization output% + format.conference.address output% + new.sentence% + publisher output% + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + new.sentence + format.pages "pages" output.check + format.number.series output% + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + new.sentence + format.btitle "title" output.check + new.sentence + format.edition output% + new.sentence% + author empty$ + { organization empty$ + { + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + format.organization.address output% + } + if$ + format.plaindate output + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title + "title" output.check + add.blank% + bbl.mthesis format.thesis.type output.nonnull + new.sentence + format.school.address output% + format.plaindate "year" output.check + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + new.sentence + format.title output + add.blank% + howpublished missing$ 'skip$% + {"[" howpublished capitalize * "]" * output}% + if$% + format.plaindate output% + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title + "title" output.check + add.blank% + bbl.phdthesis format.thesis.type output.nonnull + new.sentence + format.school.address output% + format.plaindate "year" output.check + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {presentation} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.ptitle "title" output.check + format.month output + format.organization.address "organization and address" output.check + new.sentence% + format.note output + new.sentence + type missing$ 'skip$ + {"(" type capitalize * ")" * output} + if$ + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + new.sentence + format.ptitle "title" output.check + format.pvolume output + format.month output% + organization output% + format.conference.address output% + new.sentence% + publisher output% + new.sentence + format.plaindate "year" output.check + new.sentence + format.number.series output + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title + "title" output.check + new.sentence + format.institution.address output% + format.plaindate "year" output.check + new.sentence + format.tr.number output.nonnull + new.sentence + format.note output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + format.plaindate output + new.sentence + format.lastchecked output + numpages output + new.sentence + format.note output% + format.url output + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{\normalfont{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{Available from: }" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +%% End of customized bst file +%% +%% End of file `tfnlm.bst'. diff --git a/inst/rmarkdown/templates/tf/skeleton/tfp.bst b/inst/rmarkdown/templates/tf/skeleton/tfp.bst new file mode 100644 index 000000000..4573835f7 --- /dev/null +++ b/inst/rmarkdown/templates/tf/skeleton/tfp.bst @@ -0,0 +1,1763 @@ +%% +%% This is file `tfp.bst', +%% generated with the docstrip utility, +%% modified by DjL 2016/06/17 +%% ------------------------------------- +%% +%% *** BibTeX style for Taylor & Francis Reference Style P as described at +%% http://www.tandf.co.uk/journals/authors/style/reference/tf_P.pdf *** +%% + % =================================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files. + % + % This file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =================================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + % Copyright 1994-2011 Patrick W Daly + %-------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. + %-------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + eid + howpublished + institution + journal + key + lastchecked + month + note + number + numpages + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { "; " * write$ } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +STRINGS {z} + +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #2 substring$ + duplicate$ "\." = + { z #3 global.max$ substring$ 'z := * } + { pop$ + z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + if$ + } + while$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {embolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "Eds." } + +FUNCTION {bbl.editor} +{ "Ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "No." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "In" } + +FUNCTION {bbl.pages} +{ "pp" } + +FUNCTION {bbl.page} +{ "p" } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +{ "Chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. Thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan"} +MACRO {feb} {"Feb"} +MACRO {mar} {"March"} +MACRO {apr} {"April"} +MACRO {may} {"May"} +MACRO {jun} {"June"} +MACRO {jul} {"July"} +MACRO {aug} {"Aug"} +MACRO {sep} {"Sept"} +MACRO {oct} {"Oct"} +MACRO {nov} {"Nov"} +MACRO {dec} {"Dec"} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astron. \& Astrophys."} +MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} +MACRO {aj} {"Astron. J."} +MACRO {aph} {"Acta Phys."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Amer. J. Phys."} +MACRO {ajm} {"Amer. J. Math."} +MACRO {amsci} {"Amer. Sci."} +MACRO {anofd} {"Ann. Fluid Dyn."} +MACRO {am} {"Ann. Math."} +MACRO {ap} {"Ann. Phys. (NY)"} +MACRO {adp} {"Ann. Phys. (Leipzig)"} +MACRO {ao} {"Appl. Opt."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {app} {"Astroparticle Phys."} +MACRO {apj} {"Astrophys. J."} +MACRO {apjsup} {"Astrophys. J. Suppl."} +MACRO {apss} {"Astrophys. Space Sci."} +MACRO {araa} {"Ann. Rev. Astron. Astrophys."} +MACRO {baas} {"Bull. Amer. Astron. Soc."} +MACRO {baps} {"Bull. Amer. Phys. Soc."} +MACRO {cmp} {"Comm. Math. Phys."} +MACRO {cpam} {"Commun. Pure Appl. Math."} +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} +MACRO {cpc} {"Comp. Phys. Comm."} +MACRO {cqg} {"Class. Quant. Grav."} +MACRO {cra} {"C. R. Acad. Sci. A"} +MACRO {fed} {"Fusion Eng. \& Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {grg} {"Gen. Relativ. Gravit."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {irp} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jasa} {"J. Acoust. Soc. America"} +MACRO {jcp} {"J. Comp. Phys."} +MACRO {jetp} {"Sov. Phys.--JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} +MACRO {jnm} {"J. Nucl. Mat."} +MACRO {jpc} {"J. Phys. Chem."} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Japan"} +MACRO {jsi} {"J. Sci. Instrum."} +MACRO {jvst} {"J. Vac. Sci. \& Tech."} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Inst. \& Meth."} +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys. B"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {inc} {"Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} +MACRO {pl} {"Phys. Lett."} +MACRO {pla} {"Phys. Lett. A"} +MACRO {plb} {"Phys. Lett. B"} +MACRO {prep} {"Phys. Rep."} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Phys. Plasmas"} +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {pr} {"Phys. Rev."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {ps} {"Phys. Scripta"} +MACRO {procrsl} {"Proc. Roy. Soc. London"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Inst."} +MACRO {science} {"Science"} +MACRO {sciam} {"Sci. Am."} +MACRO {sam} {"Stud. Appl. Math."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.--Doklady"} +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} +MACRO {spu} {"Sov. Phys.--Uspeki"} +MACRO {st} {"Sky and Telesc."} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} + % End module: geojour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Appl. Opt."} +MACRO {bell} {"Bell Syst. Tech. J."} +MACRO {ell} {"Electron. Lett."} +MACRO {jasp} {"J. Appl. Spectr."} +MACRO {jqe} {"IEEE J. Quantum Electron."} +MACRO {jlwt} {"J. Lightwave Technol."} +MACRO {jmo} {"J. Mod. Opt."} +MACRO {josa} {"J. Opt. Soc. America"} +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} +MACRO {josab} {"J. Opt. Soc. Amer.~B"} +MACRO {jdp} {"J. Phys. (Paris)"} +MACRO {oc} {"Opt. Commun."} +MACRO {ol} {"Opt. Lett."} +MACRO {phtl} {"IEEE Photon. Technol. Lett."} +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} +MACRO {sse} {"Solid-State Electron."} +MACRO {sjot} {"Sov. J. Opt. Technol."} +MACRO {sjqe} {"Sov. J. Quantum Electron."} +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} +MACRO {stph} {"Sov. Phys.--Techn. Phys."} +MACRO {stphl} {"Sov. Techn. Phys. Lett."} +MACRO {vr} {"Vision Res."} +MACRO {zph} {"Z. f. Physik"} +MACRO {zphb} {"Z. f. Physik~B"} +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} +MACRO {ASSL} {"Adv. Sol.-State Lasers"} +MACRO {OSA} {"OSA"} + % End module: photjour.mbs +%% Copyright 1994-2011 Patrick W Daly +MACRO {acmcs} {"ACM Comput. Surv."} +MACRO {acta} {"Acta Inf."} +MACRO {cacm} {"Commun. ACM"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} +MACRO {ibmsj} {"IBM Syst.~J."} +MACRO {ieeese} {"IEEE Trans. Software Eng."} +MACRO {ieeetc} {"IEEE Trans. Comput."} +MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} +MACRO {ipl} {"Inf. Process. Lett."} +MACRO {jacm} {"J.~ACM"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} +MACRO {scp} {"Sci. Comput. Program."} +MACRO {sicomp} {"SIAM J. Comput."} +MACRO {tocs} {"ACM Trans. Comput. Syst."} +MACRO {tods} {"ACM Trans. Database Syst."} +MACRO {tog} {"ACM Trans. Graphic."} +MACRO {toms} {"ACM Trans. Math. Software"} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {format.url} +{ url + duplicate$ empty$ + { pop$ "" } + { "\urlprefix\url{" swap$ * "}" * } + if$ +} + +FUNCTION {format.lastchecked} +{ lastchecked empty$ + { "" } + { + add.blank "(accessed " lastchecked * ")" * + } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, f{.}.}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #0 + #10 + + #1 + = + numnames #0 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { "; " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + ";" * + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +FUNCTION {format.names.ed} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, f{.}.}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #0 + #10 + + #1 + = + numnames #0 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names.ed duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + '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 := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + embolden + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " " swap$ * + } + if$ +} + +FUNCTION {format.plaindate} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + ", " swap$ * + } + if$ +} + +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "" } + { "" } + if$ + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { series "series" bibinfo.check * + number tie.or.space.prefix "number" bibinfo.check * * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} + +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + numpages empty$ 'skip$ + { bbl.eidpp numpages tie.or.space.prefix + "numpages" bibinfo.check * * + " (" swap$ * ")" * * + } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + emphasize + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "~(" swap$ * ")" * + } + if$ * +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} + +FUNCTION {format.in.ed.booktitle} +{ + booktitle "booktitle" bibinfo.check + word.in swap$ emphasize * "" * +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "type" bibinfo.check + } + if$ +} + +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ + } + { tie.or.space.prefix * * } + if$ +} + +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ": " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {format.institution.address} +{ institution "institution" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "month" bibinfo.check + "" swap$ * "" *} + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check %%% Comment this line to omit article titles + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + add.blank + format.date "year" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.sentence + format.btitle "title" output.check + crossref missing$ + { format.edition output + new.block + format.number.series output + new.block + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + new.block + format.bvolume output + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.sentence + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.plaindate output + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.sentence + format.btitle "title" output.check + crossref missing$ + { + format.edition output + format.editors output + new.block + format.number.series output + new.block + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + new.block + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.pages "pages" output.check + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check %%% Comment this line to omit chapter titles + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + new.block + format.editors output + new.block + format.number.series output + new.block + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.plaindate "year" output.check + new.block + format.bvolume output + format.chapter.pages output + format.pages "pages" output.check + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check %%% Comment this line to omit chapter titles + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + organization output + address output + format.month output + new.block + format.editors output + new.block + format.number.series output + new.block + publisher output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + new.block + format.bvolume output + format.pages "pages" output.check + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + format.edition output + author empty$ + { organization empty$ + { + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.month output + format.plaindate output + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.month output + format.plaindate "year" output.check + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + new.sentence + format.title output + howpublished "howpublished" bibinfo.check output + format.month output + format.plaindate output + format.pages output + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.month output + format.plaindate "year" output.check + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {presentation} +{ output.bibitem + format.authors output + new.sentence + format.title output + format.organization.address "organization and address" output.check + format.month output + year output + new.sentence + format.note output + new.sentence + type missing$ 'skip$ + {"(" type capitalize * ")" * output} + if$ + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + new.sentence + format.btitle "title" output.check + organization output + address output + format.month output + new.block + publisher output + format.plaindate "year" output.check + new.block + format.bvolume output + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.btitle "title" output.check + new.block + format.tr.number output.nonnull + new.block + format.institution.address output + format.month output + format.plaindate "year" output.check + new.sentence + format.note output + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.sentence + format.title "title" output.check + new.sentence + format.plaindate output + new.sentence + format.note "note" output.check + format.url output + format.lastchecked output + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{\normalfont{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{}" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +%% End of customized bst file +%% +%% End of file `tfp.bst'. diff --git a/inst/rmarkdown/templates/tf/skeleton/tfq.bst b/inst/rmarkdown/templates/tf/skeleton/tfq.bst new file mode 100644 index 000000000..ebad6b505 --- /dev/null +++ b/inst/rmarkdown/templates/tf/skeleton/tfq.bst @@ -0,0 +1,1963 @@ +%% +%% This is file `tfq.bst', +%% generated with the docstrip utility, +%% modified by DjL 2016/06/15 +%% ------------------------------------------------------------------- +%% +%% *** BibTeX style for Taylor & Francis reference style Q as described at +%% http://www.tandf.co.uk/journals/authors/style/reference/tf_Q.pdf *** +%% + % =================================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files. + % + % This file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =================================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + % Copyright 1994-2011 Patrick W Daly + %-------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is that by which the works were originally + % cited in the text, or that in the database. + %-------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + chaptertitle + edition + editor + eid + englishtitle + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + translator + trntitle + type + url + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +STRINGS {z} + +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edin} +{ "{\itshape {In}}: " } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.translator} +{ " (Transl.)" } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.chaptertitle} +{ "Chapter title." } + +FUNCTION {bbl.techrep} +{ "Tech. {R}ep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. diss." } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astron. \& Astrophys."} +MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} +MACRO {aj} {"Astron. J."} +MACRO {aph} {"Acta Phys."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Amer. J. Phys."} +MACRO {ajm} {"Amer. J. Math."} +MACRO {amsci} {"Amer. Sci."} +MACRO {anofd} {"Ann. Fluid Dyn."} +MACRO {am} {"Ann. Math."} +MACRO {ap} {"Ann. Phys. (NY)"} +MACRO {adp} {"Ann. Phys. (Leipzig)"} +MACRO {ao} {"Appl. Opt."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {app} {"Astroparticle Phys."} +MACRO {apj} {"Astrophys. J."} +MACRO {apjsup} {"Astrophys. J. Suppl."} +MACRO {apss} {"Astrophys. Space Sci."} +MACRO {araa} {"Ann. Rev. Astron. Astrophys."} +MACRO {baas} {"Bull. Amer. Astron. Soc."} +MACRO {baps} {"Bull. Amer. Phys. Soc."} +MACRO {cmp} {"Comm. Math. Phys."} +MACRO {cpam} {"Commun. Pure Appl. Math."} +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} +MACRO {cpc} {"Comp. Phys. Comm."} +MACRO {cqg} {"Class. Quant. Grav."} +MACRO {cra} {"C. R. Acad. Sci. A"} +MACRO {fed} {"Fusion Eng. \& Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {grg} {"Gen. Relativ. Gravit."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {irp} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jasa} {"J. Acoust. Soc. America"} +MACRO {jcp} {"J. Comp. Phys."} +MACRO {jetp} {"Sov. Phys.--JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} +MACRO {jnm} {"J. Nucl. Mat."} +MACRO {jpc} {"J. Phys. Chem."} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Japan"} +MACRO {jsi} {"J. Sci. Instrum."} +MACRO {jvst} {"J. Vac. Sci. \& Tech."} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Inst. \& Meth."} +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys. B"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {inc} {"Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} +MACRO {pl} {"Phys. Lett."} +MACRO {pla} {"Phys. Lett. A"} +MACRO {plb} {"Phys. Lett. B"} +MACRO {prep} {"Phys. Rep."} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Phys. Plasmas"} +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {pr} {"Phys. Rev."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {ps} {"Phys. Scripta"} +MACRO {procrsl} {"Proc. Roy. Soc. London"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Inst."} +MACRO {science} {"Science"} +MACRO {sciam} {"Sci. Am."} +MACRO {sam} {"Stud. Appl. Math."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.--Doklady"} +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} +MACRO {spu} {"Sov. Phys.--Uspeki"} +MACRO {st} {"Sky and Telesc."} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} + % End module: geojour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Appl. Opt."} +MACRO {bell} {"Bell Syst. Tech. J."} +MACRO {ell} {"Electron. Lett."} +MACRO {jasp} {"J. Appl. Spectr."} +MACRO {jqe} {"IEEE J. Quantum Electron."} +MACRO {jlwt} {"J. Lightwave Technol."} +MACRO {jmo} {"J. Mod. Opt."} +MACRO {josa} {"J. Opt. Soc. America"} +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} +MACRO {josab} {"J. Opt. Soc. Amer.~B"} +MACRO {jdp} {"J. Phys. (Paris)"} +MACRO {oc} {"Opt. Commun."} +MACRO {ol} {"Opt. Lett."} +MACRO {phtl} {"IEEE Photon. Technol. Lett."} +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} +MACRO {sse} {"Solid-State Electron."} +MACRO {sjot} {"Sov. J. Opt. Technol."} +MACRO {sjqe} {"Sov. J. Quantum Electron."} +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} +MACRO {stph} {"Sov. Phys.--Techn. Phys."} +MACRO {stphl} {"Sov. Techn. Phys. Lett."} +MACRO {vr} {"Vision Res."} +MACRO {zph} {"Z. f. Physik"} +MACRO {zphb} {"Z. f. Physik~B"} +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} +MACRO {ASSL} {"Adv. Sol.-State Lasers"} +MACRO {OSA} {"OSA"} + % End module: photjour.mbs +%% Copyright 1994-2011 Patrick W Daly +MACRO {acmcs} {"ACM Comput. Surv."} +MACRO {acta} {"Acta Inf."} +MACRO {cacm} {"Commun. ACM"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} +MACRO {ibmsj} {"IBM Syst.~J."} +MACRO {ieeese} {"IEEE Trans. Software Eng."} +MACRO {ieeetc} {"IEEE Trans. Comput."} +MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} +MACRO {ipl} {"Inf. Process. Lett."} +MACRO {jacm} {"J.~ACM"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} +MACRO {scp} {"Sci. Comput. Program."} +MACRO {sicomp} {"SIAM J. Comput."} +MACRO {tocs} {"ACM Trans. Comput. Syst."} +MACRO {tods} {"ACM Trans. Database Syst."} +MACRO {tog} {"ACM Trans. Graphic."} +MACRO {toms} {"ACM Trans. Math. Software"} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { bibinfo} + +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} + +FUNCTION {format.school} +{school "school" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + "" swap$ * "" * + } + if$ +} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.}{ vv~}{ ll}{ jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #1 + #1 + = + numnames #100 + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + t "others" = not and + { "," * } + 'skip$ + if$ + t "others" = + { + ", " * bbl.etal emphasize * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +FUNCTION {format.names.ed} +{ + format.names +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} + +FUNCTION {format.noeditors} +{ bbl.edin * "" * +} + +FUNCTION {format.plaineditors} +{ editor "editor" format.names empty$ 'skip$ + { + bbl.edin swap$ * + "" * + get.bbl.editor +%% capitalize + ", " swap$ * "" * * + } + if$ +} + +FUNCTION {format.note} +{ + url empty$ + 'skip$ + { "\urlprefix\url{" url * "}" * output } + if$ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} + +FUNCTION {format.inproctitle} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + "" swap$ * + ", " * + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + '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 := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} + +FUNCTION {format.unpubdate} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + ", " swap$ * + } + if$ +} + +FUNCTION{format.year} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + " (" swap$ * ")" * + } + if$ +} + +FUNCTION{format.inprocyear} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + "" swap$ * "" * + } + if$ +} + +FUNCTION {format.inprocdate} +{ year "year" + bibinfo.check + duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + before.all + ", " swap$ * + 'output.state := + ", " * +} + +FUNCTION {format.intechrdate} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + " " swap$ * "" * + } + if$ +} + +FUNCTION {format.sanspardate} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + " " swap$ * "" * + } + if$ +} + +FUNCTION {format.plaindate} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + month "month" bibinfo.check duplicate$ empty$ + 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + before.all 'output.state := + ", " swap$ * +} + +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + %{ emphasize ", " * swap$ * } + { " " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.number.plainseries} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} + +FUNCTION {format.translator} +{ +translator "translator" bibinfo.check + " [{\itshape English translation}], " swap$ * bbl.translator * +} + +FUNCTION {format.inprocedition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + add.blank + " " swap$ " " * bbl.edition * "" * + * + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + pages multi.page.check + 'bbl.pages + 'bbl.page + if$ + swap$ tie.or.space.prefix + "pages" bibinfo.check + * * + * + } + if$ + } + if$ +} + +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + format.year * +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.inprocchapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} + +FUNCTION {format.chaptertitle} +{ + chaptertitle "chaptertitle" bibinfo.check + emphasize +} + +FUNCTION {format.englishtitle} +{ + englishtitle "englishtitle" bibinfo.check + emphasize +} + +FUNCTION {format.trntitle} +{ + trntitle "title" bibinfo.check + emphasize +} + +FUNCTION {format.trnbookedition} +{ edition duplicate$ empty$ 'skip$ + { "edition" bibinfo.check + add.blank ", " swap$ * + "" * + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + get.bbl.editor + swap$ "," * + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.chapter} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.inchapter} +{ chapter + "chapter" bibinfo.check + duplicate$ empty$ 'skip$ + { + "" swap$ * + ". " * + } + if$ +} + +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} + +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} + +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {format.conference.address} +{ address "address" bibinfo.check +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "month" bibinfo.check + "" swap$ * "" *} + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ + format.note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + end.quote.title + } + { + format.book.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + date.block + format.note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.bvolume output + format.chapter.pages output + format.number.series output + format.publisher.address output + format.sanspardate "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.inproctitle "title" output.check + end.quote.title + crossref missing$ + { format.inprocedition output + format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.month output% + format.conference.address output% + new.sentence% + organization output% + publisher output% + format.chapter.pages output + format.number.plainseries output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.inprocyear "year" output.check + format.inprocchapter.pages output + format.note output + fin.entry +} + +FUNCTION {translatedbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + add.blank + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.plaindate "year" output.check + end.quote.title + format.chaptertitle "chaptertitle" output.check + add.blank + format.trntitle "title" output.check + add.blank + format.englishtitle "englishtitle" output.check + add.blank + format.trnbookedition output + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.note output + fin.entry +} + +FUNCTION {intranslatedbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + end.quote.title + format.translator "translator" output.check + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.sanspardate "year" output.check + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.title output + howpublished "howpublished" bibinfo.check output + format.date output + new.sentence + format.note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.sanspardate "year" output.check + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output } + { format.editors output.nonnull } + if$ + format.btitle "title" output.check + format.bvolume output + address empty$ + { editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.sanspardate "year" output.check + } + { format.month output + format.conference.address output + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.sanspardate "year" output.check + } + if$ +% format.date "year" output.check + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.intechrdate "year" output.check + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.unpubdate output + journal "journal" bibinfo.check + "journal" output.check + new.sentence + format.note output + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ +% "\newcommand{\noopsort}[1]{} " +% write$ newline$ + "\newcommand{\printfirst}[2]{#1} " + write$ newline$ +% "\newcommand{\singleletter}[1]{#1} " +% write$ newline$ + "\newcommand{\switchargs}[2]{#2#1} " + write$ newline$ + "\providecommand{\url}[1]{\normalfont{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{Available at }" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +%% End of customized bst file +%% +%% End of file `tfq.bst'. diff --git a/inst/rmarkdown/templates/tf/skeleton/tfs.bst b/inst/rmarkdown/templates/tf/skeleton/tfs.bst new file mode 100644 index 000000000..e4db42b99 --- /dev/null +++ b/inst/rmarkdown/templates/tf/skeleton/tfs.bst @@ -0,0 +1,2140 @@ +%% +%% This is file `tfs.bst', +%% generated with the docstrip utility, +%% modified by DjL 2016/06/28 +%% ------------------------------------------------------------------- +%% +%% *** BibTeX style for Taylor & Francis reference style S as described at +%% http://www.tandf.co.uk/journals/authors/style/reference/tf_S.pdf *** +%% + % =================================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files. + % + % This file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =================================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + % Copyright 1994-2011 Patrick W Daly + %-------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is alphabetical by authors. + %-------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + chaptertitle + edition + editor + eid + englishtitle + howpublished + institution + journal + key + month + mrnumber + note + number + organization + pages + publisher + school + series + title + translator + trntitle + type + url + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +STRINGS {z} + +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edin} +{ "{\itshape {In}}: " } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.translator} +{ " (Transl.)" } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.chaptertitle} +{ "Chapter title." } + +FUNCTION {bbl.techrep} +{ "Tech. {R}ep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. diss." } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astron. \& Astrophys."} +MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} +MACRO {aj} {"Astron. J."} +MACRO {aph} {"Acta Phys."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Amer. J. Phys."} +MACRO {ajm} {"Amer. J. Math."} +MACRO {amsci} {"Amer. Sci."} +MACRO {anofd} {"Ann. Fluid Dyn."} +MACRO {am} {"Ann. Math."} +MACRO {ap} {"Ann. Phys. (NY)"} +MACRO {adp} {"Ann. Phys. (Leipzig)"} +MACRO {ao} {"Appl. Opt."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {app} {"Astroparticle Phys."} +MACRO {apj} {"Astrophys. J."} +MACRO {apjsup} {"Astrophys. J. Suppl."} +MACRO {apss} {"Astrophys. Space Sci."} +MACRO {araa} {"Ann. Rev. Astron. Astrophys."} +MACRO {baas} {"Bull. Amer. Astron. Soc."} +MACRO {baps} {"Bull. Amer. Phys. Soc."} +MACRO {cmp} {"Comm. Math. Phys."} +MACRO {cpam} {"Commun. Pure Appl. Math."} +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} +MACRO {cpc} {"Comp. Phys. Comm."} +MACRO {cqg} {"Class. Quant. Grav."} +MACRO {cra} {"C. R. Acad. Sci. A"} +MACRO {fed} {"Fusion Eng. \& Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {grg} {"Gen. Relativ. Gravit."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {irp} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jasa} {"J. Acoust. Soc. America"} +MACRO {jcp} {"J. Comp. Phys."} +MACRO {jetp} {"Sov. Phys.--JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} +MACRO {jnm} {"J. Nucl. Mat."} +MACRO {jpc} {"J. Phys. Chem."} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Japan"} +MACRO {jsi} {"J. Sci. Instrum."} +MACRO {jvst} {"J. Vac. Sci. \& Tech."} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Inst. \& Meth."} +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys. B"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {inc} {"Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} +MACRO {pl} {"Phys. Lett."} +MACRO {pla} {"Phys. Lett. A"} +MACRO {plb} {"Phys. Lett. B"} +MACRO {prep} {"Phys. Rep."} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Phys. Plasmas"} +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {pr} {"Phys. Rev."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {ps} {"Phys. Scripta"} +MACRO {procrsl} {"Proc. Roy. Soc. London"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Inst."} +MACRO {science} {"Science"} +MACRO {sciam} {"Sci. Am."} +MACRO {sam} {"Stud. Appl. Math."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.--Doklady"} +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} +MACRO {spu} {"Sov. Phys.--Uspeki"} +MACRO {st} {"Sky and Telesc."} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} + % End module: geojour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Appl. Opt."} +MACRO {bell} {"Bell Syst. Tech. J."} +MACRO {ell} {"Electron. Lett."} +MACRO {jasp} {"J. Appl. Spectr."} +MACRO {jqe} {"IEEE J. Quantum Electron."} +MACRO {jlwt} {"J. Lightwave Technol."} +MACRO {jmo} {"J. Mod. Opt."} +MACRO {josa} {"J. Opt. Soc. America"} +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} +MACRO {josab} {"J. Opt. Soc. Amer.~B"} +MACRO {jdp} {"J. Phys. (Paris)"} +MACRO {oc} {"Opt. Commun."} +MACRO {ol} {"Opt. Lett."} +MACRO {phtl} {"IEEE Photon. Technol. Lett."} +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} +MACRO {sse} {"Solid-State Electron."} +MACRO {sjot} {"Sov. J. Opt. Technol."} +MACRO {sjqe} {"Sov. J. Quantum Electron."} +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} +MACRO {stph} {"Sov. Phys.--Techn. Phys."} +MACRO {stphl} {"Sov. Techn. Phys. Lett."} +MACRO {vr} {"Vision Res."} +MACRO {zph} {"Z. f. Physik"} +MACRO {zphb} {"Z. f. Physik~B"} +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} +MACRO {ASSL} {"Adv. Sol.-State Lasers"} +MACRO {OSA} {"OSA"} + % End module: photjour.mbs +%% Copyright 1994-2011 Patrick W Daly +MACRO {acmcs} {"ACM Comput. Surv."} +MACRO {acta} {"Acta Inf."} +MACRO {cacm} {"Commun. ACM"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} +MACRO {ibmsj} {"IBM Syst.~J."} +MACRO {ieeese} {"IEEE Trans. Software Eng."} +MACRO {ieeetc} {"IEEE Trans. Comput."} +MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} +MACRO {ipl} {"Inf. Process. Lett."} +MACRO {jacm} {"J.~ACM"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} +MACRO {scp} {"Sci. Comput. Program."} +MACRO {sicomp} {"SIAM J. Comput."} +MACRO {tocs} {"ACM Trans. Comput. Syst."} +MACRO {tods} {"ACM Trans. Database Syst."} +MACRO {tog} {"ACM Trans. Graphic."} +MACRO {toms} {"ACM Trans. Math. Software"} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +FUNCTION {format.url} +{ url + duplicate$ empty$ + { pop$ "" } + { "\urlprefix\url{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { bibinfo} + +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} + +FUNCTION {format.school} +{school "school" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + "" swap$ * "" * + } + if$ +} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.}{ vv~}{ ll}{ jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #1 + #1 + = + numnames #100 + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + t "others" = not and + { "," * } + 'skip$ + if$ + t "others" = + { + ", " * bbl.etal emphasize * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +FUNCTION {format.names.ed} +{ + format.names +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} + +FUNCTION {format.noeditors} +{ bbl.edin * "" * +} + +FUNCTION {format.plaineditors} +{ editor "editor" format.names empty$ 'skip$ + { + bbl.edin swap$ * + "" * + get.bbl.editor +%% capitalize + ", " swap$ * "" * * + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} + +FUNCTION {format.inproctitle} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + "" swap$ * + ", " * + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ '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 := + } + if$ + } + while$ +} + +FUNCTION {output.mrnumber} +{ duplicate$ missing$ + { pop$ "" } + 'skip$ + if$ + duplicate$ empty$ + 'pop$ + { " \MR{" swap$ * "}" * write$ } + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + mrnumber output.mrnumber + newline$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} + +FUNCTION {format.unpubdate} +{ + "" + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + ", " swap$ * + } + if$ +} + +FUNCTION{format.year} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + " (" swap$ * ")" * + } + if$ +} + +FUNCTION{format.inprocyear} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + "" swap$ * "" * + } + if$ +} + +FUNCTION {format.inprocdate} +{ year "year" + bibinfo.check + duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + before.all + ", " swap$ * + 'output.state := + ", " * +} + +FUNCTION {format.intechrdate} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + " " swap$ * "" * + } + if$ +} + +FUNCTION {format.sanspardate} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + warning$ + } + { + " " swap$ * "" * + } + if$ +} + +FUNCTION {format.plaindate} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + month "month" bibinfo.check duplicate$ empty$ + 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + before.all 'output.state := + ", " swap$ * +} + +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + %{ emphasize ", " * swap$ * } + { " " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.number.plainseries} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} + +FUNCTION {format.translator} +{ +translator "translator" bibinfo.check + " [{\itshape English translation}], " swap$ * bbl.translator * +} + +FUNCTION {format.inprocedition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + add.blank + " " swap$ " " * bbl.edition * "" * + * + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + pages multi.page.check + 'bbl.pages + 'bbl.page + if$ + swap$ tie.or.space.prefix + "pages" bibinfo.check + * * + * + } + if$ + } + if$ +} + +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + format.year * +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.inprocchapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} + +FUNCTION {format.chaptertitle} +{ + chaptertitle "chaptertitle" bibinfo.check + emphasize +} + +FUNCTION {format.englishtitle} +{ + englishtitle "englishtitle" bibinfo.check + emphasize +} + +FUNCTION {format.trntitle} +{ + trntitle "title" bibinfo.check + emphasize +} + +FUNCTION {format.trnbookedition} +{ edition duplicate$ empty$ 'skip$ + { "edition" bibinfo.check + add.blank ", " swap$ * + "" * + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + get.bbl.editor + swap$ "," * + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.chapter} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.inchapter} +{ chapter + "chapter" bibinfo.check + duplicate$ empty$ 'skip$ + { + "" swap$ * + ". " * + } + if$ +} + +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "type" bibinfo.check + } + if$ +} + +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} + +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {format.conference.address} +{ address "address" bibinfo.check +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "month" bibinfo.check + "" swap$ * "" *} + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + end.quote.title + } + { + format.book.crossref output.nonnull + } + if$ + format.plaindate "year" output.check + date.block + format.url output + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.bvolume output + format.chapter.pages output + format.number.series output + format.publisher.address output + format.sanspardate "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.inproctitle "title" output.check + end.quote.title + crossref missing$ + { format.inprocedition output + format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.month output% + format.conference.address output% + new.sentence% + organization output% + publisher output% + format.chapter.pages output + format.number.plainseries output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.inprocyear "year" output.check + format.inprocchapter.pages output + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {translatedbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + add.blank + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.plaindate "year" output.check + end.quote.title + format.chaptertitle "chaptertitle" output.check + add.blank + format.trntitle "title" output.check + add.blank + format.englishtitle "englishtitle" output.check + add.blank + format.trnbookedition output + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.url output + note output + fin.entry +} + +FUNCTION {intranslatedbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + end.quote.title + format.translator "translator" output.check + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + format.url output + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.sanspardate "year" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.title output + howpublished "howpublished" bibinfo.check output + format.date output + new.sentence + format.url output + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.sanspardate "year" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {presentation} +{ output.bibitem + format.authors output + format.title output + format.organization.address "organization and address" output.check + format.month output + year output + new.sentence + type missing$ 'skip$ + {"(" type capitalize * ")" * output} + if$ + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output } + { format.editors output.nonnull } + if$ + format.btitle "title" output.check + format.bvolume output + address empty$ + { editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.sanspardate "year" output.check + } + { format.month output + format.conference.address output + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.sanspardate "year" output.check + } + if$ +% format.date "year" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.intechrdate "year" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.unpubdate output + journal "journal" bibinfo.check + "journal" output.check + new.sentence + format.url output + note output + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\MR}{\relax\unskip\space MR }" + write$ newline$ + "\providecommand{\url}[1]{\normalfont{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{Available at }" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +%% End of customized bst file +%% +%% End of file `tfs.bst'. diff --git a/man/article.Rd b/man/article.Rd index a1b6f8acb..054d19932 100644 --- a/man/article.Rd +++ b/man/article.Rd @@ -30,7 +30,6 @@ \alias{sage_article} \alias{sim_article} \alias{springer_article} -\alias{tf_article} \alias{trb_article} \alias{wellcomeor_article} \alias{isba_article} @@ -151,8 +150,6 @@ springer_article( pandoc_args = NULL ) -tf_article(..., keep_tex = TRUE, citation_package = "natbib") - trb_article(..., keep_tex = TRUE, citation_package = "natbib") wellcomeor_article( @@ -412,11 +409,6 @@ Possible arguments for the YAML header are: Macro package for Springer Journals. } -\section{\code{tf_article}}{ - Format for creating submissions to a Taylor & Francis journal. Adapted from -\samp{https://www.tandf.co.uk/journals/authors/InteractCADLaTeX.zip}. -} - \section{\code{trb_article}}{ Format for creating submissions to the Transportation Research Board Annual Meeting. Adapted from diff --git a/man/rticles-package.Rd b/man/rticles-package.Rd index e4725d605..dc1dcbabe 100644 --- a/man/rticles-package.Rd +++ b/man/rticles-package.Rd @@ -78,6 +78,7 @@ Other contributors: \item Callum Arnold \email{cal.rk.arnold@gmail.com} (arnold-c) [contributor] \item Dmytro Perepolkin \email{dperepolkin@gmail.com} (\href{https://orcid.org/0000-0001-8558-6183}{ORCID}) (dmi3kno) [contributor] \item Tom Palmer \email{remlapmot@hotmail.com} (\href{https://orcid.org/0000-0003-4655-4511}{ORCID}) (remlapmot) [contributor] + \item Rafael Laboissière \email{rafael@laboissiere.net} (\href{https://orcid.org/0000-0002-2180-9250}{ORCID}) (rlaboiss) [contributor] } } diff --git a/man/tf_article.Rd b/man/tf_article.Rd new file mode 100644 index 000000000..7bf0b0abb --- /dev/null +++ b/man/tf_article.Rd @@ -0,0 +1,55 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tf_article.R +\name{tf_article} +\alias{tf_article} +\title{Taylor & Francis journals format} +\usage{ +tf_article( + ..., + keep_tex = TRUE, + citation_package = "natbib", + reference_style = c("CAD", "APA", "NLM", "TFP", "TFQ", "TFS"), + pandoc_args = NULL +) +} +\arguments{ +\item{...}{Additional arguments to \code{\link[rmarkdown:pdf_document]{rmarkdown::pdf_document()}}} + +\item{keep_tex}{Keep the intermediate tex file used in the conversion to PDF. +Note that this argument does not control whether to keep the auxiliary +files (e.g., \file{.aux}) generated by LaTeX when compiling \file{.tex} to +\file{.pdf}. To keep these files, you may set \code{options(tinytex.clean = +FALSE)}.} + +\item{citation_package}{The LaTeX package to process citations, \code{natbib} +or \code{biblatex}. Use \code{default} if neither package is to be used, +which means citations will be processed via the command +\command{pandoc-citeproc}.} + +\item{reference_style}{should be set according to the specific Taylor & Francis +journal. Possibles values: "APA" (American Psychological Association +reference style), "CAD" (Chicago Author-Date reference style), "NLM" +(National Library of Medicine reference style), "TFP" (Reference +Style-P), "TFQ" (Reference Style-Q), and "TFS" (Reference Style-S).} + +\item{pandoc_args}{Additional command line options to pass to pandoc} +} +\description{ +Format for creating submissions to many Taylor & Francis journals. +Adapted from: +\itemize{ +\item \url{https://www.tandf.co.uk/journals/authors/InteractAPALaTeX.zip} +\item \url{https://www.tandf.co.uk/journals/authors/InteractCADLaTeX.zip} +\item \url{https://www.tandf.co.uk/journals/authors/InteractNLMLaTeX.zip} +\item \url{https://www.tandf.co.uk/journals/authors/InteractTFPLaTeX.zip} +\item \url{https://www.tandf.co.uk/journals/authors/InteractTFQLaTeX.zip} +\item \url{https://www.tandf.co.uk/journals/authors/InteractTFSLaTeX.zip} +} +} +\examples{ +\dontrun{ +rmarkdown::draft("MyArticle.Rmd", template = "tf", package = "rticles") +setwd("MyArticle") +rmarkdown::render("MyArticle.Rmd") +} +} diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index 2a76510ae..e923f62dd 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -79,7 +79,12 @@ test_format("rss") test_format("sage") test_format("sim") test_format("springer", skip = !rmarkdown::pandoc_available("2.11.4")) -test_format("tf") +test_format("tf", output_options = list(reference_style = "CAD")) +test_format("tf", output_options = list(reference_style = "APA")) +test_format("tf", output_options = list(reference_style = "NLM")) +test_format("tf", output_options = list(reference_style = "TFP")) +test_format("tf", output_options = list(reference_style = "TFQ")) +test_format("tf", output_options = list(reference_style = "TFS")) test_format("trb") # Deactivate because of https://github.com/rstudio/rticles/issues/523 # test_format("wellcomeor")