diff --git a/DESCRIPTION b/DESCRIPTION index cc70c5c45..38808852d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,8 +25,9 @@ Authors@R: c( person("Thierry", "Onkelinx", role = c("aut", "cph"), email = "thierry.onkelinx@inbo.be"), person("Alessandro", "Gasparini", role = c("aut", "cph"), email = "ag475@leicester.ac.uk"), person("Marc-Andre", "Desautels", role = c("aut", "cph"), email = "marc-andre.desautels@cstjean.qc.ca"), - person("Dominik", "Leutnant", role = c("aut", "cph"), email = "leutnant@fh-muenster.de"), + person("Dominik", "Leutnant", role = c("aut", "cph"), email = "leutnant@fh-muenster.de", comment = c(ORCID = "0000-0003-3293-2315")), person(family = "MDPI", role = c("aut", "cph")), + person(family = "Taylor and Francis", role = c("aut", "cph")), person("Oğuzhan", "Öğreden", role = c("aut"), comment = c(ORCID = "0000-0002-9949-3348")), person("Dalton", "Hance", role = c("aut"), email = "dhance@usgs.gov"), person("Daniel", "Nüst", role = c("aut", "cph"), email = "daniel.nuest@uni-muenster.de", comment = c(ORCID = "0000-0002-0024-5046")), diff --git a/NAMESPACE b/NAMESPACE index d6bc2ba88..33c5ac17e 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -26,6 +26,7 @@ export(rss_article) export(sage_article) export(sim_article) export(springer_article) +export(tf_article) importFrom(rmarkdown,includes_to_pandoc_args) importFrom(rmarkdown,knitr_options) importFrom(rmarkdown,output_format) diff --git a/NEWS.md b/NEWS.md index b3a9d6e7a..c4cb07bf0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,7 @@ rticles 0.8 --------------------------------------------------------------------- - +- Added the Taylor & Francis journal template (@dleutnant, #218) rticles 0.7 --------------------------------------------------------------------- diff --git a/R/article.R b/R/article.R index 6c56508e7..22aa8f7ec 100644 --- a/R/article.R +++ b/R/article.R @@ -261,3 +261,13 @@ springer_article <- function(..., keep_tex = TRUE, citation_package = 'none'){ "springer_article", keep_tex = keep_tex, citation_package = citation_package, ... ) } + +#' @section \code{tf_article}: Format for creating submissions to a Taylor & Francis journal. Adapted from +#' \url{http://www.tandf.co.uk/journals/authors/InteractCADLaTeX.zip}. +#' @export +#' @rdname article +tf_article <- function(..., keep_tex = TRUE, citation_package = 'natbib') { + pdf_document_format( + "tf_article", keep_tex = keep_tex, citation_package = citation_package, ... + ) +} diff --git a/README.md b/README.md index 76d143d01..85eee86f9 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,8 @@ The **rticles** package provides a suite of custom [R Markdown](http://rmarkdown - [Frontiers](https://www.frontiersin.org/) articles +- [Taylor & Francis](http://www.tandf.co.uk/) articles + Under the hood, LaTeX templates are used to ensure that documents conform precisely to submission standards. At the same time, composition and formatting can be done using lightweight [markdown](https://rmarkdown.rstudio.com/authoring_basics.html) syntax, and R code and its output can be seamlessly included using [knitr](https://yihui.name/knitr/). Using **rticles** requires the prerequisites described below. You can get most of these automatically by installing the latest release of RStudio (instructions for using **rticles** without RStudio are also provided). diff --git a/inst/rmarkdown/templates/tf_article/resources/template.tex b/inst/rmarkdown/templates/tf_article/resources/template.tex new file mode 100755 index 000000000..f047f417c --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/resources/template.tex @@ -0,0 +1,77 @@ +% interactcadsample.tex +% v1.03 - April 2017 + +\documentclass[]{interact} + +\usepackage{epstopdf}% To incorporate .eps illustrations using PDFLaTeX, etc. +\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 + +\theoremstyle{plain}% Theorem-like structures provided by amsthm.sty +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\newtheorem{proposition}[theorem]{Proposition} + +\theoremstyle{definition} +\newtheorem{definition}[theorem]{Definition} +\newtheorem{example}[theorem]{Example} + +\theoremstyle{remark} +\newtheorem{remark}{Remark} +\newtheorem{notation}{Notation} + +% see https://stackoverflow.com/a/47122900 +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ + +$if(header-includes)$ +$header-includes$ +$endif$ + +\begin{document} + +\articletype{$type$} + +\title{$title$} + + +\author{\name{$for(author)$$author.name$$$^{$author.affil$}$$$sep$, $endfor$} +\affil{$for(affiliation)$$$^{$affiliation.num$}$$$affiliation.address$$sep$; $endfor$} +} + +\thanks{CONTACT $for(author)$$author.name$. Email: $author.email$$sep$, $endfor$} + +\maketitle + +$if(abstract)$ +\begin{abstract} +$abstract$ +\end{abstract} +$endif$ + +$if(keywords)$ +\begin{keywords} +$keywords$ +\end{keywords} +$endif$ + +$body$ + +$if(bibliography)$ +\bibliographystyle{tfcad} +\bibliography{$bibliography$} +$endif$ + + +$if(appendix)$ +\input{"$appendix$"} +$endif$ + + +\end{document} diff --git a/inst/rmarkdown/templates/tf_article/skeleton/appendix.tex b/inst/rmarkdown/templates/tf_article/skeleton/appendix.tex new file mode 100644 index 000000000..a88fcee51 --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/skeleton/appendix.tex @@ -0,0 +1,43 @@ +\section{Appendices} + +Any appendices should be placed after the list of references, beginning with the command \verb"\appendix" followed by the command \verb"\section" for each appendix title, e.g. +\begin{verbatim} +\appendix +\section{This is the title of the first appendix} +\section{This is the title of the second appendix} +\end{verbatim} +produces:\medskip + +\noindent\textbf{Appendix A. This is the title of the first appendix}\medskip + +\noindent\textbf{Appendix B. This is the title of the second appendix}\medskip + +\noindent Subsections, equations, figures, tables, etc.\ within appendices will then be automatically numbered as appropriate. Some theorem-like environments may need to have their counters reset manually (e.g.\ if they are not numbered within sections in the main text). You can achieve this by using \verb"\numberwithin{remark}{section}" (for example) just after the \verb"\appendix" command. + +Please note that if the \verb"endfloat" package is used on a document containing appendices, the \verb"\processdelayedfloats" command must be included immediately before the \verb"\appendix" command in order to ensure that the floats in the main body of the text are numbered as such. + +%\processdelayedfloats %%% See above for an explanation of why this command might be needed. + +\appendix + +\section{Troubleshooting} + +Authors may occasionally encounter problems with the preparation of a manuscript using \LaTeX. The appropriate action to take will depend on the nature of the problem: +\begin{enumerate} +\item[(i)] If the problem is with \LaTeX\ itself, rather than with the actual macros, please consult an appropriate \LaTeXe\ manual for initial advice. If the solution cannot be found, or if you suspect that the problem does lie with the macros, then please contact Taylor \& Francis for assistance (\texttt{latex.helpdesk@tandf.co.uk}). +\item[(ii)] Problems with page make-up (e.g.\ occasional overlong lines of text; figures or tables appearing out of order): please do not try to fix these using `hard' page make-up commands -- the typesetter will deal with such problems. (You may, if you wish, draw attention to particular problems when submitting the final version of your manuscript.) +\item[(iii)] If a required font is not available on your system, allow \TeX\ to substitute the font and specify which font is required in a covering letter accompanying your files. +\end{enumerate} + + +\section{Obtaining the template and class file} + +\subsection{Via the Taylor \& Francis website} + +This article template and the \texttt{interact} class file may be obtained via the `Instructions for Authors' pages of selected Taylor \& Francis journals. + +Please note that the class file calls up the open-source \LaTeX\ packages booktabs.sty, epsfig.sty and rotating.sty, which will, for convenience, unpack with the downloaded template and class file. The template calls for natbib.sty and subfigure.sty, which are also supplied for convenience. + +\subsection{Via e-mail} + +This article template, the \texttt{interact} class file and the associated open-source \LaTeX\ packages are also available via e-mail. Requests should be addressed to \texttt{latex.helpdesk@tandf.co.uk}, clearly stating for which journal you require the template and class file. diff --git a/inst/rmarkdown/templates/tf_article/skeleton/interact.cls b/inst/rmarkdown/templates/tf_article/skeleton/interact.cls new file mode 100755 index 000000000..a1ef462fd --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/skeleton/interact.cls @@ -0,0 +1,728 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This is file 'interact.cls' +%% +%% This file is part of a Taylor & Francis 'Interact' LaTeX bundle. +%% +%% v1.03 - 2016/10/17 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{interact}[2016/10/17 v1.03 Interact LaTeX document class] +% +\newif\iflargeformat +\newif\ifsuppldata +% +\DeclareOption{largeformat}{\largeformattrue} +\DeclareOption{suppldata}{\suppldatatrue} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ExecuteOptions{a4paper,oneside,onecolumn,final} +\ProcessOptions +% +\LoadClass[11pt,a4paper]{article} +% +\RequirePackage{amsmath,amssymb,amsfonts,amsbsy,amsthm,booktabs,epsfig,graphicx,rotating} +% +\iflargeformat +\RequirePackage[left=1in,right=1in,top=1in,bottom=1in]{geometry} +\else +\RequirePackage[textwidth=34pc,textheight=650pt]{geometry} +\setlength\parindent{12pt} +\fi +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\abstractfont{\fontsize{9}{10}\selectfont\leftskip1pc\rightskip5pc}% +\def\affilfont{\fontsize{10}{12}\selectfont\raggedright}% +\def\articletypefont{\fontsize{12}{14}\selectfont\MakeUppercase}% +\def\authorfont{\fontsize{11}{13}\selectfont\raggedright}% +\def\extractfont{\fontsize{10}{12}\selectfont\leftskip12pt\rightskip12pt}% +\def\figcaptionfont{\fontsize{8}{10}\selectfont}% +\def\fignumfont{\fontsize{8}{10}\selectfont\bfseries}% +\def\historyfont{\fontsize{9}{10}\selectfont\leftskip1pc\rightskip5pc plus1fill}% +\def\keywordfont{\fontsize{9}{10}\selectfont\leftskip1pc\rightskip5pc plus1fill}% +\def\receivedfont{\fontsize{9}{12}\selectfont\leftskip1pc\rightskip5pc}% +\def\sectionfont{\fontsize{11}{13}\selectfont\bfseries\raggedright\boldmath}% +\def\subsectionfont{\fontsize{11}{13}\selectfont\bfseries\itshape\raggedright\boldmath}% +\def\subsubsectionfont{\fontsize{11}{13}\selectfont\itshape\raggedright}% +\def\paragraphfont{\fontsize{11}{13}\selectfont\bfseries\boldmath}% +\def\tablecaptionfont{\fontsize{8}{10}\selectfont\leftskip\tabledim\rightskip\tabledim}% +\def\tablefont{\fontsize{8}{9}\selectfont}% +\def\tablenumfont{\fontsize{8}{10}\selectfont\bfseries}% +\def\tabnotefont{\fontsize{8}{9}\selectfont}% +\def\thanksfont{\fontsize{8}{10}\selectfont}% +\def\titlefont{\fontsize{13}{16}\selectfont\bfseries\raggedright\boldmath}% +% +\def\@xpt{10} +\def\@xipt{11} +\def\@xiiipt{13} +\def\@xivpt{14} +\def\@xvipt{16} +\def\@xviiipt{18} +% +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xipt\@xiiipt + \abovedisplayskip 13\p@ \@plus2\p@ minus.5pt + \abovedisplayshortskip \abovedisplayskip + \belowdisplayskip 13\p@ \@plus2\p@ minus.5pt + \belowdisplayshortskip\belowdisplayskip + \let\@listi\@listI} +% +\renewcommand\small{% + \@setfontsize\small\@xpt{11}% + \abovedisplayskip 8.5\p@ \@plus3\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ + \def\@list1{\leftmargin\leftmargin1 + \topsep 6\p@ \@plus2\p@ + \parsep 2\p@ \@plus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip\setSmallDelims} +% +\def\setSmallDelims{% +\def\big##1{{\hbox{$\left##1\vbox to7.5\p@{}\right.\n@space$}}}% +\def\Big##1{{\hbox{$\left##1\vbox to10.5\p@{}\right.\n@space$}}}% +\def\bigg##1{{\hbox{$\left##1\vbox to13.5\p@{}\right.\n@space$}}}% +\def\Bigg##1{{\hbox{$\left##1\vbox to16.5\p@{}\right.\n@space$}}}% +\def\biggg##1{{\hbox{$\left##1\vbox to19.5\p@{}\right.\n@space$}}}% +\def\Biggg##1{{\hbox{$\left##1\vbox to22.5\p@{}\right.\n@space$}}}% +} +% +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@viiipt{10}% + \abovedisplayskip 6\p@ \@plus2\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 6\p@ \@plus\p@ + \parsep 2\p@ \@plus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip\setFootnotesizeDelims + } +% +\def\setFootnotesizeDelims{% +\def\big##1{{\hbox{$\left##1\vbox to6.5\p@{}\right.\n@space$}}}% +\def\Big##1{{\hbox{$\left##1\vbox to9.5\p@{}\right.\n@space$}}}% +\def\bigg##1{{\hbox{$\left##1\vbox to12.5\p@{}\right.\n@space$}}}% +\def\Bigg##1{{\hbox{$\left##1\vbox to15.5\p@{}\right.\n@space$}}}% +\def\biggg##1{{\hbox{$\left##1\vbox to18.5\p@{}\right.\n@space$}}}% +\def\Biggg##1{{\hbox{$\left##1\vbox to21.5\p@{}\right.\n@space$}}}% +} +% +\def\capsdefault{caps}% +\DeclareRobustCommand\capsshape + {\not@math@alphabet\capsshape\mathrm + \fontshape\capsdefault\selectfont} +% +\DeclareOldFontCommand{\bi}{\bfseries\itshape}{\bfseries\itshape} +\renewcommand{\cal}{\protect\pcal}% +\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}} +\renewcommand{\mit}{\protect\pmit}% +\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}} +% +\renewcommand\rmdefault{cmr} +\newcommand\rmmathdefault{cmr} +% +\DeclareFontFamily{OT1}{Clearface}{} +\DeclareFontShape{OT1}{Clearface}{m}{n}{ <-> Clearface-Regular }{} +\DeclareFontShape{OT1}{Clearface}{m}{it}{ <-> Clearface-RegularItalic }{} +\def\encodingdefault{OT1}% +\fontencoding{OT1}% +% +\def\boldmath{\mathversion{bold}} +\def\bm#1{\mathchoice + {\mbox{\boldmath$\displaystyle#1$}}% + {\mbox{\boldmath$#1$}}% + {\mbox{\boldmath$\scriptstyle#1$}}% + {\mbox{\boldmath$\scriptscriptstyle#1$}}} +% +\providecommand{\mathch}[2]{% + \begingroup + \let\@nomath\@gobble \mathversion{#1}% + \math@atom{#2}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#2$}}% + {\hbox{$\m@th\textstyle#2$}}% + {\hbox{$\m@th\scriptstyle#2$}}% + {\hbox{$\m@th\scriptscriptstyle#2$}}}% + \endgroup} +% +\DeclareFontFamily{OML}{eur}{\skewchar\font'177} +\DeclareFontShape{OML}{eur}{m}{n}{ + <5> <6> <7> <8> <9> gen * eurm + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> eurm10 + }{} +\DeclareFontShape{OML}{eur}{b}{n}{ + <5> <6> <7> <8> <9> gen * eurb + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> eurb10 + }{} +% +\DeclareMathVersion{upright} +\DeclareMathVersion{boldupright} +\SetSymbolFont{letters}{upright} {OML}{eur}{m}{n} +\SetSymbolFont{letters}{boldupright}{OML}{eur}{b}{n} +\DeclareRobustCommand{\mathup}[1]{\mathch{upright}{#1}} +\DeclareRobustCommand{\mathbup}[1]{\mathch{boldupright}{#1}} +% +\newcommand\ualpha{\mathup{\alpha}} +\newcommand\ubeta{\mathup{\beta}} +\newcommand\ugamma{\mathup{\gamma}} +\newcommand\udelta{\mathup{\delta}} +\newcommand\uepsilon{\mathup{\epsilon}} +\newcommand\uzeta{\mathup{\zeta}} +\newcommand\ueta{\mathup{\eta}} +\newcommand\utheta{\mathup{\theta}} +\newcommand\uiota{\mathup{\iota}} +\newcommand\ukappa{\mathup{\kappa}} +\newcommand\ulambda{\mathup{\lambda}} +\newcommand\umu{\mathup{\mu}} +\newcommand\unu{\mathup{\nu}} +\newcommand\uxi{\mathup{\xi}} +\newcommand\upi{\mathup{\pi}} +\newcommand\urho{\mathup{\rho}} +\newcommand\usigma{\mathup{\sigma}} +\newcommand\utau{\mathup{\tau}} +\newcommand\uupsilon{\mathup{\upsilon}} +\newcommand\uphi{\mathup{\phi}} +\newcommand\uchi{\mathup{\chi}} +\newcommand\upsi{\mathup{\psi}} +\newcommand\uomega{\mathup{\omega}} +\newcommand\uvarepsilon{\mathup{\varepsilon}} +\newcommand\uvartheta{\mathup{\vartheta}} +\newcommand\uvarpi{\mathup{\varpi}} +\let\uvarrho\varrho +\let\uvarsigma\varsigma +\newcommand\uvarphi{\mathup{\varphi}} +\newcommand\ubalpha{\mathbup{\alpha}} +\newcommand\ubbeta{\mathbup{\beta}} +\newcommand\ubgamma{\mathbup{\gamma}} +\newcommand\ubdelta{\mathbup{\delta}} +\newcommand\ubepsilon{\mathbup{\epsilon}} +\newcommand\ubzeta{\mathbup{\zeta}} +\newcommand\uboldeta{\mathbup{\eta}} +\newcommand\ubtheta{\mathbup{\theta}} +\newcommand\ubiota{\mathbup{\iota}} +\newcommand\ubkappa{\mathbup{\kappa}} +\newcommand\ublambda{\mathbup{\lambda}} +\newcommand\ubmu{\mathbup{\mu}} +\newcommand\ubnu{\mathbup{\nu}} +\newcommand\ubxi{\mathbup{\xi}} +\newcommand\ubpi{\mathbup{\pi}} +\newcommand\ubrho{\mathbup{\rho}} +\newcommand\ubsigma{\mathbup{\sigma}} +\newcommand\ubtau{\mathbup{\tau}} +\newcommand\ubupsilon{\mathbup{\upsilon}} +\newcommand\ubphi{\mathbup{\phi}} +\newcommand\ubchi{\mathbup{\chi}} +\newcommand\ubpsi{\mathbup{\psi}} +\newcommand\ubomega{\mathbup{\omega}} +\newcommand\ubvarepsilon{\mathbup{\varepsilon}} +\newcommand\ubvartheta{\mathbup{\vartheta}} +\newcommand\ubvarpi{\mathbup{\varpi}} +\newcommand\ubvarrho{\boldsymbol{\varrho}} +\newcommand\ubvarsigma{\boldsymbol{\varsigma}} +\newcommand\ubvarphi{\mathbup{\varphi}} +\newcommand\upartial {\mathup{\partial}} +\newcommand\ubpartial{\mathbup{\partial}} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Title commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\articletype#1{\gdef\@articletype{{#1}}\MakeUppercase} +\def\articletype#1{\gdef\@articletype{#1}} +\gdef\@articletype{\ } +\def\title#1{\gdef\@title{{#1}}} +\def\author#1{\def\and{and }\gdef\@author{#1}} +\def\received#1{\gdef\@received{#1}} +\def\history#1{\gdef\@received{#1}} +\gdef\@history{\bfseries{ARTICLE HISTORY\\}\par} +\gdef\@received{Compiled \today} +% +\long\def\name#1{#1\\\vspace{6pt}}% +\long\def\affil#1{\affilfont{#1}\\} +\long\def\email#1{#1\\} +% +\def\thanks#1{\begingroup +\def\protect{\noexpand\protect\noexpand}\xdef\@thanks{\@thanks% + \protect\footnotetext[\the\c@footnote]{\thanksfont#1}}\endgroup} +% +\renewcommand\maketitle{\par% + \renewcommand\thefootnote{}% + \begingroup + \@maketitle% + \thispagestyle{title} + \endgroup + \@thanks + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@articletype{}% + \renewcommand\thefootnote{\arabic{footnote}}% + \@afterheading} +% +\def\@maketitle{\thispagestyle{plain} + \clearpage + \null + \bgroup + \parindent0pt + \vspace*{36pt} + {\articletypefont{\@articletype}\par}% + \vskip13pt + {\titlefont{\@title}\par}% + \vskip13pt + {\authorfont\@author\par}% + \ifsuppldata\else + \vskip17pt + {\receivedfont{\bfseries ARTICLE HISTORY\\}\@received\par}% + \fi + \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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\setcounter{secnumdepth}{5} +%\newcounter {part} +%\newcounter {section} +%\newcounter {subsection}[section] +%\newcounter {subsubsection}[subsection] +%\newcounter {paragraph}[subsubsection] +%\newcounter {subparagraph}[paragraph] +\renewcommand\thepart {\arabic{part}} +\renewcommand\thesection {\arabic{section}} +\renewcommand\thesubsection {\thesection.\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection.\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} +% +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-26pt \@plus-4pt \@minus-2pt}% + {13pt}% + {\sectionfont}}% +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-24pt \@plus-3pt \@minus-2pt}% + {7pt}% + {\subsectionfont}}% +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {18pt \@plus2pt \@minus2pt}% + {6pt}% + {\subsubsectionfont}}% +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {18pt \@plus1pt \@minus1pt}% + {-6pt}% + {\paragraphfont}}% +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {3.25ex \@plus1ex}% + {-1em}% + {\reset@font\normalsize}}% +% +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \ifnum#2=3 + \vskip4pt + \fi + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +% +\def\@sseccntformat#1{\csname the#1\endcsname.\quad} +\def\@appseccntformat#1{\appendixname\ \csname the#1\endcsname.\ } +\def\@seccntformat#1{\csname the#1\endcsname.\quad} +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \let\@svsec\@empty\else + \refstepcounter{#1}% + \let\@@protect\protect + \def\protect{\noexpand\protect\noexpand}% + \ifnum#2>\@ne\edef\@svsec{\@sseccntformat{#1}}\else\edef\@svsec{\@seccntformat{#1}}\fi% + \let\protect\@@protect\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \ifnum#2=1 + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty \@M {#8}\par}% + \else + \ifnum#2=2 + \@hangfrom{\hskip #3\relax{\em\@svsec}}% + {\interlinepenalty \@M #8\par}% + \else + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty \@M #8\par}% + \fi + \fi + \endgroup + \csname #1mark\endcsname{#7} + \addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}% + \else% + \def\@svsechd{#6\hskip #3\relax + \em\@svsec #8.\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}\fi + \@xsect{#5}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% End Sectioning commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewcommand\appendix{% + \let\@seccntformat\@appseccntformat + \setcounter{equation}{0}\renewcommand\theequation{\thesection\arabic{equation}}% + \setcounter{section}{0}\renewcommand\thesection{\Alph{section}}% + \setcounter{subsection}{0}\renewcommand\thesubsection{\thesection.\arabic{subsection}}% + \setcounter{table}{0}\renewcommand\thetable{\thesection\@arabic\c@table}% + \setcounter{figure}{0}\renewcommand\thefigure{\thesection\@arabic\c@figure}% + \@addtoreset{equation}{section} + \@addtoreset{table}{section} + \@addtoreset{figure}{section} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\fnum@figure{\figurename\nobreakspace\thefigure.}% +\renewenvironment{figure}% + {\figcaptionfont\@float{figure}} + {\end@float} +\renewenvironment{figure*}% + {\figcaptionfont\@dblfloat{figure}} + {\end@dblfloat} + +\def\ArtDir{art/}% +\def\ArtPiece{\@ifnextchar[{\@ArtPiece}{\@ArtPiece[]}}% +\def\@ArtPiece[#1]#2{\def\@tempa{#1}% + \hbox{\ifx\@tempa\@empty\else\epsfscale#1\fi + \noindent{\epsfbox{\ArtDir#2}}}}% +% +\newdimen\figheight +\newdimen\figwidth +% +\let\figformat\centerline +% +\def\figurebox#1#2#3#4{% + \global\figheight#1\global\figwidth#2 + \def\@tempa{#4}% + \leavevmode + \ifx\@tempa\empty + \figformat{\figbox}% + \else + \figformat{\ArtPiece[#3]{#4}}% + \fi\par} +% +\def\figbox{\hbox{\vbox{\hsize\figwidth + \hrule + \hbox to\figwidth{\vrule\hss + \vbox to \figheight{\vfill}% + \vrule}\hrule}}}% +% +\def\figformat#1{\footnotesize#1}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Figures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\fnum@table{\tablename\nobreakspace\thetable.}% +\renewenvironment{table}% + {\@float{table}} + {\vskip5pt\end@float} +\renewenvironment{table*}% + {\@dblfloat{table}} + {\end@dblfloat} +% +\newdimen\tabledim +% +\long\def\tbl#1#2{% + \setbox\@tempboxa\hbox{\tablefont #2}% + \tabledim\hsize\advance\tabledim by -\wd\@tempboxa + \global\divide\tabledim\tw@ + \caption{#1} + \centerline{\box\@tempboxa} + }% +% +\newenvironment{tabnote}{% +\par\vskip5pt\tabnotefont +\@ifnextchar[{\@tabnote}{\@tabnote[]}}{% +\par\vskip-5pt} +\def\@tabnote[#1]{\def\@Tempa{#1}\leftskip\tabledim\rightskip\leftskip%\hspace*{9pt}% +\ifx\@Tempa\@empty\else{\itshape #1:}\ \fi\ignorespaces} +% +\def\x{@{\extracolsep{\fill}}} +\renewcommand\toprule{\\[-5.5pt]\hline\\[-5pt]} +\renewcommand\midrule{\\[-7.5pt]\hline\\[-5pt]} +\renewcommand\bottomrule{\\[-7.5pt]\hline} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Captions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\setlength\abovecaptionskip{7\p@} +\setlength\belowcaptionskip{\z@} +% +\def\FigName{figure} +% +\long\def\@caption#1[#2]#3{\par\begingroup + \@parboxrestore + \normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} +% +\long\def\@makecaption#1#2{% + \ifx\FigName\@captype + \vskip\abovecaptionskip + \setbox\@tempboxa\hbox{\figcaptionfont{\fignumfont#1}\hskip4pt#2}% + \ifdim \wd\@tempboxa >\hsize + {\figcaptionfont\noindent{\fignumfont#1}\hskip7pt\ignorespaces#2\par}% + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \else + {\tablecaptionfont + {\tablenumfont#1}\hskip7pt\ignorespaces{#2}\par}% + \vskip\belowcaptionskip + \fi} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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{% + \kern2pt + \hrule width\textwidth height.25pt + \kern4pt} +\renewcommand\@makefntext[1]{% + \parindent 0.5em% + \noindent + \hb@xt@1em{\hss\@makefnmark}#1} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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 + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\hskip\labelsep + \bfseries\itshape + #1\@addpunct{.}]\ignorespaces +}{\popQED\endtrivlist\@endpefalse} +% +\newtheoremstyle{plain} + {9pt}{9pt}{\itshape}{}{\bfseries}{.}{0.5em}{} +% +\newtheoremstyle{definition} + {9pt}{9pt}{}{}{\bfseries}{.}{0.5em}{} +% +\newtheoremstyle{remark} + {9pt}{9pt}{}{}{\bfseries}{.}{0.5em}{} +% +%%%%%%%%%%%%%%%%%%%%%%%%%% End Theorem-like structures %%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newcommand\abbreviationsname{Abbreviations} +\renewcommand\abstractname{ABSTRACT} +\newcommand\keywordsname{KEYWORDS} +% +\setlength\parskip{0\p@} +\setlength\columnsep{12\p@} +\setlength\columnseprule{0\p@} +\pagestyle{plain} +\pagenumbering{arabic} +\frenchspacing +\sloppy +\onecolumn +% +\endinput diff --git a/inst/rmarkdown/templates/tf_article/skeleton/interactcadsample.bib b/inst/rmarkdown/templates/tf_article/skeleton/interactcadsample.bib new file mode 100755 index 000000000..494a1b964 --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/skeleton/interactcadsample.bib @@ -0,0 +1,17 @@ + +@PRESENTATION{Ade09, + author = {Adelman, Rachel}, + year = 2009, + title = {`Such Stuff as Dreams Are Made On': {G}od's {F}ootstool in the {A}ramaic {T}argumim and {M}idrashic Tradition}, + organization = {Paper presented at the annual meeting for the Society of Biblical Literature}, + month = nov # "~21–-24", + address = {New Orleans, Louisiana}} + +@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}} diff --git a/inst/rmarkdown/templates/tf_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/tf_article/skeleton/skeleton.Rmd new file mode 100755 index 000000000..8547793be --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/skeleton/skeleton.Rmd @@ -0,0 +1,386 @@ +--- +title: | + Taylor & Francis Rmarkdown template for authors (\LaTeX\-based + \textsf{Interact} layout + Chicago author-date reference style) +type: ARTICLE TEMPLATE +author: + - name: A. N. Author + affil: a + email: latex.helpdesk@tandf.co.uk + - name: John Smith + affil: b + email: john.smith@uni-freiburg.de + - name: Dominik Leutnant + affil: c, \dagger, \ddagger + email: leutnant@fh-muenster.de +affiliation: + - num: a + address: | + Taylor & Francis, 4 Park Square, Milton Park, Abingdon, UK + - num: b + address: | + Institut für Informatik, Albert-Ludwigs-Universität, Freiburg, Germany + - num: c + address: | + Muenster University of Applied Sciences - + Institute for Infrastructure, Water, Resources, Environment, + Correnstr. 25, 48149 Münster, Germany +bibliography: interactcadsample.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 + pages on the Taylor & Francis website. +keywords: | + Sections; lists; figures; tables; mathematics; fonts; references; appendices +header-includes: | + \usepackage{hyperref} + \usepackage[utf8]{inputenc} + \def\tightlist{} +output: rticles::tf_article +--- + +# 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. + +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 \textsf{Interact} class file + +The `interact` class file preserves the standard \LaTeXe\ interface such that any document that can be produced using `article.cls` can also be produced with minimal alteration using the `interact` class file as described in this document. + +If your article is accepted for publication it will be typeset as the journal requires in Minion Pro and/or Myriad Pro. Since most authors will not have these fonts installed, the page make-up is liable to alter slightly with the change of font. Also, the `interact` class file produces only single-column format, which is preferred for peer review and will be converted to two-column format by the typesetter if necessary during preparation of the proofs. Please therefore do not try to match the typeset format exactly, but use the standard \LaTeX\ fonts instead and ignore details such as slightly long lines of text or figures/tables not appearing in exact synchronization with their citations in the text: these details will be dealt with by the typesetter. Similarly, it is unnecessary to spend time addressing warnings in the log file -- if your .tex file compiles to produce a PDF document that correctly shows how you wish your paper to appear, such warnings will not prevent your source files being imported into the typesetter's program. + +## Submission of manuscripts prepared using _\LaTeX_ + +Manuscripts for possible publication should be submitted to the Editors for review as directed in the journal's Instructions for Authors, and in accordance with any technical instructions provided in the journal's ScholarOne Manuscripts or Editorial Manager site. Your \LaTeX\ source file(s), the class file and any graphics files will be required in addition to the final PDF version when final, revised versions of accepted manuscripts are submitted. + +Please ensure that any author-defined macros used in your article are gathered together in the preamble of your .tex file, i.e.\ before the `\begin{document}` command. Note that if serious problems are encountered in the coding of a document (missing author-defined macros, for example), the typesetter may resort to rekeying it. + +# Using the `interact` class file + +For convenience, simply copy the `interact.cls` file into the same directory as your manuscript files (you do not need to install it in your \TeX\ distribution). In order to use the `interact` document class, replace the command `\documentclass{article}` at the beginning of your document with the command `\documentclass{interact}`. + +The following document-class options should _not_ be used with the `interact` class file: + +* `10pt`, `11pt`, `12pt` -- unavailable; +* `oneside`, `twoside` -- not necessary, `oneside` is the default; +* `leqno`, `titlepage` -- should not be used; +* `twocolumn` -- should not be used (see Subsection~\ref{class}); +* `onecolumn` -- not necessary as it is the default style. + +To prepare a manuscript for a journal that is printed in A4 (two column) format, use the `largeformat` document-class option provided by `interact.cls`; otherwise the class file produces pages sized for B5 (single column) format by default. The `geometry` package should not be used to make any further adjustments to the page dimensions. + + + +# Additional features of the `interact` class file + +## Title, authors' names and affiliations, abstracts and article types + +## 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. + + +## Keywords + +A list of keywords may be included if required, enclosed within a `keywords` environment, i.e.\ `\begin{keywords}`\ldots`\end{keywords}`. Additional keywords in other languages (preceded by a translation of the word `keywords`) may also be included within the `keywords` environment if required. + + +## Subject classification codes + +AMS, JEL or PACS classification codes may be included if required. The `interact` class file provides an `amscode` environment, i.e.\ `\begin{amscode}`\ldots`\end{amscode}`, a `jelcode` environment, i.e.\ `\begin{jelcode}`\ldots`\end{jelcode}`, and a `pacscode` environment, i.e.\ `\begin{pacscode}`\ldots`\end{pacscode}` to assist with this. + + +## Additional footnotes to the title or authors' names + + + + + +Note that any `footnote`s to the main text will automatically be assigned the superscript symbols 1, 2, 3, etc. by the class file.^[If preferred, the `endnotes` package may be used to set the notes at the end of your text, before the bibliography. The symbols will be changed to match the style of the journal if necessary by the typesetter.] + +# Embedding R code + +## Code chunks + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +``` + +```{r cars} +summary(cars) +``` + +## Including Plots + +You can also embed plots, for example: + +```{r pressure, echo=FALSE, out.width='80%'} +plot(pressure) +``` + +Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot. + +# Some guidelines for using the standard features of \LaTeX + +## Sections + +The \textsf{Interact} layout style allows for five levels of section heading, all of which are provided in the `interact` class file using the standard \LaTeX\ commands `\section`, `\subsection`, `\subsubsection`, `\paragraph` and `\subparagraph`. Numbering will be automatically generated for all these headings by default. + +## Lists + +Numbered lists are produced using the `enumerate` environment, which will number each list item with arabic numerals by default. For example, + +1. first item +2. second item +3. third item + +Alternative numbering styles can be achieved by inserting an optional argument in square brackets to each `item`, e.g.\ `\item[(i)] first item`\, to create a list numbered with roman numerals at level one. + +Bulleted lists are produced using the `itemize` environment. For example, + +* First bulleted item +* Second bulleted item +* Third bulleted item + +## Figures + +```{r fig} + tmp_fig_path <- paste0(tempfile(), ".pdf") + pdf(file = tmp_fig_path) + plot(pressure) + invisible(dev.off()) +``` + +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. + +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 +\subfigure[An example of an individual figure sub-caption.]{% +\resizebox*{5cm}{!}{\includegraphics{path/to/fig}}}\hspace{5pt} +\subfigure[A slightly shorter sub-caption.]{% +\resizebox*{5cm}{!}{\includegraphics{path/to/fig}}} +\caption{Example of a two-part figure with individual sub-captions + showing that captions are flush left and justified if greater + than one line of text.} \label{sample-figure} +\end{figure} +``` +\begin{figure} +\centering +\subfigure[An example of an individual figure sub-caption.]{% +\resizebox*{5cm}{!}{\includegraphics{`r tmp_fig_path`}}}\hspace{5pt} +\subfigure[A slightly shorter sub-caption.]{% +\resizebox*{5cm}{!}{\includegraphics{`r tmp_fig_path`}}} +\caption{Example of a two-part figure with individual sub-captions + showing that captions are flush left and justified if greater + than one line of text.} \label{sample-figure} +\end{figure} + +To ensure that figures are correctly numbered automatically, the `\label` command should be included just after the `\caption` command, or in its argument. + +The `\subfigure` command requires `subfigure.sty`, which is called in the preamble of the `interacttfssample.tex` file (to allow your choice of an alternative package if preferred) and included in the \textsf{Interact} \LaTeX\ bundle for convenience. Please supply any additional figure macros used with your article in the preamble of your .tex file. + +The source files of any figures will be required when the final, revised version of a manuscript is submitted. Authors should ensure that these are suitable (in terms of lettering size, etc.) for the reductions they envisage. + +The `epstopdf` package can be used to incorporate encapsulated PostScript (.eps) illustrations when using PDF\LaTeX, etc. Please provide the original .eps source files rather than the generated PDF images of those illustrations for production purposes. + + +## Tables + +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: +\begin{table} +\tbl{Example of a table showing that its caption is as wide as + the table itself and justified.} +{\begin{tabular}{lcccccc} \toprule + & \multicolumn{2}{l}{Type} \\ \cmidrule{2-7} + Class & One & Two & Three & Four & Five & Six \\ \midrule + Alpha\textsuperscript{a} & A1 & A2 & A3 & A4 & A5 & A6 \\ + Beta & B2 & B2 & B3 & B4 & B5 & B6 \\ + Gamma & C2 & C2 & C3 & C4 & C5 & C6 \\ \bottomrule +\end{tabular}} +\tabnote{\textsuperscript{a}This footnote shows how to include + footnotes to a table if required.} +\label{sample-table} +\end{table} +``` +\begin{table} +\tbl{Example of a table showing that its caption is as wide as + the table itself and justified.} +{\begin{tabular}{lcccccc} \toprule + & \multicolumn{2}{l}{Type} \\ \cmidrule{2-7} + Class & One & Two & Three & Four & Five & Six \\ \midrule + Alpha\textsuperscript{a} & A1 & A2 & A3 & A4 & A5 & A6 \\ + Beta & B2 & B2 & B3 & B4 & B5 & B6 \\ + Gamma & C2 & C2 & C3 & C4 & C5 & C6 \\ \bottomrule +\end{tabular}} +\tabnote{\textsuperscript{a}This footnote shows how to include + footnotes to a table if required.} +\label{sample-table} +\end{table} +``` + +To ensure that tables are correctly numbered automatically, the `\label` command should be included just before `\end{table}`. + +The `\toprule`, `\midrule`, `\bottomrule` and `\cmidrule` commands are those used by `booktabs.sty`, which is called by the `interact` class file and included in the \textsf{Interact} \LaTeX\ bundle for convenience. Tables produced using the standard commands of the `tabular` environment are also compatible with the `interact` class file. + + +## Landscape pages + +If a figure or table is too wide to fit the page it will need to be rotated, along with its caption, through 90$^{\circ}$ anticlockwise. Landscape figures and tables can be produced using the `rotating` package, which is called by the `interact` class file. The following commands (for example) can be used to produce such pages. +``` +\setcounter{figure}{1} +\begin{sidewaysfigure} +\centerline{\epsfbox{figname.eps}} +\caption{Example landscape figure caption.} +\label{landfig} +\end{sidewaysfigure} +``` +``` +\setcounter{table}{1} +\begin{sidewaystable} + \tbl{Example landscape table caption.} + {\begin{tabular}{@{}llllcll} + . + . + . + \end{tabular}}\label{landtab} +\end{sidewaystable} +``` +Before any such float environment, use the `\setcounter` command as above to fix the numbering of the caption (the value of the counter being the number given to the preceding figure or table). Subsequent captions will then be automatically renumbered accordingly. The `\epsfbox` command requires `epsfig.sty`, which is called by the `interact` class file and is also included in the \textsf{Interact} \LaTeX\ bundle for convenience. + +Please note that if the `endfloat` package is used, one or both of the commands +``` +\DeclareDelayedFloatFlavor{sidewaysfigure}{figure} +\DeclareDelayedFloatFlavor{sidewaystable}{table} +``` +will need to be included in the preamble of your .tex file, after the `endfloat` package is loaded, in order to process any landscape figures and/or tables correctly. + + +## Theorem-like structures + +A predefined `proof` environment is provided by the `amsthm` package (which is called by the `interact` class file), as follows: +\begin{proof} +More recent algorithms for solving the semidefinite programming relaxation are particularly efficient, because they explore the structure of the MAX-CUT problem. +\end{proof} +\noindent This was produced by simply typing: +``` +\begin{proof} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the +structure of the MAX-CUT problem. +\end{proof} +``` +Other theorem-like environments (theorem, definition, remark, etc.) need to be defined as required, e.g.\ using `\newtheorem{theorem}{Theorem}` in the preamble of your .tex file (see the preamble of `interactcadsample.tex` for more examples). You can define the numbering scheme for these structures however suits your article best. Please note that the format of the text in these environments may be changed if necessary to match the style of individual journals by the typesetter during preparation of the proofs. + + +## Mathematics + +### Displayed mathematics + +The `interact` class file will set displayed mathematical formulas centred on the page without equation numbers if you use the `displaymath` environment or the equivalent `\[...\]` construction. For example, the equation +\[ + \hat{\theta}_{w_i} = \hat{\theta}(s(t,\mathcal{U}_{w_i})) +\] +was typeset using the commands +``` +\[ + \hat{\theta}_{w_i} = \hat{\theta}(s(t,\mathcal{U}_{w_i})) +\] +``` + +For those of your equations that you wish to be automatically numbered sequentially throughout the text for future reference, use the `equation` environment, e.g. +\begin{equation} + \hat{\theta}_{w_i} = \hat{\theta}(s(t,\mathcal{U}_{w_i})) +\end{equation} +was typeset using the commands +``` +\begin{equation} + \hat{\theta}_{w_i} = \hat{\theta}(s(t,\mathcal{U}_{w_i})) +\end{equation} +``` + +Part numbers for sets of equations may be generated using the `subequations` environment, e.g. +\begin{subequations} \label{subeqnexample} +\begin{equation} + \varepsilon \rho w_{tt}(s,t) = N[w_{s}(s,t),w_{st}(s,t)]_{s}, + \label{subeqnparta} +\end{equation} +\begin{equation} + w_{tt}(1,t)+N[w_{s}(1,t),w_{st}(1,t)] = 0, + \label{subeqnpartb} +\end{equation} +\end{subequations} +which was typeset using the commands +``` +\begin{subequations} \label{subeqnexample} +\begin{equation} + \varepsilon \rho w_{tt}(s,t) = N[w_{s}(s,t),w_{st}(s,t)]_{s}, + \label{subeqnparta} +\end{equation} +\begin{equation} + w_{tt}(1,t)+N[w_{s}(1,t),w_{st}(1,t)] = 0, \label{subeqnpartb} +\end{equation} +\end{subequations} +``` + + +Displayed mathematics should be given end-of-line punctuation appropriate to the running text sentence of which it forms a part, if required. + +### Math fonts + +#### Superscripts and subscripts +Superscripts and subscripts will automatically come out in the correct size in a math environment (i.e.\ enclosed within `\(...\)` or `$...$` commands in running text, or within `\[...\]` or the `equation` environment for displayed equations). Sub/superscripts that are physical variables should be italic, whereas those that are labels should be roman (e.g.\ $C_p$, $T_\mathrm{eff}$). If the subscripts or superscripts need to be other than italic, they must be coded individually. + +#### Upright Greek characters and the upright partial derivative sign +Upright lowercase Greek characters can be obtained by inserting the letter `u` in the control code for the character, e.g.\ `\umu` and `\upi` produce $\umu$ (used, for example, in the symbol for the unit microns -- $\umu\mathrm{m}$) and $\upi$ (the ratio of the circumference of a circle to its diameter). Similarly, the control code for the upright partial derivative $\upartial$ is `\upartial`. Bold lowercase as well as uppercase Greek characters can be obtained by `{\bm \gamma}`, for example, which gives ${\bm \gamma}$, and `{\bm \Gamma}`, which gives ${\bm \Gamma}$. + + +# Acknowledgement(s) {-} + +An unnumbered section, e.g.\ `\section*{Acknowledgements}`, may be used for thanks, etc.\ if required and included _in the non-anonymous version_ before any Notes or References. + +# Disclosure statement {-} + +An unnumbered section, e.g.\ `\section*{Disclosure statement}`, may be used to declare any potential conflict of interest and included _in the non-anonymous version_ before any Notes or References, after any Acknowledgements and before any Funding information. + +# Funding {-} + +An unnumbered section, e.g.\ `\section*{Funding}`, may be used for grant details, etc.\ if required and included _in the non-anonymous version_ before any Notes or References. + +# Notes on contributor(s) {-} + +An unnumbered section, e.g.\ `\section*{Notes on contributors}`, may be included _in the non-anonymous version_ if required. A photograph may be added if requested. + +# Nomenclature/Notation {-} + +An unnumbered section, e.g.\ `\section*{Nomenclature}` (or `\section*{Notation}`), may be included if required, before any Notes or References. + +# Notes {-} + +An unnumbered `Notes` section may be included before the References (if using the `endnotes` package, use the command `\theendnotes` where the notes are to appear, instead of creating a `\section*`). + +# References + +## References cited in the text + +## 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. + +The following list shows some sample references prepared in the Taylor & Francis Chicago author-date style. + +[@Ade09; @Alb05] diff --git a/inst/rmarkdown/templates/tf_article/skeleton/tfcad.bst b/inst/rmarkdown/templates/tf_article/skeleton/tfcad.bst new file mode 100755 index 000000000..62e902a7e --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/skeleton/tfcad.bst @@ -0,0 +1,1715 @@ +%% +%% This is file `tfcad.bst', +%% generated with the docstrip utility, +%% modified by DjL 2017/04/18 +%% ------------------------------------- +%% +%% *** BibTeX style for Taylor & Francis Chicago author-date reference style +%% as described at +%% http://www.tandf.co.uk/journals/authors/style/reference/tf_ChicagoAD.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 an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et~al.(1990)]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet[chap.~2]{key} ==>> Jones et al. (1990, chap. 2) + % \citep{key} ==>> (Jones et al. 1990) + % \citep[chap.~2]{key} ==>> (Jones et al. 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al. 1990) + % \citep[e.g.][32]{key} ==>> (e.g. Jones et al. 1990, 32) + % \citealt{key} ==>> Jones et al. 1990 + % \citealp{key} ==>> Jones et al. 1990 + % \citealp[32]{key} ==>> Jones et al. 1990, 32 + % \citeauthor{key} ==>> Jones et al. + % \citeyear{key} ==>> 1990 + % \citeyearpar{key} ==>> (1990) + %-------------------------------------------------------------------- + +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 + urldate + volume + year + } + {} + { label extra.label sort.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$ } + { 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$ +} + +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + 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.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} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Technical {R}eport" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "PhD 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$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +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 {urldate.check} +{ lastchecked empty$ + { urldate empty$ + { "" } % 'skip$ + { "Accessed " urldate * add.period$ } + if$ + } + { "Accessed " lastchecked * add.period$ } + if$ +} + +FUNCTION {format.url} +{ url duplicate$ empty$ + { pop$ "" } + { urldate.check " \urlprefix\url{" * swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { bibinfo } + +FUNCTION {format.names}% as they appear in the list +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{ff~}{vv~}{ll}{, jj}" } + { "{vv~}{ll}{, ff}{, jj}" } + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #7 + #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 * + } + { + bbl.and + space.word * 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 + "{ff~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +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 % capitalize +% "(" swap$ * ")" * + * + } + 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 + duplicate$ empty$ 'skip$ + { + "``" swap$ * + add.period$ "'' " * + } + if$ +} + +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} + +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} + +FUNCTION {end.quote.btitle} +{ booktitle empty$ + 'skip$ + { editor empty$ + { before.all 'output.state := } + 'skip$ + if$ + } + if$ +} + +FUNCTION {output.bibitem}% +{ newline$ + "\bibitem[" write$ + label write$ + "]{" 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 n.d." * warning$ + pop$ "n.d." + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + after.sentence 'output.state := +} + +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$ bbl.of space.word * swap$ + emphasize * } + 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 + { + n.dashify + } + { + } + if$ + "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$ + { + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ }%%% Chicago would like this to output like , no. 25: without parentheses (CMS 806-7) + 'skip$ + if$ + swap$ + " (" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter capitalize } % { 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 {bt.emph} +{ duplicate$ empty$ 'skip$ + { "\emph{" swap$ * + non.stop + { "}, " * } + { "}, " * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + bt.emph +} + +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { bbl.edby + " " * 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.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} +{ + word.in + " \cite{" * crossref * "}" * +} + +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$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \citealt{" * 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} +{ institution "institution" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.address} +{ address empty$ + { "" } + { address "address" bibinfo.check} + if$ +} + +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.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {book} +{ 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.date "year" output.check + new.block + format.btitle "title" output.check + new.sentence% + crossref missing$ + { format.edition output + format.bvolume output + format.number.series output + new.sentence + format.publisher.address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + new.block + format.note 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$ + format.date "year" output.check + new.block + format.btitle "title" output.check + crossref missing$ + { format.edition output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + end.quote.btitle + format.edition output + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + end.quote.btitle + format.bvolume output + format.number.series output + format.address output + format.month output + format.pages output + new.sentence + publisher empty$ + { organization output } + { organization "organization" bibinfo.check output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + new.block + format.btitle "title" output.check + new.sentence + format.edition output + new.sentence + format.organization.address "organization and address" output.check + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + new.block + format.title output + end.quote.title + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output% + format.month output% + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {presentation} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + new.block% + format.title output + end.quote.title + organization output + address output + format.month output% + new.sentence + format.note output + new.sentence + type missing$ 'skip$ + {"(" type capitalize * ")" * output} + if$ + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output + organization format.key output } + { format.editors output.nonnull } + if$ + format.date "year" output.check + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output + format.month output + new.sentence + organization output + publisher output + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + new.block + format.btitle + "title" output.check + new.block + format.tr.number output.nonnull + new.block + format.institution.address output + new.block + format.note output + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + new.block + format.title "title" output.check + end.quote.title + new.block + format.note "note" output.check + format.url 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 {format.lab.names}% as they appear in the text +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + nameptr #2 = + numnames #3 > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + "(" + * + year duplicate$ empty$ + { pop$ "n.d." } + 'skip$ + if$ + * + 'label := +} + +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 + { bbl.etal * } + { 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 {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor 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 {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * ")" * 'label := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\newcommand{\enquote}[1]{``#1''}" + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + 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 `tfcad.bst'. diff --git a/inst/rmarkdown/templates/tf_article/template.yaml b/inst/rmarkdown/templates/tf_article/template.yaml new file mode 100644 index 000000000..36149e499 --- /dev/null +++ b/inst/rmarkdown/templates/tf_article/template.yaml @@ -0,0 +1,4 @@ +name: Taylor & Francis Journal Article +description: > + This template is for authors who are preparing a manuscript for a Taylor & Francis journal. +create_dir: true diff --git a/man/article.Rd b/man/article.Rd index a640825c3..02a09ff3b 100644 --- a/man/article.Rd +++ b/man/article.Rd @@ -20,6 +20,7 @@ \alias{sage_article} \alias{sim_article} \alias{springer_article} +\alias{tf_article} \title{R Markdown output formats for (journal) articles} \usage{ acm_article(...) @@ -67,6 +68,9 @@ sage_article(..., highlight = NULL, citation_package = "natbib") sim_article(..., highlight = NULL, citation_package = "natbib") springer_article(..., keep_tex = TRUE, citation_package = "none") + +tf_article(..., keep_tex = TRUE, citation_package = "natbib") + } \arguments{ \item{..., keep_tex, latex_engine, citation_package, highlight, fig_caption, md_extensions}{Arguments passed to \code{rmarkdown::\link{pdf_document}()}.} @@ -225,6 +229,11 @@ 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 +\href{http://www.tandf.co.uk/journals/authors/InteractCADLaTeX.zip}{http://www.tandf.co.uk/journals/authors/InteractCADLaTeX.zip}. +} + \examples{ \dontrun{ rmarkdown::draft("MyArticle.Rmd", template = "acm_article", package = "rticles") diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index 0550612c2..6f5599c95 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -47,3 +47,4 @@ test_format("mdpi_article") test_format("mnras_article") test_format("copernicus_article") test_format("frontiers_article") +test_format("tf_article")