From dff02551c2cd38e90e3a0fdc6147b2db89c0892c Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Sat, 17 Feb 2018 22:43:09 -0600 Subject: [PATCH 01/16] initially add support for GigaScience; not yet thorooughly tested; still has some issues with markdown in the body --- DESCRIPTION | 6 +- NAMESPACE | 1 + R/gigascience_article.R | 27 + .../resources/template.tex | 90 + .../skeleton/gigascience-logo.pdf | Bin 0 -> 26675 bytes .../skeleton/oup-contemporary.cls | 429 ++++ .../gigascience_article/skeleton/oup.pdf | Bin 0 -> 11195 bytes .../skeleton/paper-refs.bib | 130 ++ .../gigascience_article/skeleton/skeleton.Rmd | 135 ++ .../skeleton/vancouver-authoryear.bst | 1812 +++++++++++++++++ .../gigascience_article/template.yaml | 5 + 11 files changed, 2633 insertions(+), 2 deletions(-) create mode 100644 R/gigascience_article.R create mode 100644 inst/rmarkdown/templates/gigascience_article/resources/template.tex create mode 100644 inst/rmarkdown/templates/gigascience_article/skeleton/gigascience-logo.pdf create mode 100644 inst/rmarkdown/templates/gigascience_article/skeleton/oup-contemporary.cls create mode 100644 inst/rmarkdown/templates/gigascience_article/skeleton/oup.pdf create mode 100644 inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib create mode 100755 inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd create mode 100644 inst/rmarkdown/templates/gigascience_article/skeleton/vancouver-authoryear.bst create mode 100644 inst/rmarkdown/templates/gigascience_article/template.yaml diff --git a/DESCRIPTION b/DESCRIPTION index 81b3a75ba..b75a269fe 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: rticles Type: Package Title: Article Formats for R Markdown -Version: 0.4.2.9000 +Version: 0.4.2.9001 Authors@R: c( person("JJ", "Allaire", role = c("aut", "cre"), email = "jj@rstudio.com"), person(family = "R Foundation", role = c("aut", "cph")), @@ -25,7 +25,9 @@ Authors@R: c( person("Thierry", "Onkelinx", role = c("aut", "cph"), email = "thierry.onkelinx@inbo.be"), 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(family = "MDPI", role = c("aut", "cph")) + person(family = "MDPI", role = c("aut", "cph")), + person("Arthur", "Eschenlauer", role = c("aut", "cph"), email = "esch0041@umn.edu"), + person(family = "GigaScience", role = c("aut", "cph")) ) Description: A suite of custom R Markdown formats and templates for authoring journal articles and conference submissions. diff --git a/NAMESPACE b/NAMESPACE index 6710bc387..e87c8483d 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,6 +9,7 @@ export(asa_article) export(ctex) export(ctex_template) export(elsevier_article) +export(gigascience_article) export(ieee_article) export(jss_article) export(mdpi_article) diff --git a/R/gigascience_article.R b/R/gigascience_article.R new file mode 100644 index 000000000..f3e0ab11b --- /dev/null +++ b/R/gigascience_article.R @@ -0,0 +1,27 @@ +#' GigaScience journal format. +#' +#' Format for creating submissions to the GigaScience journal. Adapted from GigaScience Overleaf template +#' \href{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}. +#' +#' @inheritParams rmarkdown::pdf_document +#' @param ... Additional arguments to \code{rmarkdown::pdf_document} +#' +#' @return R Markdown output format to pass to +#' \code{\link[rmarkdown:render]{render}} +#' +#' @examples +#' +#' \dontrun{ +#' library(rmarkdown) +#' draft("MyArticle.Rmd", template = "gigascience_article", package = "rticles") +#' } +#' +#' @export +gigascience_article <- function(..., + keep_tex = TRUE, + md_extensions = c("-autolink_bare_uris")) { + inherit_pdf_document(..., + template = find_resource("gigascience_article", "template.tex"), + keep_tex = keep_tex, + md_extensions = md_extensions) +} diff --git a/inst/rmarkdown/templates/gigascience_article/resources/template.tex b/inst/rmarkdown/templates/gigascience_article/resources/template.tex new file mode 100644 index 000000000..8da4991e5 --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/resources/template.tex @@ -0,0 +1,90 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Please note that whilst this template provides a +% preview of the typeset manuscript for submission, it +% will not necessarily be the final publication layout. +% +% letterpaper/a4paper: US/UK paper size toggle +% num-refs/alpha-refs: numeric/author-year citation and bibliography toggle + +%\documentclass[letterpaper]{oup-contemporary} +\documentclass[a4paper,num-refs]{oup-contemporary} + +%%% Journal toggle; only specific options recognised. +%%% (Only "gigascience" and "general" are implemented now. Support for other journals is planned.) +\journal{gigascience} + +% declare highlighting-macros if any +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ + +% include header-includes if any +$for(header-includes)$ +$header-includes$ +$endfor$ + +% before include preamble if any +$preamble$ +% after include preamble if any + +%%% declare packages to be used +\usepackage{forarray} +\usepackage{xstring} +\usepackage{graphicx} +\usepackage{siunitx} + +%%% unpackged commands +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} + + +%%% Flushend: You can add this package to automatically balance the final page, but if things go awry (e.g. section contents appearing out-of-order or entire blocks or paragraphs are coloured), remove it! +% \usepackage{flushend} + + + +\title{$title$} + +%%% Authors +$for(author)$ \author[$for(author.affiliation)$$author.affiliation$$sep$,$endfor$$for(author.note)$,\authfn{$author.note$}$endfor$]{$author.name$} $sep$ +$endfor$ + +%%% Author Affiliations +$for(affiliation)$ \affil[$affiliation.id$]{$affiliation.name$$if(affiliation.address)$, $affiliation.address$$endif$} +$endfor$ + +%%% Use the \authfn to add symbols for additional footnotes, if any. 1 is reserved for correspondence emails; then continuing with 2 etc for contributions. +%%% Author Notes +$for(authnote)$\authnote{\authfn{$authnote.id$}$authnote.note$}$sep$ +$endfor$ + + +%%% Paper category +\papercat{$papercat$} + +%%% "Short" author for running page header +\runningauthor{$runningauthor$} + +%%% Should only be set by an editor +\jvolume{00} +\jnumber{0} +\jyear{2018} + +\begin{document} +\begin{frontmatter} +\maketitle +\begin{abstract} +$abstract$ +\end{abstract} + +\begin{keywords} +$for(keywords)$$keywords$$sep$; $endfor$ +\end{keywords} +\end{frontmatter} + + + +$body$ + +%%% The document ends here +\end{document} diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/gigascience-logo.pdf b/inst/rmarkdown/templates/gigascience_article/skeleton/gigascience-logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cae6823d7c2578e4b2168c2950f80940aebafba5 GIT binary patch literal 26675 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 literal 0 HcmV?d00001 diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/oup-contemporary.cls b/inst/rmarkdown/templates/gigascience_article/skeleton/oup-contemporary.cls new file mode 100644 index 000000000..49b08542d --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/oup-contemporary.cls @@ -0,0 +1,429 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% oup-contemporary.cls, v1.1, 2017/06/28 +% Developed by Overleaf +% +% This class file enables authors to prepare +% manuscripts for submission to OUP journals using the +% 'contemporary' layout. +% +% V1.0 Supported journals: +% - gigascience +% - general +% +% V1.1 +% - Moved logos to top level (EM requirements) +% - Handles missing/empty logo files +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\ProvidesClass{oup-contemporary}[2017/06/28, v1.1] + +\newif\if@numrefs +\newif\if@alpharefs + +%% Options for bibliography style +\DeclareOption{num-refs}{ + \@numrefstrue + \@alpharefsfalse +} +\DeclareOption{alpha-refs}{ + \@numrefsfalse + \@alpharefstrue +} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} + +\ExecuteOptions{num-refs} +\ProcessOptions\relax +\LoadClass[twoside,twocolumn]{article} + +\RequirePackage[utf8]{inputenc} +\RequirePackage[T1]{fontenc} +\RequirePackage{ifpdf} +\RequirePackage{microtype} +\RequirePackage{euler} +\RequirePackage{merriweather} +\renewcommand{\ttdefault}{lmtt} +\RequirePackage[italic]{mathastext} +\RequirePackage{relsize} +\RequirePackage{ragged2e} +\RequirePackage{xcolor} +\RequirePackage{colortbl} +\RequirePackage{graphicx} +\RequirePackage{etoolbox,xpatch} +\RequirePackage{environ} +\RequirePackage{lastpage} +\RequirePackage{rotating} +\RequirePackage{lscape} +\RequirePackage{afterpage} +\RequirePackage[absolute]{textpos} +\RequirePackage{url} +\RequirePackage{newfloat} +\RequirePackage{mdframed} +\RequirePackage{titlesec} + +\RequirePackage{scrextend} +\changefontsizes[10.5pt]{7.5pt} + +\RequirePackage{calc} +\RequirePackage{geometry} +\geometry{includefoot, + hmargin=4pc+6.64pt, + bottom=2pc+10pt, + top=5pc+6pt, + headsep=2pc, + headheight=17.5pt, + footnotesep=1pc+6pt, + columnsep=18pt} +\setlength{\parindent}{12pt} + +\RequirePackage[colorlinks,allcolors=black,urlcolor=blue]{hyperref} + +\RequirePackage[noblocks]{authblk} + +\def\@ouplogo{oup.pdf} + +\def\@jname{Journal of X} +\def\@jlogo{example-grid-100x100pt.png} + +\newcommand{\jname}[1]{\def\@jname{#1}} +\newcommand{\jlogo}[1]{\def\@jlogo{#1}} + +\def\@jyear{20xx} +\def\@jvolume{0} +\def\@jnumber{0} +\def\@jstartpage{1} + +\newcommand{\jyear}[1]{\def\@jyear{#1}} +\newcommand{\jvolume}[1]{\def\@jvolume{#1}} +\newcommand{\jnumber}[1]{\def\@jnumber{#1}} +\newcommand{\jstartpage}[1]{\def\@jstartpage{#1}} + +\def\@papercat{} +\def\@runningauthor{} +\def\@runningtitle{} +\def\@corraddress{} +\def\@authnotes{} +\colorlet{jcolour}{blue!40} + +\newcommand{\runningauthor}[1]{\def\@runningauthor{#1}} +\newcommand{\runningtitle}[1]{\def\@runningtitle{#1}} +\newcommand{\corraddress}[1]{\def\@corraddress{#1}} +\newcommand{\authnote}[1]{\appto{\@authnotes}{#1\par}} +\newcommand{\papercat}[1]{\def\@papercat{#1}} + +\newcommand{\journal}[1]{% + \ifstrequal{#1}{gigascience}{% + \jname{GigaScience}% + \jlogo{gigascience-logo.pdf}% + \definecolor{jcolour}{RGB}{122,191,129}% + }{} + \ifstrequal{#1}{general}{% + \jname{Journal of XYZ}% + \jlogo{example-grid-100x100pt.png}% + \definecolor{jcolour}{RGB}{128,0,0}% + } +} + +\RequirePackage[flushmargin,bottom,norule]{footmisc} +\appto{\footnotelayout}{\fontsize{6.5pt}{9.5pt}\selectfont} +\deffootnote{1.5em}{1.5em}{\thefootnotemark\enspace} + +\RequirePackage{fancyhdr} +\fancyhf{} +\renewcommand{\headrule}{\color{black!15}\rule{\textwidth}{2pt}} +\fancyhead[LE]{% + \hspace*{12pt}% + \fontsize{7.8pt}{10pt}\selectfont% + \color{jcolour}% + \textbf{\thepage}% + \hspace{1em}\raisebox{-0.5pt}{|}\hspace{1em}% + \textit{\@jname}, \@jyear, Vol.~\@jvolume, No.~\@jnumber +} +\fancyhead[RO]{% + \fontsize{7.8pt}{10pt}\selectfont% + \color{jcolour}% + \@runningauthor% + \hspace{1em}\raisebox{-0.5pt}{|}\hspace{1em}% + \textbf{\thepage}% + \hspace*{12pt}% +} + +\fancypagestyle{plain}{% + \fancyhf{} + \renewcommand{\headrule}{} + \fancyfoot[R]{% + \fontsize{7.8pt}{10pt}\selectfont% + \color{jcolour}% + \textbf{\thepage}\hspace*{12pt}% + } +} + + +\pagestyle{fancy} + + +\AtBeginDocument{% + \newsavebox{\@gscitedetails} + \newlength{\@gscitedetailsheight} + \newsavebox{\@gsheadbox} + \newlength{\@gsheadboxheight} + \savebox{\@gscitedetails}{% + \parbox{\textwidth-21pc+4pc+6.64pt}{% +% \normalfont{\itshape\bfseries\@jname}, \@jyear, \@jstartpage--\pageref{LastPage}\par +% \vspace{\dimexpr 8pt-1em\relax} + {\color{black!15}\rule{\linewidth}{2pt}}\par% + \vspace{\dimexpr 8pt-1em\relax}% + \fontsize{6.5pt}{9.5pt}\bfseries% + \textcolor{jcolour}{doi: xx.xxxx/xxxx}\par + Manuscript in Preparation\par + \@papercat\par + \vspace{\dimexpr 8pt-1em\relax}% + {\color{black!15}\rule{\linewidth}{2pt}}\par + }}% + \settototalheight{\@gscitedetailsheight}{\usebox{\@gscitedetails}}% + %%%% + \savebox{\@gsheadbox}{% + \parbox{\textwidth-21pc+4pc+6.64pt}{% + \normalfont% + \fontsize{8pt}{9.5pt}\selectfont% + {\itshape\bfseries\@jname}, \@jyear, \@jstartpage--\pageref{LastPage}\par + \vspace{\dimexpr 8pt-1.5pt\relax}% + \usebox{\@gscitedetails} + }% + }% + \settototalheight{\@gsheadboxheight}{\usebox{\@gsheadbox}}% +} + +\RequirePackage{alphalph} +\newalphalph{\fnsymbolmult}[mult]{\@fnsymbol}{5} + +\newcounter{authorfn} +\setcounter{authorfn}{1} +\newcommand{\authfn}[1]{% + \fnsymbolmult{#1}% +} + +\renewcommand\Authands{ and } +\renewcommand\AB@affilsepx{ and } +\renewcommand{\Authfont}{\fontsize{13pt}{18pt}\selectfont} +\renewcommand{\Affilfont}{\fontsize{9pt}{13pt}\selectfont} +\setlength{\affilsep}{21pt-9pt} + +\AtBeginDocument{ +\renewcommand{\@maketitle}{% + \textblockorigin{4pc+6.64pt}{4pc+6pt} + %%%% + \begin{textblock*}{21pc}(0pt,0pt) + \IfFileExists{\@ouplogo}{% + \includegraphics[height=\@gsheadboxheight]{\@ouplogo}% + }{% + \fbox{\begin{minipage}[b][\@gsheadboxheight]{\@gsheadboxheight} + \raggedright + Placeholder for OUP logo \@ouplogo + \end{minipage}}% + } + \hspace{12pt}% + %% Do absolutely nothing if \@jlogo is empty string + \ifdefempty{\@jlogo}{}{% + \IfFileExists{\@jlogo}{% + \includegraphics[height=\@gscitedetailsheight]{\@jlogo} + }{% + \fbox{\begin{minipage}[b][\@gsheadboxheight]{\@gsheadboxheight}% + \raggedright Placeholder for journal logo \@jlogo + \end{minipage}}% + }} + \end{textblock*} + %%% + \begin{textblock*}{\textwidth-21pc}(21pc,0pt) + \usebox{\@gsheadbox} + \end{textblock*}% + %%% + \null\vspace*{\dimexpr 13pc+11pt-5pc-6pt\relax}% + \raggedright% + {\fontsize{14pt}{16pt}\selectfont% + \ifpdf + \textls[200]{\relsize{-1}\MakeUppercase{\@papercat}} + \else %%% don't use letterspace in latex+dvi + \relsize{-1}\MakeUppercase{\@papercat}% + \fi% + \par} + \vspace{\dimexpr 26pt-18pt\relax} + {\fontsize{18pt}{27pt}\bfseries\color{jcolour}\@title\par} + \vspace{\dimexpr 26pt-13pt\relax} + \@author\par + \vspace{\dimexpr 15.5pt-1em} + {% + \renewcommand{\authfn}[1]{% + \textsuperscript{\fnsymbolmult{##1}}% + } + {\fontsize{6.5pt}{9.5pt}\selectfont\@authnotes\par}% + } + \vspace{\dimexpr 16pt-3pt-1em\relax} +} +} + +\RequirePackage[style]{abstract} +\setlength{\absleftindent}{0pt} +\setlength{\absrightindent}{0pt} +\setlength{\absparindent}{12pt} +\setlength{\absparsep}{0pt} +\setlength{\abstitleskip}{16pt-8pt-\baselineskip} +\renewcommand{\abstractnamefont}{\fontsize{10pt}{12pt}\bfseries\color{jcolour}} +\renewcommand{\abstitlestyle}[1]{{\abstractnamefont #1}} +\renewcommand{\abstracttextfont}{\fontsize{8pt}{11pt}\selectfont} +\preto{\abstract}{% + {\noindent\color{jcolour!40}\rule{\hsize+4pc+6.64pt}{3pt}}\par + \vspace*{\dimexpr 23pt-10pt\relax} +} +\appto\abstract{\noindent\raggedright\ignorespaces} +\preto\endabstract{\par} + +\newenvironment{keywords} +{\vspace*{\dimexpr 19pt-8pt-\baselineskip\relax}% +\noindent\fontsize{8pt}{11pt}\selectfont\textbf{Key words}: \ignorespaces}% +{\par} + +\DeclareFloatingEnvironment[placement=t!,name=kpt]{keypoints} + +\xapptocmd{\keypoints}{% + \begin{mdframed}[linewidth=1pt,linecolor=black, + innerleftmargin=8pt,innerrightmargin=8pt, + innertopmargin=16pt-8.2pt,innerbottommargin=6pt] + {\fontsize{8.2pt}{10pt}\bfseries Key Points\par} +}{}{} +\xpretocmd{\endkeypoints}{\end{mdframed}}{}{} + +\xapptocmd{\keypoints*}{% + \begin{mdframed}[linewidth=1pt,linecolor=black, + innerleftmargin=8pt,innerrightmargin=8pt, + innertopmargin=16pt-8.2pt,innerbottommargin=6pt] + {\fontsize{8.2pt}{10pt}\bfseries Key Points\par} +}{}{} +\xpretocmd{\endkeypoints*}{\end{mdframed}}{}{} + + +\if@twocolumn + \NewEnviron{frontmatter} + {\twocolumn[% + \BODY% + \vspace*{\dimexpr 16pt-3pt-1em\relax} + {\noindent\color{jcolour!40}\rule{\hsize+4pc+6.64pt}{3pt}}\par + \vspace*{\dimexpr 23pt-1em\relax}]% + \begin{figure*}[b!] + \fontsize{6.5pt}{9.5pt}\selectfont% + \hrule% + \vspace{\dimexpr 14pt-6.5pt\relax}% + \textbf{Compiled on:} \today.\par + Draft manuscript prepared by the author.\par + \end{figure*} + } +\else + \NewEnviron{frontmatter}{% + \BODY% + \vspace*{\dimexpr 16pt-3pt-1em\relax} + {\noindent\color{jcolour!40}\rule{\hsize+4pc+6.64pt}{3pt}}\par + \vspace*{\dimexpr 23pt-1em\relax}% + \begin{figure*}[b!] + \fontsize{6.5pt}{9.5pt}\selectfont% + \hrule% + \vspace{\dimexpr 14pt-6.5pt\relax}% + \textbf{Compiled on:} \today.\par + Draft manuscript prepared by the author.\par + \end{figure*} + } +\fi + +\setcounter{secnumdepth}{0} +\titleformat*{\section}{\fontsize{10pt}{12pt}\bfseries\color{jcolour}} +\titlespacing*{\section}{0pt}{26.5pt-1em}{16pt-1em} +\titleformat*{\subsection}{\fontsize{8.5pt}{11pt}\bfseries\color{jcolour}} +\titlespacing*{\subsection}{0pt}{2pc-1em}{17pt-1em} +\titleformat*{\subsubsection}{\normalsize\bfseries\slshape} +\titlespacing*{\subsubsection}{0pt}{\baselineskip}{0pt} +\titleformat{\paragraph}[runin]{\normalsize\itshape}{\theparagraph}{0pt}{}[.\enspace] +\titlespacing*{\paragraph}{0pt}{\baselineskip}{0pt} + \titleformat{\subparagraph}[runin]{\relsize{-1}\uppercase}{\thesubparagraph}{0pt}{}[.\enspace] +\titlespacing*{\subparagraph}{0pt}{\baselineskip}{0pt} + +\RequirePackage{enumitem} +\setlist{noitemsep} +\setlist[itemize]{leftmargin=12pt,topsep=16pt-1em} +\setlist[enumerate] +{itemindent=14pt,topsep=16.8pt-1em, + label={\roman*.},labelsep=7pt, + labelwidth=*,leftmargin=*,align=right} + + +% quotes and epigraphs +\RequirePackage{quoting} +\newcommand{\quotefont}{\fontsize{6.5pt}{9.5pt}\selectfont} +\quotingsetup{vskip=16pt-1em,indentfirst=false,font={quotefont},leftmargin=12pt,rightmargin=12pt} + +\renewenvironment{quote}{\begin{quoting}}{\end{quoting}} + +\renewenvironment{quotation}{\begin{quoting}}{\end{quoting}} + +\newenvironment{epigraph}[1] +{\begin{quoting}[font={itshape,fontsize{7.5pt}{10.5pt}},vskip=15pt-1em,leftmargin=0pt,rightmargin=0pt]% + \def\@quotesource{#1}} +{\par\vspace{\dimexpr 15pt-1em\relax}{\upshape---\@quotesource}\end{quoting}} + +% Space above/below equations +\g@addto@macro\normalsize{% + \setlength\abovedisplayskip{\baselineskip}% + \setlength\belowdisplayskip{\baselineskip}% + \setlength\abovedisplayshortskip{\baselineskip}% + \setlength\belowdisplayshortskip{\baselineskip}% +} + +\RequirePackage{stfloats} +\RequirePackage{booktabs} +\RequirePackage{tabularx} +% Left-, right- and center-aligned auto-wrapping column types +\newcolumntype{L}{>{\raggedright\arraybackslash}X} +\newcolumntype{R}{>{\raggedleft\arraybackslash}X} +\newcolumntype{C}{>{\centering\arraybackslash}X} + +\AtBeginEnvironment{tabularx}{% + \fontsize{7pt}{10pt}\selectfont +} +\AtBeginEnvironment{tabular}{% + \fontsize{7pt}{10pt}\selectfont +} + +\setlength{\aboverulesep}{11pt-1em} +\setlength{\belowrulesep}{11pt-1em} +\setlength{\heavyrulewidth}{0.5pt} +\setlength{\lightrulewidth}{0.5pt} +\arrayrulecolor{jcolour} + + +\newcommand{\tnote}[1]{\textsuperscript{\textit{#1}}} +\newlist{tablenotes}{itemize}{1} +\setlist[tablenotes]{label={},labelsep=0pt,leftmargin=0pt,topsep={\dimexpr 12pt-1em\relax}} +\appto{\tablenotes}{\fontsize{6pt}{9pt}\selectfont} + +\RequirePackage[tableposition=top]{caption} +\DeclareCaptionFont{figcaptionfont}{\fontsize{6pt}{9pt}\selectfont} +\DeclareCaptionFont{tabcaptionfont}{\fontsize{7pt}{9pt}\selectfont} +\captionsetup{justification=justified,singlelinecheck=false,labelfont={bf},labelsep=period} +\captionsetup*[figure]{font=figcaptionfont,skip=10pt} +\captionsetup*[table]{font=tabcaptionfont,skip=10pt-1em} + +% Skips for floats +\setlength{\floatsep}{1pc+6pt} +\setlength{\intextsep}{1pc+6pt} +\setlength{\textfloatsep}{1pc+6pt} + +% References +\if@numrefs + \RequirePackage[numbers]{natbib} + \bibliographystyle{vancouver-authoryear} +\fi +\if@alpharefs + \RequirePackage{natbib} + \bibliographystyle{dcu} +\fi +\setlength{\bibhang}{11pt} +\setlength{\bibsep}{0pt} +\renewcommand{\bibnumfmt}[1]{#1.} \ No newline at end of file diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/oup.pdf b/inst/rmarkdown/templates/gigascience_article/skeleton/oup.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cbaed66dd3982fb7e2e2643de57253860c70d66d GIT binary patch literal 11195 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 C%zMQE literal 0 HcmV?d00001 diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib b/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib new file mode 100644 index 000000000..906d9b9eb --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib @@ -0,0 +1,130 @@ +@Book{Anderberg83, + author = {Anderberg, M. R.}, + title = {Cluster Analysis for Applications}, + publisher = {New York: Academic Press}, + year = {1983}, + } + + @Manual{R:2010, + title = {R: A Language and Environment for Statistical Computing}, + author = {{R Development Core Team}}, + organization = {Vienna, Austria: R Foundation for Statistical Computing}, + address = {}, + year = {2012}, + note = {{ISBN} 3-900051-07-0, http://www.R-project.org}, + url = {http://www.R-project.org}, + } + + @Manual{R:2008, + title = {R: A Language and Environment for Statistical Computing}, + author = {{R Development Core Team}}, + organization = {R Foundation for Statistical Computing}, + address = {Vienna, Austria}, + year = {2008}, + note = {{ISBN} 3-900051-07-0}, + url = {http://www.R-project.org}, + } + + @Article{Arabie80, + author = {Arabie, P. and Carroll, J. D.}, + title = {MAPCLUS: A mathematical programming approach to fitting the ADCLUS models}, + journal = {Psychometrika}, + year = {1980 }, + volume = {445}, + pages = {211-35}, + } + + +@book{Tufte:1990, + Address = {Cheshire, Connecticut}, + Author = {E. R. Tufte}, + Publisher = {Graphics Press}, + Title = {{Envisioning Information}}, + Year = {1990}} + + +@book{Tufte:1983, + Address = {Cheshire}, + Author = {E. R. Tufte}, + Publisher = {Graphics Press}, + Title = {{The Visual Display of Quantitative Information}}, + Year = {1983}} + +@book{Cleveland:1994, + Address = {Summit}, + Author = {W. S. Cleveland}, + Edition = {Revised}, + Publisher = {Hobart Press}, + Title = {{The Elements of Graphing Data}}, + Year = {1994}} + +@book{Cleveland:1993, + Address = {Summit}, + Author = {W. S. Cleveland}, + Publisher = {Hobart Press}, + Title = {{Vizualizing Data}}, + Year = {1993}} + + @TECHREPORT{Ball65 , + AUTHOR = {Ball, G. H. and Hall, D. J. }, + TITLE = {A novel method of data analysis and pattern classification }, + INSTITUTION = {Stanford Research Institute, California }, + YEAR = {1965 }, + } + + @Article{Banfield93, + author = {Banfield, J. D. and Raftery, A. E.}, + title = {Model-Based Gaussian and Non-Gaussian Clustering }, + journal = {Biometrics }, + year = {1993 }, + volume = {49}, + pages = {803--21}, + } + + @Article{Beale69, + author = {Beale, E. M. L.}, + title = {Euclidean cluster analysis }, + journal = {Bulletin of the International Statistical Institute }, + year = {1969 }, + volume = {43}, + pages = {92-94}, + } + + @Article{Bensmail, + author = {Bensmail, H. }, + title = {Model-based Clustering with Noise: Bayesian inference and estimation }, + } + +@Article{Bezdek74, + author = {Bezdek, J. C.}, + title = {Numerical taxonomy with fuzzy sets}, + journal = {Journal of Methematical Biology}, + year = {1974}, + volume = {1}, + pages = {57-71}, + } + +@article{Cox:1972, + Author = {D. R. Cox}, + Journal = {J. R. Statist. Soc. {\rm B}}, + Pages = {187--220}, + Title = {{Regression models and life tables (with Discussion)}}, + Volume = {34}, + Year = {1972}} + +@article{Hear:Holm:Step:quan:2006, + Author = {Heard, Nicholas A. and Holmes, Christopher C. and Stephens, David A.}, + Journal = {J. Am. Statist. Assoc.}, + Keywords = {bayesian hierarchical clustering; gene expression profiles; Microarrays}, + Pages = {18--29}, + Title = {A Quantitative Study of Gene Regulation Involved in the Immune Response of {A}nopheline Mosquitoes: {A}n Application of {B}ayesian Hierarchical Clustering of Curves}, + Volume = {101}, + Year = {2006}} + +@article{Fan:2004, + Author = {Fan, J. and Peng, H.}, + Journal = {Ann. Statist.}, + Pages = {928--61}, + Title = {{Nonconcave penalized likelihood with a diverging number of parameters}}, + Volume = {32}, + Year = {2004}} \ No newline at end of file diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd new file mode 100755 index 000000000..e65366342 --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd @@ -0,0 +1,135 @@ +--- +title: Title of submission to GigaScience journal +author: + - name: Alice Anonymous + email: alice@example.com + affiliation: + - 1 + orchid: 0000-0000-0000-0001 + note: + - 1 + - 2 + - name: Bob Security + email: bob@example.com + affiliation: + - 2 + - 3 + note: + - 1 + - 2 + - name: Charlie Chaplin + email: cc@actor.com + affiliation: + - 3 + orchid: 0000-0000-0000-0002 +authnote: + - id: 1 + note: alice@example.com; bob@example.com + - id: 2 + note: Contributed equally +affiliation: + - id: 1 + name: Some Institute of Technology + address: Some Department, Street, City, State, Zip + - id: 2 + name: Another University + - id: 3 + name: British Academy of Film and Television Arts + address: 195 Piccadilly, London, England, UK W1J 9LN +runningauthor: Anonymous et al. +papercat: Paper +abstract: | + This is my abstract. +author_summary: | + This is my author summary; I need to find out what that means. +keywords: + - foo + - bar + - baz +bibliography: paper-refs.bib +output: rticles::gigascience_article +# # You can use 'highlighting-macros', 'header-includes' (which are lists) to override some TeX settings, e.g., +# header-includes: +# - \setcounter{errorcontextlines}{4} +# - \setcounter{secnumdepth}{2} +# # You can use 'preamble' (which is a scalar) to override some TeX settings, e.g., +# preamble: | +# \setcounter{errorcontextlines}{4} +# \setcounter{secnumdepth}{2} +--- + + +_Text *not* based on a GigaScience sample manuscript, see [https://academic.oup.com/gigascience/pages/instructions_to_authors](https://academic.oup.com/gigascience/pages/instructions_to_authors)_ + +# Instructions to Authors + +There are two contradictory suggested TeX formats; this template is based on the former, which is can also be used online at Overleaf. The Overleaf template is based on oup-contemporary.cls and dates from 2017, whereas the download-only template is based gbe.cls and dates from 2008. + +## Submission through Overleaf +For creating manuscripts in LaTeX, Gigascience recommends the use of its own LaTeX class files. Our class files are available online at Overleaf and also as a downloadable package via the links below. + +Overleaf is a free, collaborative online LaTeX editor that allows you to write your manuscript in a TeX or rich text environment, to generate PDF outputs as you write, and to share your manuscript with co-authors and collaborators. When ready for submission, the manuscript files can be downloaded from Overleaf and submitted to the journal’s online submission system. + +[Overleaf Template](https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs) + +## Additional information for TeX/LaTeX users + +Please use [OUP’s TeX template and BibTeX stylefile](https://academic.oup.com/DocumentLibrary/GigaScience/GIGSCI%20TeX%20template.zip) if you use TeX format. When submitting TeX submissions, please submit your TeX file as the main manuscript file and your bib/bbl file as a dependent file. Please also convert your TeX file into a PDF and submit this PDF as an additional file with the name 'Reference PDF'. This PDF will be used by our production team as a reference point to check the layout of the article as the author intended. Please also note that all figures must be coded at the end of the TeX file and not inline. + +All relevant editable source files must be uploaded during the submission process. Failing to submit these source files will cause unnecessary delays in the production process. + +# Introduction + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget porta erat. Morbi consectetur est vel gravida pretium. Suspendisse ut dui eu ante cursus gravida non sed sem. Phasellus mauris velit, dapibus finibus elementum vel, pulvinar non tellus. Nunc pellentesque pretium diam, quis maximus dolor faucibus id. Nunc convallis sodales ante, ut ullamcorper est egestas vitae. Nam sit amet enim ultrices, ultrices elit pulvinar, volutpat risus. + + +Plain text +End a line with two spaces to start a new paragraph. +*italics* and _italics_ +**bold** and __bold__ +``` +superscript^2^ +``` +``` +~~strikethrough~~ +``` +[link](www.rstudio.com) +# Header 1 +## Header 2 +### Header 3 +#### Header 4 +##### Header 5 +###### Header 6 +endash: -- +emdash: --- +ellipsis: ... +``` +inline equation: $A = \pi*r^{2}$ +``` + +horizontal rule (or slide break): +*** +> block quote +* unordered list +* item 2 + + sub-item 1 + + sub-item 2 + +1. ordered list +2. item 2 + + sub-item 1 + + sub-item 2 +Table Header | Second Header +------------- | ------------- +Table Cell | Cell 2 +Cell 3 | Cell 4 + +``` +This will be wrapped with beginverbatim endverbatim +``` + + +Here are two sample references: @Arabie80, @Tufte:1983. + +# References {#references .unnumbered} + diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/vancouver-authoryear.bst b/inst/rmarkdown/templates/gigascience_article/skeleton/vancouver-authoryear.bst new file mode 100644 index 000000000..f4b72c895 --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/vancouver-authoryear.bst @@ -0,0 +1,1812 @@ +%% natbib-compatible BibTeX bibliography style `vancouver-authoryear' +%% v1.1 2017/07/2012 Remove sorting by authors' names +%% +%% Use +%% +%% \usepackage{natbib} +%% \bibliographystyle{vancouver-authoryear} +%% +%% and cite references with (e.g.) +%% +%% \cite{smith77} % to get a "[1]" in the text +%% \citep{smith77} % to get a "[1]" in the text +%% \citet{smith77} % to get a "Smith [1]" in the text +%% \citeauthor{smith77} % to get a "Smith" in the text +%% +%% The changes below are inspired by similar changes made to +%% splncs03.bst by Maurizio "Titto" Patrignani of +%% Dipartimento di Informatica e Automazione Universita' Roma Tre. +%% Unfortunately, splncs03.bst was not compatible with natbib (because it +%% was not built with author-year capability). +%% +%% This is derived from `splncsnat.bst', +%--------------------------------------------------------------------- + +ENTRY + { address + assignee % for patents + author + booktitle % for articles in books + chapter % for incollection, esp. internet documents + cartographer % for maps + day + edition + editor + eid + howpublished + institution % for technical reports + inventor % for patents + journal + key + month + note + number + organization + pages + part + publisher + school + series + title + type + url + volume + word + year + } + {} + { label extra.label sort.label short.list } +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 := +} +%% Declaration of string variables +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$ + { " " * 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} +%{ duplicate$ empty$ +% 'pop$ +% 'write$ +% if$ +% newline$ +%} +% +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} +{ "" * before.all 'output.state := +} + +FUNCTION {add.semicolon} +{ + ";" * + no.blank.or.punct +} + +FUNCTION {date.block} +{ + "." * + no.blank.or.punct +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% LOGICAL `NOT', `AND', AND `OR' % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Logical 'not': +% If the first element on the stack is A then this function +% does the following: +% push { #0 } +% push { #1 } +% So now the first 3 elements of the stack are +% { #1 } { #0 } A +% The first 3 are popped and subjected to 'if': +% If A > 0 then { #0 } is executed, else { #1 } is executed: +% if A > 0 +% then 0 +% else 1 +% So consider integers as logicals, where 1 = true and 0 = false, +% then this does +% (if A then false else true) +% which is a logical 'not'. + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% GENERAL PURPOSE FUNCTIONS FOR FORMATTING % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% issues warning if field is empty +% call with +% "field" field warning.if.empty +% Note that the first field must be between quotes +% because it is the fieldname for use in the warning message. +% + +FUNCTION {warning.if.empty} +{ empty$ + { "No " swap$ * " in " * cite$ * warning$ } + { pop$ } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % encloses string in pre- and postfix string + % call with + % prefix postfix S enclose.check + % delivers empty string if S empty + % +FUNCTION {enclose.check} +{ duplicate$ empty$ + { pop$ pop$ pop$ + "" + } + { swap$ * * } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% emphasizes top of stack +% call with +% string" emphasize.check +% + +FUNCTION {emphasize.check} +{ "\Bem{" swap$ + "}" swap$ + enclose.check +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % brackets top of stack + % call with + % "string" bracket.check + % +FUNCTION {bracket.check} +{ "[" swap$ + "]" swap$ + enclose.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % parenthesizes top of stack + % call with + % "string" parenthesize + % +FUNCTION {parenthesize.check} +{ "(" swap$ + ")" swap$ + enclose.check +} + +STRINGS {z} + +FUNCTION {remove.dots} +{ 'z := % expects string on top of the stack, pops the string and assigns it to variable z + "" % push empty string + { z empty$ not } % returns 0 if variable z is empty + { z #1 #1 substring$ % push the first character of variable z + z #2 global.max$ substring$ 'z := % assigns the 2nd to last character of variable z to variable z + duplicate$ "\" = % pushes 1 if the last character is "\", otherwise 0 + { * % concatenates the last 2 literals + z #1 #1 substring$ % push the first character of variable z + z #2 global.max$ substring$ 'z := % assigns the 2nd to last character of variable z to variable z + * % concatenates the last 2 literals, i.e. every character, even a dot, following a "\" will be printed + } + { duplicate$ "." = % pushes 1 if the last character is ".", otherwise 0 + 'pop$ % pushes the pop$ function + { * } % concatenates the last 2 literals + if$ % pops the last character if it is a dot, otherwise concatenates it with the string on top of the stack + } + if$ + } + while$ +} + +INTEGERS {l} +FUNCTION{string.length} +{ + #1 'l := + { duplicate$ duplicate$ #1 l substring$ = not } + { l #1 + 'l := } + while$ + pop$ l +} + +STRINGS {replace find text} +INTEGERS {find_length} +FUNCTION {find.replace} +{ + 'replace := + 'find := + 'text := + find string.length 'find_length := + "" + { text empty$ not } + { text #1 find_length substring$ find = + { + replace * + text #1 find_length + global.max$ substring$ 'text := + } + { text #1 #1 substring$ * + text #2 global.max$ substring$ 'text := + } + 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} +{ skip$ } + +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.cartographers} +{ "cartographers" } + +FUNCTION {bbl.cartographer} +{ "cartographer" } + +FUNCTION {bbl.inventors} +{ "inventors" } + +FUNCTION {bbl.inventor} +{ "inventor" } + +FUNCTION {bbl.assignees} +{ "assignees" } + +FUNCTION {bbl.assignee} +{ "assignee" } + +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.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +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} {"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."} + +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 {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$ +} + +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 {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + "." ". " find.replace '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 #6 + #1 + = + numnames #6 + > 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.org} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + 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 + %%"." " " "author" find.replace format.names +} + +FUNCTION {format.organizations} +{ organization "organization" format.names.org +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {get.bbl.cartographer} +{ cartographer num.names$ #1 > 'bbl.cartographers 'bbl.cartographer if$ } + +FUNCTION {get.bbl.inventor} +{ inventor num.names$ #1 > 'bbl.inventors 'bbl.inventor if$ } + +FUNCTION {get.bbl.assignee} +{ assignee num.names$ #1 > 'bbl.assignees 'bbl.assignee if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} + +FUNCTION {format.assignees} +{ assignee "assignee" format.names.org duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.assignee + * + } + if$ +} + +FUNCTION {format.cartographers} +{ cartographer "cartographer" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.cartographer + * + } + if$ +} + +FUNCTION {format.inventors} +{ inventor "inventor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.inventor + * + } + 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 +} + + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor } + if$ + } + { author } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * 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.journal.date} +{ + month "month" bibinfo.check + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { + swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + after.sentence 'output.state := + } + if$ +} + +FUNCTION {format.date} +{ + no.blank.or.punct + ";" + 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$ + * + } + if$ +} + +FUNCTION {format.btitle} +{ 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$ 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 = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { 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$ +} +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.vol.num} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + 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.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + 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$ * + format.journal.pages +} + +FUNCTION {format.chapter.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 + } + + 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.title} + { format.title 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.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.check format.org.or.pub +} +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 + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {misc} +{ output.bibitem + format.authors "author" output.check + format.editors "author and editor" output.check + format.title "title" output.check + type missing$ + { skip$ } +% { format.type "type" output.check } + { "type" output.check } + %%{ inbrackets type output } + if$ + new.block + format.publisher.address output + format.date "year" output.check + new.block + format.note output + new.block + howpublished new.block.checka + howpublished "howpublished" bibinfo.check output +% output.web.refs % urlbst + fin.entry + empty.misc.check +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + organization empty$ + 'skip$ + { author empty$ + { + format.organizations "organization" output.check + } + { + "; " * + no.blank.or.punct + format.organizations "organization" output.check + } + if$ + } + if$ + new.block + format.title "title" output.check + type missing$ + { skip$ } + { "type" output.check } + if$ + new.block + journal + remove.dots + "journal" bibinfo.check + "journal" output.check + format.journal.date "year" output.check + add.semicolon + format.vol.num.pages output + new.block + format.note output +% output.web.refs % urlbst + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { editor empty$ + { format.organizations "organization" output.check } + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull + "author and editor" editor either.or.check + } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + new.block + format.edition output + new.sentence + author empty$ not + editor empty$ not + and + { format.editors "author and editor" output.check } + 'skip$ + if$ + format.number.series output + format.publisher.address output + format.date "year" output.check + new.block + format.note output +% output.web.refs % urlbst + fin.entry +} +FUNCTION {booklet} +{ misc } + +FUNCTION {dictionary} +{ output.bibitem + format.booktitle "booktitle" output.check + format.bvolume output + new.block + format.edition output + new.sentence + format.publisher.address output + format.date "year" output.check + format.btitle "title" output.check + add.semicolon + add.blank + format.pages "pages" output.check + new.block + format.note output +% output.web.refs % urlbst + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + format.authors "author" output.check + new.block + chapter "chapter" output.check + new.block + format.in.ed.title "title" output.check + format.bvolume output + format.edition output + new.sentence + format.number.series output + format.publisher.address output + format.date "year" output.check + date.block + add.blank + format.pages "pages" output.check + new.block + format.note output +% output.web.refs % urlbst + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.edition output + new.sentence + format.number.series output + format.publisher.address output + format.date "year" output.check + date.block +% add.blank + format.pages "pages" output.check + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.in.ed.booktitle "booktitle" output.check + format.bvolume output + new.sentence + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + date.block + add.blank + format.pages "pages" output.check + new.block + format.note output +% output.web.refs % urlbst + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output +% add.colon + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.date "year" output.check + % new.block ++++ REMOVED (to get comma before note) + format.note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" bibinfo.warn output +% address "address" bibinfo.check output + format.date "year" output.check +% new.block +% format.note output +% output.web.refs % urlbst + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output +% add.colon + new.block + format.btitle "title" output.check + format.bvolume output + new.sentence + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + % new.block ++++ REMOVED (to get comma before note) + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title + "title" output.check + new.block + format.institution.address output + format.date "year" output.check +% format.tr.number output.nonnull +% new.block +% format.note output +% output.web.refs % urlbst + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output +% add.colon + new.block + format.title "title" output.check + format.date "year" output.check + % new.block ++++ REMOVED (to get comma before note) + format.note "note" output.check + 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} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +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.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { 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 {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor 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 number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "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$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ +% "\providecommand{\urlprefix}{URL }" ++++ EMPTIED by default + "\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 `splncsnat.bst'. diff --git a/inst/rmarkdown/templates/gigascience_article/template.yaml b/inst/rmarkdown/templates/gigascience_article/template.yaml new file mode 100644 index 000000000..ff7c3b440 --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/template.yaml @@ -0,0 +1,5 @@ +name: GigaScience Journal Article +description: > + Template for creating an article for submission to GigaScience +create_dir: true + From 1dd47b85b79677e2ca7c3667aab1e06a38e30d42 Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Sat, 17 Feb 2018 23:50:18 -0600 Subject: [PATCH 02/16] expose more configuration to through the skeleton file header --- .../resources/template.tex | 21 +++++++++------- .../gigascience_article/skeleton/skeleton.Rmd | 24 +++++++++++++++++-- tests/testthat/test_formats.R | 1 + 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/inst/rmarkdown/templates/gigascience_article/resources/template.tex b/inst/rmarkdown/templates/gigascience_article/resources/template.tex index 8da4991e5..99548b21b 100644 --- a/inst/rmarkdown/templates/gigascience_article/resources/template.tex +++ b/inst/rmarkdown/templates/gigascience_article/resources/template.tex @@ -7,22 +7,25 @@ % num-refs/alpha-refs: numeric/author-year citation and bibliography toggle %\documentclass[letterpaper]{oup-contemporary} -\documentclass[a4paper,num-refs]{oup-contemporary} +%\documentclass[a4paper,num-refs]{oup-contemporary} +\documentclass[$paper-refs$]{oup-contemporary} -%%% Journal toggle; only specific options recognised. -%%% (Only "gigascience" and "general" are implemented now. Support for other journals is planned.) -\journal{gigascience} - -% declare highlighting-macros if any -$if(highlighting-macros)$ -$highlighting-macros$ -$endif$ +%# - removed to skeleton.Rmd - start +%# %%% Journal toggle; only specific options recognised. +%# %%% (Only "gigascience" and "general" are implemented now. Support for other journals is planned.) +%# \journal{gigascience} +%# - removed to skeleton.Rmd - end % include header-includes if any $for(header-includes)$ $header-includes$ $endfor$ +% declare highlighting-macros if any +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ + % before include preamble if any $preamble$ % after include preamble if any diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd index e65366342..ce36f17c4 100755 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd @@ -56,6 +56,23 @@ output: rticles::gigascience_article # preamble: | # \setcounter{errorcontextlines}{4} # \setcounter{secnumdepth}{2} +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# % Please note that whilst this template provides a +# % preview of the typeset manuscript for submission, it +# % will not necessarily be the final publication layout. +# % +# % letterpaper/a4paper: US/UK paper size toggle +# % num-refs/alpha-refs: numeric/author-year citation and bibliography toggle +# +# %\documentclass[letterpaper]{oup-contemporary} +# \documentclass[a4paper,num-refs]{oup-contemporary} +# +# %%% Journal toggle; only specific options recognised. +# %%% (Only "gigascience" and "general" are implemented now. Support for other journals is planned.) +# \journal{gigascience} +header-includes: + - \journal{gigascience} +paper-refs: a4paper,num-refs --- @@ -84,7 +101,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget porta er Plain text -End a line with two spaces to start a new paragraph. +End a line with two spaces to start a new paragraph. *italics* and _italics_ **bold** and __bold__ ``` @@ -119,10 +136,13 @@ horizontal rule (or slide break): 2. item 2 + sub-item 1 + sub-item 2 + +``` Table Header | Second Header ------------- | ------------- Table Cell | Cell 2 -Cell 3 | Cell 4 +Cell 3 | Cell 4 +``` ``` This will be wrapped with beginverbatim endverbatim diff --git a/tests/testthat/test_formats.R b/tests/testthat/test_formats.R index ba9f528ba..ee7092b29 100644 --- a/tests/testthat/test_formats.R +++ b/tests/testthat/test_formats.R @@ -47,3 +47,4 @@ test_format("sim_article") test_format("peerj_article") test_format("amq_article") test_format("mdpi_article") +test_format("gigascience_article") From c08d44a4f0bb3ddb0011f7c607180a9b01490887 Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Mon, 19 Feb 2018 19:51:42 -0600 Subject: [PATCH 03/16] initial implementation complete --- .../resources/template.tex | 28 +- .../gigascience_article/skeleton/skeleton.Rmd | 538 +++++++++++++++--- 2 files changed, 477 insertions(+), 89 deletions(-) diff --git a/inst/rmarkdown/templates/gigascience_article/resources/template.tex b/inst/rmarkdown/templates/gigascience_article/resources/template.tex index 99548b21b..7ad3673e6 100644 --- a/inst/rmarkdown/templates/gigascience_article/resources/template.tex +++ b/inst/rmarkdown/templates/gigascience_article/resources/template.tex @@ -3,29 +3,18 @@ % preview of the typeset manuscript for submission, it % will not necessarily be the final publication layout. % -% letterpaper/a4paper: US/UK paper size toggle -% num-refs/alpha-refs: numeric/author-year citation and bibliography toggle +\documentclass[$paper$,$reftype$]{$document-class$} -%\documentclass[letterpaper]{oup-contemporary} -%\documentclass[a4paper,num-refs]{oup-contemporary} -\documentclass[$paper-refs$]{oup-contemporary} - -%# - removed to skeleton.Rmd - start -%# %%% Journal toggle; only specific options recognised. -%# %%% (Only "gigascience" and "general" are implemented now. Support for other journals is planned.) -%# \journal{gigascience} -%# - removed to skeleton.Rmd - end +% declare highlighting-macros if any +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ % include header-includes if any $for(header-includes)$ $header-includes$ $endfor$ -% declare highlighting-macros if any -$if(highlighting-macros)$ -$highlighting-macros$ -$endif$ - % before include preamble if any $preamble$ % after include preamble if any @@ -85,7 +74,12 @@ \end{keywords} \end{frontmatter} - +\begin{keypoints*} +\begin{itemize} +$for(keypoints)$\item{$keypoints$}$sep$ +$endfor$ +\end{itemize} +\end{keypoints*} $body$ diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd index ce36f17c4..f3cc573b3 100755 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd @@ -1,5 +1,8 @@ --- +# title: title of article here title: Title of submission to GigaScience journal + +# author: list of {name,email,affiliation{*},orchid?,note{*}} author: - name: Alice Anonymous email: alice@example.com @@ -22,11 +25,19 @@ author: affiliation: - 3 orchid: 0000-0000-0000-0002 + + +# authnote: list of {id,note} +# - author footnotes +# - note for GigaScience that id 1 is should be corresponding authors' addresses authnote: - id: 1 note: alice@example.com; bob@example.com - id: 2 note: Contributed equally + +# affiliation: list of {id,name,address?} +# - authors' institutional affiliations affiliation: - id: 1 name: Some Institute of Technology @@ -36,120 +47,503 @@ affiliation: - id: 3 name: British Academy of Film and Television Arts address: 195 Piccadilly, London, England, UK W1J 9LN + +# runningauthor: author's name in running title runningauthor: Anonymous et al. -papercat: Paper + +# papercat (paper category) - one of: +# - Commentary +# - http://academic.oup.com/gigascience/pages/commentary +# - Data Note +# - http://academic.oup.com/gigascience/pages/data_note +# - Research +# - http://academic.oup.com/gigascience/pages/research +# - Review +# - http://academic.oup.com/gigascience/pages/review +# - Technical Note +# - http://academic.oup.com/gigascience/pages/technical_note +papercat: Technical Note + +# abstract: abstract structured according to instructions for paper category abstract: | - This is my abstract. -author_summary: | - This is my author summary; I need to find out what that means. + The Abstract (250 words maximum) should be structured according to the instructions for the corresponding 'papercat' (paper category, see https://academic.oup.com/gigascience/pages/instructions_to_authors). + +# keywords: keywords presented as a semicolon-separated list below the abstract keywords: - - foo - - bar - - baz -bibliography: paper-refs.bib -output: rticles::gigascience_article -# # You can use 'highlighting-macros', 'header-includes' (which are lists) to override some TeX settings, e.g., -# header-includes: + - Keyword 1 + - keyword 2 + - keyword 3 (Three to ten keywords representing the main content of the article) + +# keypoints: key points presented as a bullet list in a box at the top of the second page +keypoints: + - This is the first point + - This is the second point + - One last point. + +# highlighting-macros: list of {latex_command+} +# - This may be for syntax-highlighting source-code, but I'm not sure +# - Value is a list; each list-member is a TeX snippet +# - This is included just before 'header-includes' + +# header-includes: list of {latex_command+} +# - Value is a list; each list-member is a TeX snippet +# - You can use 'header-includes' to set or override some TeX settings, e.g., +# - This is included just before 'preamble' +# - concerning specific keys: +# - journal: Only "gigascience" and "general" are implemented now. +# - usepackage: use packages that are not declared in the TeX template used by pandoc +# - bibliographystyle: apples to the natbib TeX package +# - see http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/natbib/natbib.pdf +header-includes: + - \journal{gigascience} + - \usepackage{natbib} + - \bibliographystyle{vancouver-authoryear} # - \setcounter{errorcontextlines}{4} # - \setcounter{secnumdepth}{2} -# # You can use 'preamble' (which is a scalar) to override some TeX settings, e.g., + +# preamble: Tex literal (newlines will be stripped out) +# - Value is a TeX snippet that will be collapsed to a single line # preamble: | # \setcounter{errorcontextlines}{4} # \setcounter{secnumdepth}{2} -# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# % Please note that whilst this template provides a -# % preview of the typeset manuscript for submission, it -# % will not necessarily be the final publication layout. -# % -# % letterpaper/a4paper: US/UK paper size toggle -# % num-refs/alpha-refs: numeric/author-year citation and bibliography toggle -# -# %\documentclass[letterpaper]{oup-contemporary} -# \documentclass[a4paper,num-refs]{oup-contemporary} -# -# %%% Journal toggle; only specific options recognised. -# %%% (Only "gigascience" and "general" are implemented now. Support for other journals is planned.) -# \journal{gigascience} -header-includes: - - \journal{gigascience} -paper-refs: a4paper,num-refs ---- +# document-class - the TeX document class - for GigaScience, muct be oup-contemporary +document-class: oup-contemporary + +# paper: 'a4paper' or 'letterpaper' +paper: letterpaper +#paper: a4paper + +# reftype: 'num-refs' or 'alpha-refs', but 'alpha-refs' may not work ... +reftype: num-refs +#reftype: alpha-refs + +# pandoc_args: arguments to pandoc +# - enable with '+' and disable with '-' +# - see: https://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#pandoc_markdown +# - concerning specific keys: +# raw_tex: +# - allow direct inclusion of TeX +# - see https://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#raw-tex` +pandoc_args: +raw_tex + +# Using rmarkdown for citations is not recommended: +# - TeX citations give you more flexibility +# - e.g., references can be deleted or added subsequent to translation from rmarkdown to TeX +# bibliography and csl are only needed for citations from rmarkdown +# bibliography: the file with the bibtex entries +#bibliography: paper-refs.bib +# csl: this is needed only for citations from rmarkdown +#csl: gigascience.csl -_Text *not* based on a GigaScience sample manuscript, see [https://academic.oup.com/gigascience/pages/instructions_to_authors](https://academic.oup.com/gigascience/pages/instructions_to_authors)_ +# output: specifies the R class used to translate rmarkdown to tex and pdf +output: rticles::gigascience_article +--- -# Instructions to Authors +\begin{epigraph} {\small{\href{https://academic.oup.com/gigascience/pages/instructions_to_authors}{GigaScience Instructios to Authors}}} +Sample epigraph: For creating manuscripts in LaTeX, Gigascience recommends the use of its own LaTeX class files. Our class files are available online \href{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}{at Overleaf https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}. The GigaScience "oup-contemporary.cls" class obtained via this Overleaf link was used as the basis of this "rticle". +\end{epigraph} -There are two contradictory suggested TeX formats; this template is based on the former, which is can also be used online at Overleaf. The Overleaf template is based on oup-contemporary.cls and dates from 2017, whereas the download-only template is based gbe.cls and dates from 2008. +TeX/LaTeX users: Please use OUP’s TeX template and BibTeX stylefile if you use TeX format. During the TeX submission process, please submit your TeX file as the main manuscript file and your bib/bbl file as a dependent file. Please also convert your TeX file into a PDF and submit this PDF as an additional file with the name 'Reference PDF'. This PDF will be used by internal staff as a reference point to check the layout of the article as the author intended. If you have used another template for your manuscript, or if you do not wish to use BibTeX, then please submit your manuscript as a DVI file. We do not recommend converting to RTF. For all TeX submissions, all relevant editable source must be submitted during the submission process. Failing to submit these source files will cause unnecessary delays in the publication procedures. [https://academic.oup.com/gigascience/pages/technical_note](https://academic.oup.com/gigascience/pages/technical_note) -## Submission through Overleaf -For creating manuscripts in LaTeX, Gigascience recommends the use of its own LaTeX class files. Our class files are available online at Overleaf and also as a downloadable package via the links below. +# Notes for using this `rticle` template -Overleaf is a free, collaborative online LaTeX editor that allows you to write your manuscript in a TeX or rich text environment, to generate PDF outputs as you write, and to share your manuscript with co-authors and collaborators. When ready for submission, the manuscript files can be downloaded from Overleaf and submitted to the journal’s online submission system. +## About the GigaScience `rticle` template -[Overleaf Template](https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs) +The `rticles::gigascience_journal` template is the blended `rmardkdown` and \LaTeX{} template for GigaScience journal manuscript submissions. If you do not want to include \LaTeX{} commands inline, remove the following line from the YAML header. +``` + pandoc_args: raw_tex +``` -## Additional information for TeX/LaTeX users +## Important preliminaries -Please use [OUP’s TeX template and BibTeX stylefile](https://academic.oup.com/DocumentLibrary/GigaScience/GIGSCI%20TeX%20template.zip) if you use TeX format. When submitting TeX submissions, please submit your TeX file as the main manuscript file and your bib/bbl file as a dependent file. Please also convert your TeX file into a PDF and submit this PDF as an additional file with the name 'Reference PDF'. This PDF will be used by our production team as a reference point to check the layout of the article as the author intended. Please also note that all figures must be coded at the end of the TeX file and not inline. +- Specify your manuscript's category with the `\papercat{...}` command in the preamble. +- See the sample code in the YAML header for how author and affiliation information can be specified. + - Particularly, note that the first footnote id is reserved for corresponding authors' email addresses. -All relevant editable source files must be uploaded during the submission process. Failing to submit these source files will cause unnecessary delays in the production process. +**Please note that whilst this template provides a preview of the typeset manuscript for submission, it will not necessarily be the final publication layout.** -# Introduction +# Using rmarkdown features with this template -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget porta erat. Morbi consectetur est vel gravida pretium. Suspendisse ut dui eu ante cursus gravida non sed sem. Phasellus mauris velit, dapibus finibus elementum vel, pulvinar non tellus. Nunc pellentesque pretium diam, quis maximus dolor faucibus id. Nunc convallis sodales ante, ut ullamcorper est egestas vitae. Nam sit amet enim ultrices, ultrices elit pulvinar, volutpat risus. +Reference (among others): [https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf](https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf) +## Sectional Headings + +You can use `# Section Name` and `## Subsection name` lines to add more sections and subsections to your manuscript. Further sectional levels are provided by `### Subsubsection name`, `#### Paragraph name`, `##### Subparagraph name` lines; e.g.: -Plain text -End a line with two spaces to start a new paragraph. -*italics* and _italics_ -**bold** and __bold__ -``` -superscript^2^ -``` ``` -~~strikethrough~~ + # Header 1 + section + + ## Header 2 + subsection + + ### Header 3 + subsubsection + + #### Header 4 + paragraph + + ##### Header 5 + subparagraph + + ###### Header 6 + subsubparagraph ``` -[link](www.rstudio.com) +### +becomes: + # Header 1 +section + ## Header 2 +subsection + ### Header 3 +subsubsection + #### Header 4 +paragraph + ##### Header 5 +subparagraph + ###### Header 6 -endash: -- -emdash: --- -ellipsis: ... +subsubparagraph + +## Blockquotes + +> This is a quote. Lorem ipsum dolor sit amet, +> consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore +> magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco +> laboris nisi ut aliquip ex ea commodo consequat. + +## Unordered list (bullets) + +- This is a point in a bullet list. + - A sub-point must be indented four more spaces than the parent. + - The same is true for a sub-sub-point. +- A third point. + +## Ordered list (numbered list) + +1. This is a point in a numbered list. + - A sub-point must be indented four more spaces than the parent. + - The same is true for a sub-sub-point. +1. A third point. + +Use R to generate tables rather than attempting to specify them in rmarkdown. + +## Equations + ``` inline equation: $A = \pi*r^{2}$ ``` +inline equation: $A = \pi*r^{2}$ + +``` +full-line equation: $$A = \pi*r^{2}$$ +``` +$$A = \pi*r^{2}$$ -horizontal rule (or slide break): -*** -> block quote -* unordered list -* item 2 - + sub-item 1 - + sub-item 2 +## Tables -1. ordered list -2. item 2 - + sub-item 1 - + sub-item 2 +### Making tables with rmarkdown +Use R to generate your rmarkdown tables, e.g., see Table \ref{tab:markdown}. Granted, literal rendering of rmarkdown tables is not working, but even if it worked, it would makes no sense to use it when you can use R to lay out tables more coherently. + +\begin{table} +\caption{Table generated using rmarkdown} +\label{tab:markdown} +```{r setup, echo=FALSE, warning=FALSE} +library(knitr) +knitr::opts_chunk$set(echo = TRUE) + +kable( + t( + data.frame( + header=c("Right","Left","Center") + , value=c(1,2,3) + ) + ) +, align = c("r","l","c") +, format = "latex") ``` -Table Header | Second Header -------------- | ------------- -Table Cell | Cell 2 -Cell 3 | Cell 4 +\end{table} + +### Laying out tables in \LaTeX{} + +Table layout in \LaTeX{} is much less intuitive than using R, but this might be your only choice unless you define a section that has only one column per page. + + + +## Pre-existing figure + +It is inadvisable to generate images from R code chunks, but it's fine to include pre-existing images. + +```{r warning=FALSE, dev='pdf', fig.show='hide', echo=FALSE, message=FALSE} +# That being said, a file is being generated here solely for demonstration purposes. +invisible({ + pdf(file=file.path(getwd(),'pressure.pdf')) + plot(pressure) + dev.off() +}) ``` +### Including a figure using \LaTeX{} + +The easier way to include a figure is with \LaTeX{}. +Figure \ref{fig:pressure} is included this way, and the figure number is a clickable reference. ``` -This will be wrapped with beginverbatim endverbatim +% "bt!" means favor putting the table at the +% top or bottom of the column, if possible +% "b!" means favor putting the table at the +% bottom of the column, if possible +% "t!" means favor putting the table at the +% top of the column, if possible +\begin{figure}[bt!] +\centering +\includegraphics[width=\linewidth]{pressure.pdf} +\caption{Pressure figure from \LaTeX{}} +\label{fig:pressure} +\end{figure} ``` +\begin{figure}[bt!] +\centering +\includegraphics[width=\linewidth]{pressure.pdf} +\caption{Pressure figure from \LaTeX{}} +\label{fig:pressure} +\end{figure} + +### Including a figure using markdown + +The "Pressure from markdown"" figure is scaled 48% because there are two columns, and failing to scale the image results in an image that is two columns wide; when scaled to 50%, it does not quite fit, so the scaling value needed to be determined emprically. Furthermore, no clickable link to it is available becasue the generated TeX code has no label attribute. In fact, to get the figure number, it would probably be necessary to resort to using a \LaTeX{} expression anyway.... +``` +![Pressure figure from markdown](pressure.pdf){width=48%} +``` +![Pressure figure from markdown](pressure.pdf){width=48%} + +Overall, it's easier to use \LaTeX{} code than force rmarkdown to do the task. + +```{r refs_section_label, echo=FALSE} + # \bibliography generates the References section label and makes the bibliography entries available through natbib to citep and citet + # However, it does not do so when running knit on .Rmd from within RStudio. + # The workaround is to open the resulting .tex file and click 'Compile PDF' a few times until there is no error. +``` + +## Citations in rmarkdown (not recommended) + +Using rmarkdown for citations is not recommended: + - TeX citations give you more flexibility + - e.g., references can be deleted or added subsequent to translation from rmarkdown to TeX + +You can generate explicit references in rmarkdown using a semicolon-separated-values syntax, enclosed in square brackets, prefixing each reference with the `@` character, e.g., `[@Tufte:1983; @Cleveland:1993]`, which results in this: [@Tufte:1983; @Cleveland:1993]. The numbers are in the tex output file, which means that editing to add or remove references *must* be done in the rmarkdown file. So, this is probably *not* a desirable path to take. + +Note that, to get this to work, the following need to be defined in the YAML header: +``` +# these only needed for citations from rmarkdown +# bibliography: the file with the bibtex entries +#bibliography: paper-refs.bib +# csl: this is needed only for citations from rmarkdown +#csl: gigascience.csl +``` + +\pagebreak + +# Using \LaTeX{} features with this template + +## Figures and Tables + +Figures and tables can be either a single column-width or double column-width, based on the "environment" passed to begin/end: + +- `table` - a single column-width table, e.g., Table \ref{tab:example} +- `sidewaystable` - a single column-width table, sideways in the column, e.g., Table \ref{tab:example:sideways} +- `table*` - a two column-width table, e.g., Table \ref{tab:example:wide} +- `landscape{table}` - a landscaped table spanning both columns, sideways on the page, e.g., Table \ref{tab:example:landscape} +- `figure` - a single column-width figure, e.g., Figure \ref{fig:pressure} +- `figure*` - a two column-width figure, e.g., Figure \ref{fig:pressure:wide} +- `landscape{figure}` - a landscape figure, e.g., Figure \ref{fig:pressure:landscape} + +If you have a very wide table or figure, you can use \texttt{sidewaystable} or \texttt{sidewaysfigure}, as in Table \ref{tab:example:sideways}: this will be rotated sideways and occupy a *single column* on its own. + +If your table or figure is both wide and tall (so it wouldn't fit well in a single column with \texttt{sidewaystable} or \texttt{figure}), +you can use `table` or `figure` inside a `landscape` environment for a full-page landscaped alternative. A page break will be inserted \emph{immediately before and after} the `landscape` environment (Table \ref{tab:example:landscape}), so you'll need to carefully position it in a suitable location in your manuscript. + +\begin{table}[b!] +\caption{An example table, one column-width.}\label{tab:example} +\begin{tabular}{l r l} +\toprule +Item & Quantity & Notes\\ +\midrule +Widgets & 42 & Over-supplied\textsuperscript{*} \\ +Gadgets & 13 & Under-supplied \\ +\bottomrule +\end{tabular} +\begin{tablenotes} +\item This is a table note. +\item \textsuperscript{*}Another note. +\end{tablenotes} +\end{table} + + +\begin{sidewaystable} +\caption{Automobile land speed records (GR 5-10). This is the same table as before, but rotated sideways.} +\label{tab:example:sideways} +% Use "S" column identifier (from siunitx) to align on decimal point. +% Use "L", "R" or "C" column identifier for auto-wrapping columns with tabularx. +\begin{tabularx}{\linewidth}{S l l l r L} +\toprule +{Speed (mph)} & {Driver} & {Car} & {Engine} & {Date} & {Extra comments}\\ +\midrule +407.447 & Craig Breedlove & Spirit of America & GE J47 & 8/5/63 & (Just to demo a full-width table with auto-wrapping long lines) \\ +413.199 & Tom Green & Wingfoot Express & WE J46 & 10/2/64 \\ +434.22 & Art Arfons & Green Monster & GE J79 & 10/5/64 \\ +468.719 & Craig Breedlove & Spirit of America & GE J79 & 10/13/64 \\ +526.277 & Craig Breedlove & Spirit of America & GE J79 & 10/15/65 \\ +536.712 & Art Arfons & Green Monster & GE J79 & 10/27/65 \\ +555.127 & Craig Breedlove & Spirit of America, Sonic 1 & GE J79 & 11/2/65 \\ +576.553 & Art Arfons & Green Monster & GE J79 & 11/7/65 \\ +600.601 & Craig Breedlove & Spirit of America, Sonic 1 & GE J79 & 11/15/65 \\ +622.407 & Gary Gabelich & Blue Flame & Rocket & 10/23/70 \\ +633.468 & Richard Noble & Thrust 2 & RR RG 146 & 10/4/83 \\ +763.035 & Andy Green & Thrust SSC & RR Spey & 10/15/97\\ +\bottomrule +\end{tabularx} +\begin{tablenotes} +\item Source is from this website: \url{https://www.sedl.org/afterschool/toolkits/science/pdf/ast_sci_data_tables_sample.pdf} +\end{tablenotes} +\end{sidewaystable} + + + +\begin{figure*}%[bt!] +\centering +\includegraphics{pressure.pdf} +\captionsetup{justification=centering} +\caption{An example wide figure, two column-widths.}\label{fig:pressure:wide} +\end{figure*} + +\begin{landscape} +\begin{figure}%[b!] +\centering +\includegraphics{pressure.pdf} +\captionsetup{justification=centering} +\caption{An example wide figure, two column-widths.}\label{fig:pressure:landscape} +\end{figure} +\end{landscape} + +\begin{table*}[bt!] +\caption{Automobile land speed records (GR 5-10), two column-widths}\label{tab:example:wide} +% Use "S" column identifier (from siunitx) to align on decimal point. +% Use "L", "R" or "C" column identifier for auto-wrapping columns with tabularx. +\begin{tabularx}{\linewidth}{S l l l r L} +\toprule +{Speed (mph)} & {Driver} & {Car} & {Engine} & {Date} & {Extra comments}\\ +\midrule +407.447 & Craig Breedlove & Spirit of America & GE J47 & 8/5/63 & (Just to demo a full-width table with auto-wrapping long lines) \\ +413.199 & Tom Green & Wingfoot Express & WE J46 & 10/2/64 \\ +434.22 & Art Arfons & Green Monster & GE J79 & 10/5/64 \\ +468.719 & Craig Breedlove & Spirit of America & GE J79 & 10/13/64 \\ +526.277 & Craig Breedlove & Spirit of America & GE J79 & 10/15/65 \\ +536.712 & Art Arfons & Green Monster & GE J79 & 10/27/65 \\ +555.127 & Craig Breedlove & Spirit of America, Sonic 1 & GE J79 & 11/2/65 \\ +576.553 & Art Arfons & Green Monster & GE J79 & 11/7/65 \\ +600.601 & Craig Breedlove & Spirit of America, Sonic 1 & GE J79 & 11/15/65 \\ +622.407 & Gary Gabelich & Blue Flame & Rocket & 10/23/70 \\ +633.468 & Richard Noble & Thrust 2 & RR RG 146 & 10/4/83 \\ +763.035 & Andy Green & Thrust SSC & RR Spey & 10/15/97\\ +\bottomrule +\end{tabularx} + +\begin{tablenotes} +\item Source is from this website: \url{https://www.sedl.org/afterschool/toolkits/science/pdf/ast_sci_data_tables_sample.pdf} +\end{tablenotes} +\end{table*} + +## Citations in \LaTeX{} + +Use the `num-refs` option for numerical citations in the `reftype` item in the YAML header or `alph-refs` for author-year citations. `alpha-refs` may not work. + +Use the `\citep` command for parenthetical citations, e.g., `both Tufte and Cleveland \citep{Tufte:1983,Cleveland:1993}`: + +> some fact reported by both Tufte and Cleveland \citep{Tufte:1983,Cleveland:1993}. + +Use `\citet` command for text citations, e.g., `both \citet{Tufte:1983} and \citet{Cleveland:1993}`: + +> some fact reported by both \citet{Tufte:1983} and \citet{Cleveland:1993}. + + +## Footnotes + +This sentence is footnoted.\footnote{This is the footnote text. Quiquid dignum actu nimium agendum est.} The footnote should appear at the bottom of the column in which the text appears. + + +\subsection{Some Mathematics Sample} + +Let $X_1, X_2, \ldots, X_n$ be a sequence of independent and identically distributed random variables with $\text{E}[X_i] = \mu$ and $\text{Var}[X_i] = \sigma^2 < \infty$, and let + +$$ +S_n = \frac{X_1 + X_2 + \cdots + X_n}{n} + = \frac{1}{n}\sum_{i}^{n} X_i +$$ +denote their mean. Then as $n$ approaches infinity, the random variables $\sqrt{n}(S_n - \mu)$ converge in distribution to a normal $\mathcal{N}(0, \sigma^2)$. + + +# Findings + +## Background + +## Performance and testing + +# Methods + +# Discussion + +# Abbreviations + +# Acknowledgements + +# Funding + +# Availability of data and materials + +# Availability of supporting code and requirements + +# Author contributions + +\bibliography{paper-refs} + +# Figures and Appendices + +## Landscape (sideways) table +\begin{landscape} +\begin{table} +\caption{Automobile land speed records (GR 5-10). This is again the same table as before, but on a landscaped page. \textbf{Note that a hard page break is inserted immediately before and after \texttt{landscape}}, so you'll need to carefully position such an environment at a suitable location in your manuscript!} +\label{tab:example:landscape} +\begin{tabularx}{\linewidth}{S l l l r L} +\toprule +{Speed (mph)} & {Driver} & {Car} & {Engine} & {Date} & {Extra comments}\\ +\midrule +407.447 & Craig Breedlove & Spirit of America & GE J47 & 8/5/63 & (Just to demo a full-width table with auto-wrapping long lines) \\ +413.199 & Tom Green & Wingfoot Express & WE J46 & 10/2/64 \\ +434.22 & Art Arfons & Green Monster & GE J79 & 10/5/64 \\ +468.719 & Craig Breedlove & Spirit of America & GE J79 & 10/13/64 \\ +526.277 & Craig Breedlove & Spirit of America & GE J79 & 10/15/65 \\ +536.712 & Art Arfons & Green Monster & GE J79 & 10/27/65 \\ +555.127 & Craig Breedlove & Spirit of America, Sonic 1 & GE J79 & 11/2/65 \\ +576.553 & Art Arfons & Green Monster & GE J79 & 11/7/65 \\ +600.601 & Craig Breedlove & Spirit of America, Sonic 1 & GE J79 & 11/15/65 \\ +622.407 & Gary Gabelich & Blue Flame & Rocket & 10/23/70 \\ +633.468 & Richard Noble & Thrust 2 & RR RG 146 & 10/4/83 \\ +763.035 & Andy Green & Thrust SSC & RR Spey & 10/15/97\\ +\bottomrule +\end{tabularx} -Here are two sample references: @Arabie80, @Tufte:1983. +\begin{tablenotes} +\item Source is from this website: \url{https://www.sedl.org/afterschool/toolkits/science/pdf/ast_sci_data_tables_sample.pdf} +\end{tablenotes} +\end{table} +\end{landscape} -# References {#references .unnumbered} From d1bdef6cb1ddfcdb3b03945fe9ce623fa3812441 Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Tue, 20 Feb 2018 14:31:51 +0000 Subject: [PATCH 04/16] added man/gigascience_article.Rd generated by devtools::document --- man/gigascience_article.Rd | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 man/gigascience_article.Rd diff --git a/man/gigascience_article.Rd b/man/gigascience_article.Rd new file mode 100644 index 000000000..c13f305d2 --- /dev/null +++ b/man/gigascience_article.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/gigascience_article.R +\name{gigascience_article} +\alias{gigascience_article} +\title{GigaScience journal format.} +\usage{ +gigascience_article(..., keep_tex = TRUE, + md_extensions = c("-autolink_bare_uris")) +} +\arguments{ +\item{...}{Additional arguments to \code{rmarkdown::pdf_document}} + +\item{keep_tex}{Keep the intermediate tex file used in the conversion to PDF} + +\item{md_extensions}{Markdown extensions to be added or removed from the +default definition or R Markdown. See the \code{\link{rmarkdown_format}} for +additional details.} +} +\value{ +R Markdown output format to pass to + \code{\link[rmarkdown:render]{render}} +} +\description{ +Format for creating submissions to the GigaScience journal. Adapted from GigaScience Overleaf template +\href{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}. +} +\examples{ + +\dontrun{ +library(rmarkdown) +draft("MyArticle.Rmd", template = "gigascience_article", package = "rticles") +} + +} From d5a50ffa12fc8fad6a7e997e6a3717abfc88628a Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Tue, 20 Feb 2018 14:50:29 +0000 Subject: [PATCH 05/16] improved citet and citep explanations --- .../templates/gigascience_article/skeleton/skeleton.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd index f3cc573b3..ad8b4f092 100755 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd @@ -464,11 +464,11 @@ Gadgets & 13 & Under-supplied \\ Use the `num-refs` option for numerical citations in the `reftype` item in the YAML header or `alph-refs` for author-year citations. `alpha-refs` may not work. -Use the `\citep` command for parenthetical citations, e.g., `both Tufte and Cleveland \citep{Tufte:1983,Cleveland:1993}`: +Use the `\citep` command for a list of citations (without author names), e.g., `both Tufte and Cleveland \citep{Tufte:1983,Cleveland:1993}`: > some fact reported by both Tufte and Cleveland \citep{Tufte:1983,Cleveland:1993}. -Use `\citet` command for text citations, e.g., `both \citet{Tufte:1983} and \citet{Cleveland:1993}`: +Use `\citet` command for isolated citations (including author names), e.g., `both \citet{Tufte:1983} and \citet{Cleveland:1993}`: > some fact reported by both \citet{Tufte:1983} and \citet{Cleveland:1993}. From b020923af91175bdfce202a0c4ad61c64dd29ec9 Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Tue, 20 Feb 2018 14:52:58 +0000 Subject: [PATCH 06/16] added tlmgr_pkg to assist setup of TexLive prior to running GigaScience rticle --- .../gigascience_article/skeleton/tlmgr_pkg | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg b/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg new file mode 100755 index 000000000..9214e704d --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg @@ -0,0 +1,48 @@ +#!/bin/bash +# Here are some TeX packages required to support: +# - elsevier +# - ACS +tlmgr update --self +tlmgr install microtype +tlmgr install euler +tlmgr install merriweather +tlmgr install fontaxes +tlmgr install mweights +tlmgr install mathastext +tlmgr install relsize +# Searching here led me to 'ms': https://www.ctan.org/pkg/ragged2e +tlmgr install ms +tlmgr install xcolor +tlmgr install colortbl +tlmgr install xpatch +tlmgr install environ +tlmgr install trimspaces +tlmgr install lastpage +tlmgr install textpos +tlmgr install mdframed +tlmgr install needspace +tlmgr install titlesec +# Searching here led me to 'koma-script': https://www.ctan.org/pkg/scrextend +tlmgr install koma-script +# Searching here led me to 'preprint': https://www.ctan.org/pkg/authblk +tlmgr install preprint +tlmgr install footmisc +tlmgr install fancyhdr +tlmgr install abstract +tlmgr install enumitem +tlmgr install quoting +# Searching here led me to 'sttools': https://www.ctan.org/pkg/stfloats +tlmgr install sttools +tlmgr install setspace +tlmgr install wrapfig +tlmgr install psnfss +tlmgr install symbol +tlmgr install lineno +tlmgr install endfloat + +tlmgr install forarray +tlmgr install extsizes +tlmgr install xstring +tlmgr install ametsoc +tlmgr install siunitx +tlmgr install achemso From 63d14383506719e79cb8cc3af526da4bc4cbe0b2 Mon Sep 17 00:00:00 2001 From: Arthur Eschenlauer Date: Thu, 22 Feb 2018 06:48:22 -0600 Subject: [PATCH 07/16] added tlmgr_local script to install required TeX*Live packages to support GigaScience in the home directory rather than in the system repository --- .../gigascience_article/skeleton/tlmgr_local | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local b/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local new file mode 100755 index 000000000..150910c36 --- /dev/null +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +## by default, usermode references ~/.TinyTeX +if [ ! -d ~/.TinyTeX/texmf-home/web2c ]; then + tlmgr init-usertree + if [ ! -d ~/.TinyTeX/texmf-home/web2c ]; then + echo "ERROR: tlmgr init-usertree did not create ~/.TinyTeX/texmf-home/web2c" 1>&2 + exit 1 + fi +fi +tlmgr update --self +tlmgr install --usermode microtype +tlmgr install --usermode euler +tlmgr install --usermode merriweather +tlmgr install --usermode fontaxes +tlmgr install --usermode mweights +tlmgr install --usermode mathastext +tlmgr install --usermode relsize +# Searching here led me to 'ms': https://www.ctan.org/pkg/ragged2e +tlmgr install --usermode ms +tlmgr install --usermode xcolor +tlmgr install --usermode colortbl +tlmgr install --usermode xpatch +tlmgr install --usermode environ +tlmgr install --usermode trimspaces +tlmgr install --usermode lastpage +tlmgr install --usermode textpos +tlmgr install --usermode mdframed +tlmgr install --usermode needspace +tlmgr install --usermode titlesec +# Searching here led me to 'koma-script': https://www.ctan.org/pkg/scrextend +tlmgr install --usermode koma-script +# Searching here led me to 'preprint': https://www.ctan.org/pkg/authblk +tlmgr install --usermode preprint +tlmgr install --usermode footmisc +tlmgr install --usermode fancyhdr +tlmgr install --usermode abstract +tlmgr install --usermode enumitem +tlmgr install --usermode quoting +# Searching here led me to 'sttools': https://www.ctan.org/pkg/stfloats +tlmgr install --usermode sttools +tlmgr install --usermode forarray +tlmgr install --usermode xstring +tlmgr install --usermode siunitx +#ref: https://github.com/xdanaux/moderncv/issues/34#issuecomment-266212880 +#ref: https://wiki.archlinux.org/index.php/TeX_Live_FAQ#Q:_pdftex_and.2For_dvips_uses_bitmap_fonts_instead_of_type1_postscript_fonts +updmap -user +exit 0 From 78cb88038c21653afdb22d582c3f816ed6e5f862 Mon Sep 17 00:00:00 2001 From: Art Eschenlauer Date: Sun, 22 Jul 2018 18:50:34 -0500 Subject: [PATCH 08/16] corrected per yihui's instructions from 2 July 2018 --- .../gigascience_article/skeleton/skeleton.Rmd | 5 +- .../gigascience_article/skeleton/tlmgr_local | 47 ------------------ .../gigascience_article/skeleton/tlmgr_pkg | 48 ------------------- 3 files changed, 2 insertions(+), 98 deletions(-) delete mode 100755 inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local delete mode 100755 inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd index ad8b4f092..2230fb369 100755 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd @@ -97,9 +97,8 @@ keypoints: header-includes: - \journal{gigascience} - \usepackage{natbib} - - \bibliographystyle{vancouver-authoryear} -# - \setcounter{errorcontextlines}{4} -# - \setcounter{secnumdepth}{2} +# # the next line is part of the document-class, oup-contemporary +# - \bibliographystyle{vancouver-authoryear} # preamble: Tex literal (newlines will be stripped out) # - Value is a TeX snippet that will be collapsed to a single line diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local b/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local deleted file mode 100755 index 150910c36..000000000 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_local +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash -## by default, usermode references ~/.TinyTeX -if [ ! -d ~/.TinyTeX/texmf-home/web2c ]; then - tlmgr init-usertree - if [ ! -d ~/.TinyTeX/texmf-home/web2c ]; then - echo "ERROR: tlmgr init-usertree did not create ~/.TinyTeX/texmf-home/web2c" 1>&2 - exit 1 - fi -fi -tlmgr update --self -tlmgr install --usermode microtype -tlmgr install --usermode euler -tlmgr install --usermode merriweather -tlmgr install --usermode fontaxes -tlmgr install --usermode mweights -tlmgr install --usermode mathastext -tlmgr install --usermode relsize -# Searching here led me to 'ms': https://www.ctan.org/pkg/ragged2e -tlmgr install --usermode ms -tlmgr install --usermode xcolor -tlmgr install --usermode colortbl -tlmgr install --usermode xpatch -tlmgr install --usermode environ -tlmgr install --usermode trimspaces -tlmgr install --usermode lastpage -tlmgr install --usermode textpos -tlmgr install --usermode mdframed -tlmgr install --usermode needspace -tlmgr install --usermode titlesec -# Searching here led me to 'koma-script': https://www.ctan.org/pkg/scrextend -tlmgr install --usermode koma-script -# Searching here led me to 'preprint': https://www.ctan.org/pkg/authblk -tlmgr install --usermode preprint -tlmgr install --usermode footmisc -tlmgr install --usermode fancyhdr -tlmgr install --usermode abstract -tlmgr install --usermode enumitem -tlmgr install --usermode quoting -# Searching here led me to 'sttools': https://www.ctan.org/pkg/stfloats -tlmgr install --usermode sttools -tlmgr install --usermode forarray -tlmgr install --usermode xstring -tlmgr install --usermode siunitx -#ref: https://github.com/xdanaux/moderncv/issues/34#issuecomment-266212880 -#ref: https://wiki.archlinux.org/index.php/TeX_Live_FAQ#Q:_pdftex_and.2For_dvips_uses_bitmap_fonts_instead_of_type1_postscript_fonts -updmap -user -exit 0 diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg b/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg deleted file mode 100755 index 9214e704d..000000000 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/tlmgr_pkg +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -# Here are some TeX packages required to support: -# - elsevier -# - ACS -tlmgr update --self -tlmgr install microtype -tlmgr install euler -tlmgr install merriweather -tlmgr install fontaxes -tlmgr install mweights -tlmgr install mathastext -tlmgr install relsize -# Searching here led me to 'ms': https://www.ctan.org/pkg/ragged2e -tlmgr install ms -tlmgr install xcolor -tlmgr install colortbl -tlmgr install xpatch -tlmgr install environ -tlmgr install trimspaces -tlmgr install lastpage -tlmgr install textpos -tlmgr install mdframed -tlmgr install needspace -tlmgr install titlesec -# Searching here led me to 'koma-script': https://www.ctan.org/pkg/scrextend -tlmgr install koma-script -# Searching here led me to 'preprint': https://www.ctan.org/pkg/authblk -tlmgr install preprint -tlmgr install footmisc -tlmgr install fancyhdr -tlmgr install abstract -tlmgr install enumitem -tlmgr install quoting -# Searching here led me to 'sttools': https://www.ctan.org/pkg/stfloats -tlmgr install sttools -tlmgr install setspace -tlmgr install wrapfig -tlmgr install psnfss -tlmgr install symbol -tlmgr install lineno -tlmgr install endfloat - -tlmgr install forarray -tlmgr install extsizes -tlmgr install xstring -tlmgr install ametsoc -tlmgr install siunitx -tlmgr install achemso From bcbf202bafa263322df63526ad291a97d80420e0 Mon Sep 17 00:00:00 2001 From: Art Eschenlauer Date: Sun, 22 Jul 2018 20:23:12 -0500 Subject: [PATCH 09/16] devtools::test() passes after 'mkdir tests/testthat; cd tests/testthat; ln -s ../testit/test-formats.R' in bash and then 'library(testit); devtools::test()' in R --- DESCRIPTION | 2 +- tests/testit/test-formats.R | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index aaec44c34..6c6c0494f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -28,7 +28,7 @@ Authors@R: c( person("Dominik", "Leutnant", role = c("aut", "cph"), email = "leutnant@fh-muenster.de"), person(family = "MDPI", role = c("aut", "cph")), person("Arthur", "Eschenlauer", role = c("aut", "cph"), email = "esch0041@umn.edu", comment = c(ORCID = "0000-0002-2882-0508")), - person(family = "GigaScience", role = c("aut", "cph")) + person(family = "GigaScience", role = c("aut", "cph")), person("Oğuzhan", "Öğreden", role = c("aut"), comment = c(ORCID = "0000-0002-9949-3348")) ) Description: A suite of custom R Markdown formats and templates for diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index c143ab95e..72b617657 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -42,3 +42,4 @@ test_format("peerj_article") test_format("amq_article") test_format("mdpi_article") test_format("mnras_article") +test_format("gigascience_article") From 6604452cfa8490f810e89f7bace6510d3d9929e1 Mon Sep 17 00:00:00 2001 From: Art Eschenlauer Date: Sun, 29 Jul 2018 16:13:26 -0500 Subject: [PATCH 10/16] modifications for pull request --- DESCRIPTION | 2 +- .../resources/template.tex | 2 +- .../skeleton/paper-refs.bib | 10 -- .../gigascience_article/skeleton/skeleton.Rmd | 97 ++++++++++--------- 4 files changed, 54 insertions(+), 57 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 6c6c0494f..7bf49256e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: rticles Type: Package Title: Article Formats for R Markdown -Version: 0.5.2.9001 +Version: 0.5.2 Authors@R: c( person("JJ", "Allaire", role = "aut", email = "jj@rstudio.com"), person("Yihui", "Xie", role = c("aut", "cre"), email = "xie@yihui.name", comment = c(ORCID = "0000-0003-0645-5666")), diff --git a/inst/rmarkdown/templates/gigascience_article/resources/template.tex b/inst/rmarkdown/templates/gigascience_article/resources/template.tex index 7ad3673e6..3ead58bd2 100644 --- a/inst/rmarkdown/templates/gigascience_article/resources/template.tex +++ b/inst/rmarkdown/templates/gigascience_article/resources/template.tex @@ -3,7 +3,7 @@ % preview of the typeset manuscript for submission, it % will not necessarily be the final publication layout. % -\documentclass[$paper$,$reftype$]{$document-class$} +\documentclass[$paper$,$reftype$]{$documentclass$} % declare highlighting-macros if any $if(highlighting-macros)$ diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib b/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib index 906d9b9eb..544746bd1 100644 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/paper-refs.bib @@ -15,16 +15,6 @@ @Manual{R:2010 url = {http://www.R-project.org}, } - @Manual{R:2008, - title = {R: A Language and Environment for Statistical Computing}, - author = {{R Development Core Team}}, - organization = {R Foundation for Statistical Computing}, - address = {Vienna, Austria}, - year = {2008}, - note = {{ISBN} 3-900051-07-0}, - url = {http://www.R-project.org}, - } - @Article{Arabie80, author = {Arabie, P. and Carroll, J. D.}, title = {MAPCLUS: A mathematical programming approach to fitting the ADCLUS models}, diff --git a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd index 2230fb369..b3f43644e 100755 --- a/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/gigascience_article/skeleton/skeleton.Rmd @@ -106,8 +106,8 @@ header-includes: # \setcounter{errorcontextlines}{4} # \setcounter{secnumdepth}{2} -# document-class - the TeX document class - for GigaScience, muct be oup-contemporary -document-class: oup-contemporary +# documentclass - the TeX document class - for GigaScience, must be oup-contemporary +documentclass: oup-contemporary # paper: 'a4paper' or 'letterpaper' paper: letterpaper @@ -117,29 +117,26 @@ paper: letterpaper reftype: num-refs #reftype: alpha-refs -# pandoc_args: arguments to pandoc -# - enable with '+' and disable with '-' -# - see: https://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#pandoc_markdown -# - concerning specific keys: -# raw_tex: -# - allow direct inclusion of TeX -# - see https://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#raw-tex` -pandoc_args: +raw_tex - -# Using rmarkdown for citations is not recommended: -# - TeX citations give you more flexibility +# In some cases, it may be easier to use TeX than rmarkdown for citations: +# - TeX citations may give you more flexibility # - e.g., references can be deleted or added subsequent to translation from rmarkdown to TeX -# bibliography and csl are only needed for citations from rmarkdown +# - This may be important if you need to delete references on Overleaf and regenerating +# the TeX is not an option +# Hence: 'bibliography' and 'csl' below are commented out because they are only needed for citations from rmarkdown +# # bibliography: the file with the bibtex entries #bibliography: paper-refs.bib +# # csl: this is needed only for citations from rmarkdown #csl: gigascience.csl # output: specifies the R class used to translate rmarkdown to tex and pdf -output: rticles::gigascience_article +output: + rticles::gigascience_article: + md_extensions: +raw_tex --- -\begin{epigraph} {\small{\href{https://academic.oup.com/gigascience/pages/instructions_to_authors}{GigaScience Instructios to Authors}}} +\begin{epigraph} {\small{\href{https://academic.oup.com/gigascience/pages/instructions_to_authors}{GigaScience Instructions to Authors}}} Sample epigraph: For creating manuscripts in LaTeX, Gigascience recommends the use of its own LaTeX class files. Our class files are available online \href{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}{at Overleaf https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}. The GigaScience "oup-contemporary.cls" class obtained via this Overleaf link was used as the basis of this "rticle". \end{epigraph} @@ -149,10 +146,7 @@ TeX/LaTeX users: Please use OUP’s TeX template and BibTeX stylefile if you use ## About the GigaScience `rticle` template -The `rticles::gigascience_journal` template is the blended `rmardkdown` and \LaTeX{} template for GigaScience journal manuscript submissions. If you do not want to include \LaTeX{} commands inline, remove the following line from the YAML header. -``` - pandoc_args: raw_tex -``` +The `rticles::gigascience_journal` template is the blended `rmarkdown` and \text{\LaTeX} template for GigaScience journal manuscript submissions. ## Important preliminaries @@ -236,12 +230,13 @@ Use R to generate tables rather than attempting to specify them in rmarkdown. ## Equations ``` -inline equation: $A = \pi*r^{2}$ +inline equation: $A = \pi*r^{2}$ (Area of a circle) ``` -inline equation: $A = \pi*r^{2}$ +inline equation: $A = \pi*r^{2}$ (Area of a circle) ``` -full-line equation: $$A = \pi*r^{2}$$ +full-line equation: +$$A = \pi*r^{2}$$ ``` $$A = \pi*r^{2}$$ @@ -270,15 +265,14 @@ kable( ``` \end{table} -### Laying out tables in \LaTeX{} - -Table layout in \LaTeX{} is much less intuitive than using R, but this might be your only choice unless you define a section that has only one column per page. +### Laying out tables in \text{\LaTeX} +Table layout in \text{\LaTeX} is much less intuitive than using R, but this is possible if you find it expedient. ## Pre-existing figure -It is inadvisable to generate images from R code chunks, but it's fine to include pre-existing images. +When you are using RMarkdown to edit a manuscript, it may not always be better to generate images from R code chunks than to include pre-existing images; on the other hand, there certainly is nothing wrong with generating images from markdown. ```{r warning=FALSE, dev='pdf', fig.show='hide', echo=FALSE, message=FALSE} # That being said, a file is being generated here solely for demonstration purposes. @@ -289,9 +283,9 @@ invisible({ }) ``` -### Including a figure using \LaTeX{} +### Including a figure using \text{\LaTeX} -The easier way to include a figure is with \LaTeX{}. +With the right \text{\LaTeX} it is comparatively easy to include and control the presentation of a figure is with \text{\LaTeX}. Figure \ref{fig:pressure} is included this way, and the figure number is a clickable reference. ``` % "bt!" means favor putting the table at the @@ -303,26 +297,40 @@ Figure \ref{fig:pressure} is included this way, and the figure number is a click \begin{figure}[bt!] \centering \includegraphics[width=\linewidth]{pressure.pdf} -\caption{Pressure figure from \LaTeX{}} +\caption{Pressure figure from \text{\LaTeX}} \label{fig:pressure} \end{figure} ``` \begin{figure}[bt!] \centering \includegraphics[width=\linewidth]{pressure.pdf} -\caption{Pressure figure from \LaTeX{}} +\caption{Pressure figure from \text{\LaTeX}} \label{fig:pressure} \end{figure} ### Including a figure using markdown -The "Pressure from markdown"" figure is scaled 48% because there are two columns, and failing to scale the image results in an image that is two columns wide; when scaled to 50%, it does not quite fit, so the scaling value needed to be determined emprically. Furthermore, no clickable link to it is available becasue the generated TeX code has no label attribute. In fact, to get the figure number, it would probably be necessary to resort to using a \LaTeX{} expression anyway.... +The "Pressure from markdown"" figure is scaled to 100% because there are two columns, and failing to scale the image results in an image that is two columns wide. Furthermore, no clickable link to it is available becasue the generated TeX code has no label attribute. So, you may resort to using a \text{\LaTeX} expression anyway.... + +\begingroup + \fontsize{6pt}{8pt}\selectfont + \begin{verbatim} +```{r, results='asis', echo=FALSE} +cat(" ```{r,out.width='100%',fig.align='center',fig.cap='Pressure',echo=FALSE} + # Note that out.width='100%' is necessary to + # fit the figure to a single column + knitr::include_graphics('pressure.pdf') + ```") ``` -![Pressure figure from markdown](pressure.pdf){width=48%} + \end{verbatim} +\endgroup + +```{r, out.width='100%', fig.align='center', fig.cap='Pressure', echo=FALSE} +# note: out.width='100%' is necessary to fit the figure to a single column +knitr::include_graphics('pressure.pdf') ``` -![Pressure figure from markdown](pressure.pdf){width=48%} -Overall, it's easier to use \LaTeX{} code than force rmarkdown to do the task. +Overall, it may be easier to use \text{\LaTeX} code than force rmarkdown to do the task. ```{r refs_section_label, echo=FALSE} # \bibliography generates the References section label and makes the bibliography entries available through natbib to citep and citet @@ -330,26 +338,25 @@ Overall, it's easier to use \LaTeX{} code than force rmarkdown to do the task. # The workaround is to open the resulting .tex file and click 'Compile PDF' a few times until there is no error. ``` -## Citations in rmarkdown (not recommended) +## Citations in rmarkdown -Using rmarkdown for citations is not recommended: - - TeX citations give you more flexibility - - e.g., references can be deleted or added subsequent to translation from rmarkdown to TeX +Using TeX for citations rather than rmarkdown for citations may be advantageous. For example, TeX citations give you the flexibility of deleting or adding references can be deleted or added subsequent to translation from rmarkdown to TeX, which could be very helpful under circumstances where you don't have the option of regenerating your TeX from rmarkdown. -You can generate explicit references in rmarkdown using a semicolon-separated-values syntax, enclosed in square brackets, prefixing each reference with the `@` character, e.g., `[@Tufte:1983; @Cleveland:1993]`, which results in this: [@Tufte:1983; @Cleveland:1993]. The numbers are in the tex output file, which means that editing to add or remove references *must* be done in the rmarkdown file. So, this is probably *not* a desirable path to take. +That being said, you can generate explicit references in rmarkdown using a semicolon-separated-values syntax, enclosed in square brackets, prefixing each reference with the `@` character, e.g., `[@Tufte:1983; @Cleveland:1993]`, which results in this: [@Tufte:1983; @Cleveland:1993]. The reference numbers are coded as integers in the TeX output file, which means that editing to add or remove references *must* be done in the rmarkdown file to avoid labor-intensive searching and replacing of the TeX file if the references change. So, this may not be a desirable path to take unless you are absolutely sure that you always have the option of generating TeX from your markdown, i.e., you won't be exchanging TeX with and editor. Note that, to get this to work, the following need to be defined in the YAML header: ``` # these only needed for citations from rmarkdown # bibliography: the file with the bibtex entries -#bibliography: paper-refs.bib +bibliography: paper-refs.bib # csl: this is needed only for citations from rmarkdown -#csl: gigascience.csl +csl: gigascience.csl ``` - + -# Using \LaTeX{} features with this template +# Using \text{\LaTeX} features with this template ## Figures and Tables @@ -459,7 +466,7 @@ Gadgets & 13 & Under-supplied \\ \end{tablenotes} \end{table*} -## Citations in \LaTeX{} +## Citations in \text{\LaTeX} Use the `num-refs` option for numerical citations in the `reftype` item in the YAML header or `alph-refs` for author-year citations. `alpha-refs` may not work. From 0b6856f3c080f8fd5bfc9b64decf6858bcf68c92 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Tue, 30 Nov 2021 11:24:18 +0100 Subject: [PATCH 11/16] Use new way to create the format --- R/gigascience_article.R | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/R/gigascience_article.R b/R/gigascience_article.R index 551139821..6898bea4c 100644 --- a/R/gigascience_article.R +++ b/R/gigascience_article.R @@ -16,11 +16,11 @@ #' } #' #' @export -gigascience_article <- function(..., - keep_tex = TRUE, - md_extensions = c("-autolink_bare_uris")) { - inherit_pdf_document(..., - template = find_resource("gigascience", "template.tex"), - keep_tex = keep_tex, - md_extensions = md_extensions) +gigascience_article <- function(keep_tex = TRUE, + md_extensions = c("-autolink_bare_uris"), + ...) { + pdf_document_format("gigascience", + keep_tex = keep_tex, + md_extensions = md_extensions, + ...) } From 802c8db19c26364b1cf74e6fe2379cecacb47a2c Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Tue, 30 Nov 2021 11:48:33 +0100 Subject: [PATCH 12/16] Store function with the others --- R/article.R | 15 +++++++++++++++ R/gigascience_article.R | 26 -------------------------- man/article.Rd | 13 +++++++++++++ man/gigascience_article.Rd | 36 ------------------------------------ 4 files changed, 28 insertions(+), 62 deletions(-) delete mode 100644 R/gigascience_article.R delete mode 100644 man/gigascience_article.Rd diff --git a/R/article.R b/R/article.R index a1d61ee3f..1fc758b21 100644 --- a/R/article.R +++ b/R/article.R @@ -176,6 +176,21 @@ frontiers_article <- function(..., keep_tex = TRUE) { pdf_document_format("frontiers", keep_tex = keep_tex, ...) } +#' @section `gigascience_article`: Format for creating submissions to the +#' GigaScience journal. Adapted from GigaScience Overleaf template +#' . +#' +#' @export +#' @rdname article +gigascience_article <- function(keep_tex = TRUE, + md_extensions = c("-autolink_bare_uris"), + ...) { + pdf_document_format("gigascience", + keep_tex = keep_tex, + md_extensions = md_extensions, + ...) +} + #' @section `glossa_article`: Format for creating submissions to Glossa: a #' journal of general linguistics. Author Guidelines are available on diff --git a/R/gigascience_article.R b/R/gigascience_article.R deleted file mode 100644 index 6898bea4c..000000000 --- a/R/gigascience_article.R +++ /dev/null @@ -1,26 +0,0 @@ -#' GigaScience journal format. -#' -#' Format for creating submissions to the GigaScience journal. Adapted from GigaScience Overleaf template -#' . -#' -#' @inheritParams rmarkdown::pdf_document -#' @param ... Additional arguments to \code{rmarkdown::pdf_document} -#' -#' @return R Markdown output format to pass to [rmarkdown:render()] -#' -#' @examples -#' -#' \dontrun{ -#' library(rmarkdown) -#' draft("MyArticle.Rmd", template = "gigascience_article", package = "rticles") -#' } -#' -#' @export -gigascience_article <- function(keep_tex = TRUE, - md_extensions = c("-autolink_bare_uris"), - ...) { - pdf_document_format("gigascience", - keep_tex = keep_tex, - md_extensions = md_extensions, - ...) -} diff --git a/man/article.Rd b/man/article.Rd index c040c3844..98151feb0 100644 --- a/man/article.Rd +++ b/man/article.Rd @@ -15,6 +15,7 @@ \alias{ctex} \alias{elsevier_article} \alias{frontiers_article} +\alias{gigascience_article} \alias{glossa_article} \alias{ims_article} \alias{jasa_article} @@ -83,6 +84,12 @@ elsevier_article( frontiers_article(..., keep_tex = TRUE) +gigascience_article( + keep_tex = TRUE, + md_extensions = c("-autolink_bare_uris"), + ... +) + glossa_article(..., keep_tex = TRUE, latex_engine = "xelatex") ims_article( @@ -233,6 +240,12 @@ articles. Adapted from \url{https://www.frontiersin.org/about/author-guidelines}. } +\section{\code{gigascience_article}}{ + Format for creating submissions to the +GigaScience journal. Adapted from GigaScience Overleaf template +\url{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}. +} + \section{\code{glossa_article}}{ Format for creating submissions to Glossa: a journal of general linguistics. Author Guidelines are available on diff --git a/man/gigascience_article.Rd b/man/gigascience_article.Rd deleted file mode 100644 index 4eeb322af..000000000 --- a/man/gigascience_article.Rd +++ /dev/null @@ -1,36 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gigascience_article.R -\name{gigascience_article} -\alias{gigascience_article} -\title{GigaScience journal format.} -\usage{ -gigascience_article( - ..., - keep_tex = TRUE, - md_extensions = c("-autolink_bare_uris") -) -} -\arguments{ -\item{...}{Additional arguments to \code{rmarkdown::pdf_document}} - -\item{keep_tex}{Keep the intermediate tex file used in the conversion to PDF} - -\item{md_extensions}{Markdown extensions to be added or removed from the -default definition or R Markdown. See the \code{\link[rmarkdown]{rmarkdown_format}} for -additional details.} -} -\value{ -R Markdown output format to pass to \code{\link[=rmarkdown:render]{rmarkdown:render()}} -} -\description{ -Format for creating submissions to the GigaScience journal. Adapted from GigaScience Overleaf template -\url{https://www.overleaf.com/latex/templates/template-for-gigascience-journal-manuscript-submissions/shgtrssvbjhs}. -} -\examples{ - -\dontrun{ -library(rmarkdown) -draft("MyArticle.Rmd", template = "gigascience_article", package = "rticles") -} - -} From 701e1c1dd7a1cec45f1c825f4f1ae8e01d265c02 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 5 May 2023 15:15:53 +0200 Subject: [PATCH 13/16] Align author in DESCRIPTION --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 534096697..23fa8d78c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -80,7 +80,7 @@ Authors@R: c( 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")) - person("Arthur", "Eschenlauer", role = c("aut", "cph"), email = "esch0041@umn.edu", comment = c(ORCID = "0000-0002-2882-0508")), + person("Arthur", "Eschenlauer", role = c("aut", "cph"), email = "esch0041@umn.edu", comment = c(ORCID = "0000-0002-2882-0508")), ) Description: A suite of custom R Markdown formats and templates for authoring journal articles and conference submissions. From b05ec78eaaf554d1e785949679a5b92fcbc5c282 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 5 May 2023 15:16:40 +0200 Subject: [PATCH 14/16] keep new lines --- tests/testit/test-formats.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index e46bc7150..acf0d58cc 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -29,9 +29,11 @@ test_format <- function(name, output_options = NULL, skip = NULL) { file.exists(output_file) }) } + #--- NOTE to contributors ------------------------------------------------------ # Please order these tests by formats alphabetically. #------------------------------------------------------------------------------- + test_format("acm") test_format("acs") test_format("aea") From c558975d6f04ac9df397629fe3aefbe82afe7f51 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 5 May 2023 16:54:48 +0200 Subject: [PATCH 15/16] Missing colon in DESCRIPTION --- DESCRIPTION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 23fa8d78c..8c1d650c5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -79,8 +79,8 @@ 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")) - person("Arthur", "Eschenlauer", role = c("aut", "cph"), email = "esch0041@umn.edu", comment = c(ORCID = "0000-0002-2882-0508")), + comment = c(ORCID = "0000-0003-4655-4511", github = "remlapmot")), + person("Arthur", "Eschenlauer", role = c("aut", "cph"), email = "esch0041@umn.edu", comment = c(ORCID = "0000-0002-2882-0508")) ) Description: A suite of custom R Markdown formats and templates for authoring journal articles and conference submissions. From e0d0c115603d37fb05968302ccfefc941eb53051 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 5 May 2023 20:31:35 +0200 Subject: [PATCH 16/16] Add missing part for Pandoc in templates and reorganize order --- .../gigascience/resources/template.tex | 76 ++++++++++++++++--- 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/inst/rmarkdown/templates/gigascience/resources/template.tex b/inst/rmarkdown/templates/gigascience/resources/template.tex index 3ead58bd2..73722d7e1 100644 --- a/inst/rmarkdown/templates/gigascience/resources/template.tex +++ b/inst/rmarkdown/templates/gigascience/resources/template.tex @@ -10,25 +10,71 @@ $highlighting-macros$ $endif$ -% include header-includes if any -$for(header-includes)$ -$header-includes$ -$endfor$ - -% before include preamble if any -$preamble$ -% after include preamble if any - %%% declare packages to be used \usepackage{forarray} \usepackage{xstring} \usepackage{graphicx} \usepackage{siunitx} -%%% unpackged commands +% tightlist command for lists without linebreak \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$if(tables)$ +% From pandoc table feature +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +$endif$ + +$if(csl-refs)$ +% Pandoc citation processing +\newlength{\cslhangindent} +\setlength{\cslhangindent}{1.5em} +\newlength{\csllabelwidth} +\setlength{\csllabelwidth}{3em} +\newlength{\cslentryspacingunit} % times entry-spacing +\setlength{\cslentryspacingunit}{\parskip} +% for Pandoc 2.8 to 2.10.1 +\newenvironment{cslreferences}% + {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}% + \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}% + {\par} +% For Pandoc 2.11+ +\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing + {% don't indent paragraphs + \setlength{\parindent}{0pt} + % turn on hanging indent if param 1 is 1 + \ifodd #1 + \let\oldpar\par + \def\par{\hangindent=\cslhangindent\oldpar} + \fi + % set entry spacing + \setlength{\parskip}{#2\cslentryspacingunit} + }% + {} +\usepackage{calc} +\newcommand{\CSLBlock}[1]{#1\hfill\break} +\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} +\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} +\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} +$endif$ + +% include header-includes if any +$for(header-includes)$ +$header-includes$ +$endfor$ + %%% Flushend: You can add this package to automatically balance the final page, but if things go awry (e.g. section contents appearing out-of-order or entire blocks or paragraphs are coloured), remove it! % \usepackage{flushend} @@ -74,6 +120,11 @@ \end{keywords} \end{frontmatter} +$for(include-before)$ +$include-before$ + +$endfor$ + \begin{keypoints*} \begin{itemize} $for(keypoints)$\item{$keypoints$}$sep$ @@ -83,5 +134,10 @@ $body$ + +$for(include-after)$ +$include-after$ + +$endfor$ %%% The document ends here \end{document}