+ - 0:00:00
Notes for current slide
Notes for next slide

Drafting and Publishing Reproducible Scientific Articles with R Markdown

Julia Schulte-Cloos
03 March 2021

https://jschultecloos.github.io/reproducr

What makes computational reproducibility still so hard in practice?

LaTeX and RMarkdown

We do not ask for nothing more than a manuscript...

LaTeX and RMarkdown

...simple like this

\documentclass[11pt, DIV=11]{scrartcl}
\usepackage{authblk}
\usepackage{mathptmx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{float}
\usepackage{scrlayer-scrpage}
\usepackage{setspace}
\usepackage[backend=biber, style=apa, doi=false, isbn=false, url=false, uniquename=false, useprefix=true]{biblatex}
\usepackage{subcaption}
\usepackage{xpatch}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{enumitem}
\usepackage{fontspec}
\usepackage{libertine}
\usepackage{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\singlespacing
\title{\vspace{2ex}
ReproducR - Drafting and publishing reproducible scientific articles with R Markdown.}
\author{Julia Schulte-Cloos\thanks{Geschwister Scholl Institute of Political Science, LMU Munich, julia.schulte@lmu.de}}
\vspace{-4ex}
\maketitle
\thispagestyle{empty}
\vfill
\clearscrheadings
\renewcommand*{\headfont}{\normalfont\sffamily\footnotesize}
\cfoot{\vspace{-2ex} \pagemark}
\makeatletter
\let\ps@plain\ps@scrheadings
\makeatother
\begin{abstract}
\singlespacing
\begin{center} \textbf{Abstract} \end{center}
\noindent As demands for computational reproducibility in science are increasing, tools for literate programming are becoming ever more relevant. R Markdown offers a framework to generate reproducible research in various output formats. I present a new package, `reproducr`, that allows users without any prior knowledge of R Markdown to implement reproducible research practices in their scientific workflows. The `reproducr` package offers an integrated-file solution that guides researchers from draft to final paper submission. While in the stage of explorative analysis and when focusing on content only, researchers may rely on the ‘draft mode’ of the `reproducr` package that knits to HTML and allows them to interactively explore their data. When in the stage of research dissemination and when focusing on the presentation of results, in contrast, researchers may rely on the ‘manuscript mode’ that knits to PDF and allows them to circulate a publication-ready version of their working paper or submit it (blinded) for review.
\end{abstract}
\pagebreak
\pagestyle{scrheadings}
\onehalfspacing
\end{document}

LaTeX and RMarkdown

And what we get is...

LaTeX and RMarkdown

...complicated like this

% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[
]{article}
\usepackage{amsmath,amssymb}
\usepackage{lmodern}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
pdftitle={ReproducR - Drafting and publishing reproducible scientific articles with R Markdown},
pdfauthor={Julia Schulte-Cloos},
hidelinks,
pdfcreator={LaTeX via pandoc}}
\urlstyle{same} % disable monospaced font for URLs
\usepackage[margin=1in]{geometry}
\usepackage{color}
\usepackage{fancyvrb}
\newcommand{\VerbBar}{|}
\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
% Add ',fontsize=\small' for more characters per line
\usepackage{framed}
\definecolor{shadecolor}{RGB}{248,248,248}
\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}}
\newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{#1}}
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{#1}}
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}}
\newcommand{\BuiltInTok}[1]{#1}
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}}
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}}
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{#1}}
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}}
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{#1}}}
\newcommand{\ExtensionTok}[1]{#1}
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}}
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
\newcommand{\ImportTok}[1]{#1}
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}}
\newcommand{\NormalTok}[1]{#1}
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{#1}}}
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{#1}}
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}}
\newcommand{\RegionMarkerTok}[1]{#1}
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
\usepackage{graphicx}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
% Set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\ifluatex
\usepackage{selnolig} % disable illegal ligatures
\fi
\title{ReproducR - Drafting and publishing reproducible scientific
articles with R Markdown}
\author{Julia Schulte-Cloos}
\date{03 3 2021}
\begin{document}
\maketitle
\begin{abstract}
As demands for computational reproducibility in science are increasing,
tools for literate programming are becoming ever more relevant. R
Markdown offers a framework to generate reproducible research in various
output formats. I present a new package, \texttt{reproducr}, that allows
users without any prior knowledge of R Markdown to implement
reproducible research practices in their scientific workflows. The
\texttt{reproducr} package offers an integrated-file solution that
guides researchers from draft to final paper submission. While in the
stage of explorative analysis and when focusing on content only,
researchers may rely on the `draft mode' of the \texttt{reproducr}
package that knits to HTML and allows them to interactively explore
their data. When in the stage of research dissemination and when
focusing on the presentation of results, in contrast, researchers may
rely on the `manuscript mode' that knits to PDF and allows them to
circulate a publication-ready version of their working paper or submit
it (blinded) for review.
\end{abstract}
\pagebreak
\end{document}

But we could customize the YAML header?

...at least a bit..?

But we could customize the YAML header?

...at least a bit..?

---
output:
pdf_document:
latex_engine: xelatex
header-includes:
- |
```{=latex}
\usepackage{microtype}
\usepackage{fontspec}
\setmainfont{Times.otf}[
BoldFont = TimesBold.otf]
\usepackage{ragged2e}
\renewcommand{\footnotesize}{\scriptsize \justify}
\usepackage{setspace}
\usepackage{xcolor}
\definecolor{very-light-gray}{gray}{0.95}
\pagenumbering{gobble}
\makeatletter
\def\MT@is@composite#1#2\relax{%
\ifx\\#2\\\else
\expandafter\def\expandafter\MT@char\expandafter{\csname\expandafter
\string\csname\MT@encoding\endcsname
\MT@detokenize@n{#1}-\MT@detokenize@n{#2}\endcsname}%
% 3 lines added:
\ifx\UnicodeEncodingName\@undefined\else
\expandafter\expandafter\expandafter\MT@is@uni@comp\MT@char\iffontchar\else\fi\relax
\fi
\expandafter\expandafter\expandafter\MT@is@letter\MT@char\relax\relax
\ifnum\MT@char@ < \z@
\ifMT@xunicode
\edef\MT@char{\MT@exp@two@c\MT@strip@prefix\meaning\MT@char>\relax}%
\expandafter\MT@exp@two@c\expandafter\MT@is@charx\expandafter
\MT@char\MT@charxstring\relax\relax\relax\relax\relax
\fi
\fi
\fi
}
% new:
\def\MT@is@uni@comp#1\iffontchar#2\else#3\fi\relax{%
\ifx\\#2\\\else\edef\MT@char{\iffontchar#2\fi}\fi
}
\makeatother
---

[https://tex.stackexchange.com/questions/559727/issue-with-latex-code-in-header-includes-in-r-markdown-file-after-r-and-rstudi]

Template vs. output format

The reproducr package does not present yet another custom .Rmd template.

Template vs. output format

The reproducr package does not present yet another custom .Rmd template.

\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{article}
\usepackage[left=1in,top=1in,right=1in,bottom=1in]{geometry}
\newcommand*{\authorfont}{\fontfamily{phv}\selectfont}
$if(fontfamily)$
\usepackage[$fontfamilyoptions$]{$fontfamily$}
$else$
\usepackage{lmodern}
$endif$
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{abstract}
\renewcommand{\abstractname}{} % clear the title
\renewcommand{\absnamepos}{empty} % originally center
\renewenvironment{abstract}
{{%
\setlength{\leftmargin}{0mm}
\setlength{\rightmargin}{\leftmargin}%
}%
\relax}
{\endlist}
\makeatletter
\def\@maketitle{%
\newpage
% \null
% \vskip 2em%
% \begin{center}%
\let \footnote \thanks
{\fontsize{18}{20}\selectfont\raggedright \setlength{\parindent}{0pt} \@title \par}%
}
%\fi
\makeatother
$if(appendix)$
\renewcommand*\thetable{$appendixletter$.\arabic{table}}
\renewcommand*\thefigure{$appendixletter$.\arabic{figure}}
$endif$
\setcounter{secnumdepth}{0}
$if(listings)$
\usepackage{listings}
$endif$
$if(lhs)$
\lstnewenvironment{code}{\lstset{language=r,basicstyle=\small\ttfamily}}{}
$endif$
$if(highlighting-macros)$
$highlighting-macros$
$endif$
$if(verbatim-in-note)$
\usepackage{fancyvrb}
$endif$
$if(tables)$
\usepackage{longtable,booktabs}
$endif$
$if(graphics)$
\usepackage{graphicx,grffile}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
$endif$
$if(title)$
\title{$title$$if(subtitle)$: $subtitle$$endif$ $if(anonymous)$$else$$if(thanks)$\thanks{$thanks$} $endif$$endif$ }
$endif$
$if(anonymous)$$else$\author{$for(author)$\Large $author.name$\vspace{0.05in} \newline\normalsize\emph{$author.affiliation$} $sep$ \and $endfor$}$endif$
\date{}
\usepackage{titlesec}
\titleformat*{\section}{\normalsize\bfseries}
\titleformat*{\subsection}{\normalsize\itshape}
\titleformat*{\subsubsection}{\normalsize\itshape}
\titleformat*{\paragraph}{\normalsize\itshape}
\titleformat*{\subparagraph}{\normalsize\itshape}
$if(natbib)$
\usepackage{natbib}
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
\usepackage[strings]{underscore} % protect underscores in most circumstances
$endif$
$if(biblatex)$
\usepackage$if(biblio-style)$[style=$biblio-style$]$endif${biblatex}
$if(biblatexoptions)$\ExecuteBibliographyOptions{$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$}$endif$
$for(bibliography)$
\addbibresource{$bibliography$}
$endfor$
$endif$
$if(listings)$
\usepackage{listings}
$endif$
\newtheorem{hypothesis}{Hypothesis}
\usepackage{setspace}
% set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother
$for(header-includes)$
$header-includes$
$endfor$
% move the hyperref stuff down here, after header-includes, to allow for - \usepackage{hyperref}
\makeatletter
\@ifpackageloaded{hyperref}{}{%
\ifxetex
\PassOptionsToPackage{hyphens}{url}\usepackage[setpagesize=false, % page size defined by xetex
unicode=false, % unicode breaks when used with xetex
xetex]{hyperref}
\else
\PassOptionsToPackage{hyphens}{url}\usepackage[draft,unicode=true]{hyperref}
\fi
}
\@ifpackageloaded{color}{
\PassOptionsToPackage{usenames,dvipsnames}{color}
}{%
\usepackage[usenames,dvipsnames]{color}
}
\makeatother
\hypersetup{breaklinks=true,
bookmarks=true,
pdfauthor={$if(anonymous)$$else$$for(author)$$author.name$ ($author.affiliation$)$sep$ and $endfor$$endif$},
pdfkeywords = {$if(keywords)$$keywords$$endif$},
pdftitle={$title$$if(subtitle)$: $subtitle$$endif$},
colorlinks=true,
citecolor=$if(citecolor)$$citecolor$$else$blue$endif$,
urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
pdfborder={0 0 0}}
\urlstyle{same} % don't use monospace font for urls
% Add an option for endnotes. -----
$if(endnotes)$
\usepackage{endnotes}
\renewcommand{\enotesize}{\normalsize}
\let\footnote=\endnote
$endif$
% add tightlist ----------
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
% add some other packages ----------
% \usepackage{multicol}
% This should regulate where figures float
% See: https://tex.stackexchange.com/questions/2275/keeping-tables-figures-close-to-where-they-are-mentioned
\usepackage[section]{placeins}
% CSL environment change -----
$if(csl-refs)$
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\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 \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces\fi
% set entry spacing
\ifnum #2 > 0
\setlength{\parskip}{#2\baselineskip}
\fi
}%
{}
\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$
$if(csquotes)$
\usepackage{csquotes}
$endif$
\begin{document}
% \pagenumbering{arabic}% resets `page` counter to 1
%$if(appendix)$
%\renewcommand*{\thepage}{$appendixletter$--\arabic{page}}
%$endif$
$if(removetitleabstract)$
$else$
$if(title)$
% \maketitle
{% \usefont{T1}{pnc}{m}{n}
\setlength{\parindent}{0pt}
\thispagestyle{plain}
{\fontsize{18}{20}\selectfont\raggedright
\maketitle % title \par
}
{
\vskip 13.5pt\relax \normalsize\fontsize{11}{12}
$if(anonymous)$\hfill $else$$for(author)$\textbf{\authorfont $author.name$} \hskip 15pt \emph{\small $author.affiliation$} $sep$ \par $endfor$ $endif$
}
}
$endif$
$if(abstract)$
\begin{abstract}
\hbox{\vrule height .2pt width 39.14pc}
\vskip 8.5pt % \small
\noindent $abstract$
$if(keywords)$
\vskip 8.5pt \noindent \emph{Keywords}: $keywords$ \par
\hbox{\vrule height .2pt width 39.14pc}
$else$
\hbox{\vrule height .2pt width 39.14pc}
$endif$
\end{abstract}
$endif$
\vskip -8.5pt
$if(toc)$
{
\hypersetup{linkcolor=black}
\setcounter{tocdepth}{$toc-depth$}
\tableofcontents
}
$endif$
$endif$ % removetitleabstract
\noindent $if(anonymous)$\doublespacing$else$$if(spacing)$\$spacing$spacing$endif$$endif$
$if(twocol)$ \begin{multicols}{2}$endif$
$body$
$if(twocol)$ \end{multicols}$endif$
$if(endnotes)$
\newpage
\theendnotes
$endif$
\newpage
\singlespacing
$if(natbib)$
$if(bibliography)$
$if(biblio-title)$
$if(book-class)$
\renewcommand\bibname{$biblio-title$}
$else$
\renewcommand\refname{$biblio-title$}
$endif$
$endif$
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
$endif$
$endif$
$if(biblatex)$
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
$endif$
$for(include-after)$
$include-after$
$endfor$
\end{document}

[https://raw.githubusercontent.com/svmiller/stevetemplates/master/inst/rmarkdown/templates/article/resources/template.tex]

Template vs. output format

The default LaTeX pandoc template is subject to changes and continuos integration into Pandoc

Template vs. output format

The default LaTeX pandoc template is subject to changes and continuos integration into Pandoc

An integrated document from draft to submission

Reproducible research in all stages of the scientific workflow

The reproducr package offers extended functionality for scholarly writing

  • integrate scholarly information about authors, their (multiple) affiliations, their contributions, and corresponding author in title page of your manuscript

Reproducible research in all stages of the scientific workflow

The reproducr package offers extended functionality for scholarly writing

  • integrate scholarly information about authors, their (multiple) affiliations, their contributions, and corresponding author in title page of your manuscript

  • blind your manuscript before submitting it for review

Reproducible research in all stages of the scientific workflow

The reproducr package offers extended functionality for scholarly writing

  • integrate scholarly information about authors, their (multiple) affiliations, their contributions, and corresponding author in title page of your manuscript

  • blind your manuscript before submitting it for review

Reproducible research in all stages of the scientific workflow

  • include two separate bibliographies for main article and appendix

Reproducible research in all stages of the scientific workflow

  • include two separate bibliographies for main article and appendix

  • generate documents that contain a date stamp in their file name while keeping a clean .Rmd for tracking changes with version control

Reproducible research in all stages of the scientific workflow

  • include two separate bibliographies for main article and appendix

  • generate documents that contain a date stamp in their file name while keeping a clean .Rmd for tracking changes with version control

  • harmonise fonts in your graphs with fonts used in respective output format

Reproducible research in all stages of the scientific workflow

  • include two separate bibliographies for main article and appendix

  • generate documents that contain a date stamp in their file name while keeping a clean .Rmd for tracking changes with version control

  • harmonise fonts in your graphs with fonts used in respective output format

  • create high-resolution graphs

Reproducible research in all stages of the scientific workflow

  • include two separate bibliographies for main article and appendix

  • generate documents that contain a date stamp in their file name while keeping a clean .Rmd for tracking changes with version control

  • harmonise fonts in your graphs with fonts used in respective output format

  • create high-resolution graphs

Reproducible research in all stages of the scientific workflow

  • include two separate bibliographies for main article and appendix

  • generate documents that contain a date stamp in their file name while keeping a clean .Rmd for tracking changes with version control

  • harmonise fonts in your graphs with fonts used in respective output format

  • create high-resolution graphs

  • include your code with code-folding for HTML output and hide all of your code in PDF output

reproducr features two output formats

1) reproducr::reproducr_manuscript

2) reproducr::reproducr_draft

---
output:
reproducr::reproducr_manuscript:
blinded: false
reproducr::reproducr_draft
---

reproducr features two output formats

1) reproducr::reproducr_manuscript

2) reproducr::reproducr_draft

---
output:
reproducr::reproducr_manuscript:
blinded: false
reproducr::reproducr_draft
---
  • compile your document to a manuscript (PDF) by calling rmarkdown::render("reproducr-file.Rmd", "reproducr::reproducr_manuscript")

reproducr features two output formats

1) reproducr::reproducr_manuscript

2) reproducr::reproducr_draft

---
output:
reproducr::reproducr_manuscript:
blinded: false
reproducr::reproducr_draft
---
  • compile your document to a manuscript (PDF) by calling rmarkdown::render("reproducr-file.Rmd", "reproducr::reproducr_manuscript")

  • compile your document to a draft (HTML) by calling rmarkdown::render("reproducr-file.Rmd", "reproducr::reproducr_draft").

reproducr features two output formats

1) reproducr::reproducr_manuscript

2) reproducr::reproducr_draft

---
output:
reproducr::reproducr_manuscript:
blinded: false
reproducr::reproducr_draft
---
  • compile your document to a manuscript (PDF) by calling rmarkdown::render("reproducr-file.Rmd", "reproducr::reproducr_manuscript")

  • compile your document to a draft (HTML) by calling rmarkdown::render("reproducr-file.Rmd", "reproducr::reproducr_draft").

  • OR: click on the 'Knit' button (R Markdown will compile your document to the first output format that you specify in the YAML header)

Flexible output formats

reproducr offers full flexibility to knit your document to a polished and well-formatted HTML with all your explorative analysis and dynamic research output or to a polished and submission-ready PDF manuscript with all your scholarly information or blinded for review.

Flexible output formats

reproducr offers full flexibility to knit your document to a polished and well-formatted HTML with all your explorative analysis and dynamic research output or to a polished and submission-ready PDF manuscript with all your scholarly information or blinded for review.

  • But how to tell RMarkdown which parts are explorative or drafty and which parts are meant to be in the final manuscript?

Flexible output formats

reproducr offers full flexibility to knit your document to a polished and well-formatted HTML with all your explorative analysis and dynamic research output or to a polished and submission-ready PDF manuscript with all your scholarly information or blinded for review.

  • But how to tell RMarkdown which parts are explorative or drafty and which parts are meant to be in the final manuscript?

  • not-in-format DIV: wrap the parts of the paper that are exclusive to one output format in three colons ::: {.not-in-format .latex} closed by three more colons :::

Flexible output formats

reproducr offers full flexibility to knit your document to a polished and well-formatted HTML with all your explorative analysis and dynamic research output or to a polished and submission-ready PDF manuscript with all your scholarly information or blinded for review.

  • But how to tell RMarkdown which parts are explorative or drafty and which parts are meant to be in the final manuscript?

  • not-in-format DIV: wrap the parts of the paper that are exclusive to one output format in three colons ::: {.not-in-format .latex} closed by three more colons :::

  • Respective part of the document wrapped in the not-in-format div structure will not be included in LaTeX output.

Flexible output formats

reproducr offers full flexibility to knit your document to a polished and well-formatted HTML with all your explorative analysis and dynamic research output or to a polished and submission-ready PDF manuscript with all your scholarly information or blinded for review.

  • But how to tell RMarkdown which parts are explorative or drafty and which parts are meant to be in the final manuscript?

  • not-in-format DIV: wrap the parts of the paper that are exclusive to one output format in three colons ::: {.not-in-format .latex} closed by three more colons :::

  • Respective part of the document wrapped in the not-in-format div structure will not be included in LaTeX output.

  • Conditional code evaluation: eval=knitr::is_html_output().

Flexible output formats

reproducr offers full flexibility to knit your document to a polished and well-formatted HTML with all your explorative analysis and dynamic research output or to a polished and submission-ready PDF manuscript with all your scholarly information or blinded for review.

  • But how to tell RMarkdown which parts are explorative or drafty and which parts are meant to be in the final manuscript?

  • not-in-format DIV: wrap the parts of the paper that are exclusive to one output format in three colons ::: {.not-in-format .latex} closed by three more colons :::

  • Respective part of the document wrapped in the not-in-format div structure will not be included in LaTeX output.

  • Conditional code evaluation: eval=knitr::is_html_output().

Hands on

Get started with reproducr

For this workshop, let's make use of the package template that features enough examples

Get started with reproducr

For this workshop, let's make use of the package template that features enough examples

In R Studio: File > New File > R Markdown... > From Template > reproducr

Explore the data, exploit interactivity

Circulate, share, and submit your manuscript any time

Circulate, share, and submit your manuscript any time

↪️ https://jschultecloos.github.io/reproducr/articles/reproducr.html#dissemination-stage-1

Future plans and suggestions

Future plans and suggestions

❓ Questions ❓

Future plans and suggestions

❓ Questions ❓

🤓 Suggestions 🤓

Future plans and suggestions

❓ Questions ❓

🤓 Suggestions 🤓

🚀 Future Plans 🚀

Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow