%\VignetteIndexEntry{R packages: LaTeX vignettes}
%\VignetteAuthor{Henrik Bengtsson}
%\VignetteEngine{R.rsp::tex}

%% Optional:
%\VignetteKeyword{R}
%\VignetteKeyword{package}
%\VignetteKeyword{vignette}
%\VignetteKeyword{LaTeX}

\documentclass[12pt]{article}
\usepackage{xspace}
\usepackage{alltt}

% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}	
\addtolength{\evensidemargin}{-0.5in}	
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-0.5in}	
\addtolength{\textheight}{1in}

% Drop PTEX metadata (for reproducbility)
\ifdefined\pdfsuppressptexinfo
  \pdfsuppressptexinfo=-1
\fi

\newcommand{\keywords}[1]{\footnotesize{\textbf{Keywords: }#1}\xspace}
\newcommand{\pkg}[1]{\textsl{#1}\xspace}
\newcommand{\file}[1]{\textsl{#1}\xspace}
\newcommand{\code}[1]{\texttt{#1}\xspace}
\newcommand{\bs}{$\backslash$}

\newenvironment{rspVerbatim}{\vspace{-\parskip}\begin{alltt}\color{blue}}{\end{alltt}}
\newenvironment{escapeRspVerbatim}{\vspace{-\parskip}\begin{alltt}}{\end{alltt}}


\title{R packages: LaTeX vignettes}
\author{Henrik Bengtsson}
\date{2016-05-16}

\begin{document}

\maketitle

To include a PDF vignette that is compiled from a plain LaTeX file,
all you need is the LaTeX file with LaTeX comments containing
meta directives to R such that it will be listed as a vignette in the
package.
The LaTeX-based vignette file should be placed in the
\code{vignettes/} directory of your package.  If your LaTeX file
includes other files such as figure files, these should also be
located in the vignettes/.
For instance, this PDF document was compiled from LaTeX file:
\begin{enumerate}
 \item \code{vignettes/R\_packages-LaTeX\_vignettes.ltx}
\end{enumerate}
which contains the following meta directives at the top of the file:
\begin{verbatim} 
  %\VignetteIndexEntry{R packages: LaTeX vignettes}
  %\VignetteEngine{R.rsp::tex}

  %% Optional:
  %\VignetteKeyword{R}
  %\VignetteKeyword{package}
  %\VignetteKeyword{vignette}
  %\VignetteKeyword{LaTeX}
\end{verbatim}
Here I choose filename extension \code{*.ltx}, which is a lesser known LaTeX filename extension, because if one uses \code{*.tex}, then \code{R CMD check} will give a NOTE complaining that the file is a stray file that should not be part of the built package.

Also, the above first two entries are required whereas the keyword
entries are optional.  Note also that the
\code{\%{\bs}VignetteIndexEntry\{\}} controls the title shown in R's
help indices as well as in online package respositories such as CRAN. 

As for any type of (non-Sweave) package vignette, don't forget to specify:
\begin{verbatim}
Suggests: R.rsp
VignetteBuilder: R.rsp
\end{verbatim}
in your package's DESCRIPTION file.  That's all it takes to include a
LaTeX file that will be compiled into a PDF vignette as part of the
package build.

\end{document}
