--- title: pinp is not PNAS # Use letters 'a', 'b', ... or digits '1', '2', ... for different # affiliations and addresses. Use '~' or '""' to suppress the # display of the affiliation and address. author: - name: Dirk Eddelbuettel affiliation: a - name: James Joseph Balamuta affiliation: a address: - code: a address: University of Illinois at Urbana-Champaign; Champaign, IL, USA # Optional: line of arbitrary text with additional information. # Could be used, for example, to mention the bibliographic info in a post-print. # If not specified, defaults to "This version was compiled on \today" #date_subtitle: Published in *Journal of Statistical Software*, 2018 # For footer text TODO(fold into template, allow free form two-authors) lead_author_surname: Eddelbuettel and Balamuta # Place DOI URL or CRAN Package URL here doi_footer: "https://cran.r-project.org/package=pinp" # Abstract abstract: | This short vignette details several of the available options for the `pinp` pdf vignette template. # Optional: Acknowledgements acknowledgements: | We gratefully acknowledge all the help from the [rticles](https://cran.r-project.org/package=rticles) package \citep{CRAN:rticles} which not only introduced us to the powerful [PNAS LaTeX](http://www.pnas.org/site/authors/latex.xhtml) style class, but also provided useful code templates to study in the other mode as the fine macros. The [pandoc](http://pandoc.org) document converter \citep{pandoc} is the much-admired driving force behind the document manipulation. # Optional: One or more keywords #keywords: # - pdf # - vignette # Paper size for the document, values of letter and a4 papersize: letter # Font size of the document, values of 9pt (default), 10pt, 11pt and 12pt fontsize: 9pt # Optional: Force one-column layout, default is two-column #one_column: true # Optional: Enables lineo mode, but only if one_column mode is also true #lineno: true # Optional: Enable one-sided layout, default is two-sided #one_sided: true # Optional: Enable section numbering, default is unnumbered numbersections: true # Optional: Specify the depth of section number, default is 5 secnumdepth: 3 # Optional: Bibliography #bibliography: pinp # Optional: include-after #include-after: somefile.tex # Optional: Skip inserting final break between acknowledgements, default is false skip_final_break: true # Customize footer, eg by referencing the vignette footer_contents: "pinp Vignette" # Optional: Enable a 'Draft' watermark on the document #watermark: true # Produce a pinp document # # Other options that can be set here, shown with their defaults # keep_tex: TRUE # collapse: FALSE # citation_package: natbib # # Any other arguments to rmarkdown::pdf_document could be set # here as well # output: pinp::pinp: includes: after_body: bib.tex # Required: Vignette metadata for inclusion in a package. vignette: > %\VignetteIndexEntry{Introduction to pinp} %\VignetteKeywords{pinp,vignette} %\VignettePackage{pinp} %\VignetteEngine{knitr::rmarkdown} --- # Introduction The *pinp is not PNAS* template extends and reworks the [pnas_article](https://github.com/rstudio/rticles/tree/master/inst/rmarkdown/templates/pnas) template from the wonderful [rticles](https://cran.r-project.org/package=rticles) package. This vignette aims to list all the available option in order to provide both a reference documentation, and a simple introduction. The source of this vignette is of course included in the package itself. # YAML Content ## `author` Fields `name` and `affiliation` must be given. The latter can be a single-letter index referring to the address field described in the next paragraph. ## `address` Fields `code` (referring to the index from `affiliation`) and `address` must be given. The latter is free-form, and may include `\url{}` and other LaTeX macros. ## `lead_author_surnames` A free-form field usable for either a simple "Author _et al_", or a simple text field listing two or more authors. This field is not post-processed. ## `doi_footer` A free-form URL for a doi reference for a publication, or a canonical URL for a software package or repository. These are typeset as actual URLs and resolve their links from the pdf document following standard LaTeX practice. ## `abstract` A short free-form abstract can be used to inform the reader of the essence of the subsequent document. ## `acknowledgements` An _optional_ free-form text which will be typset at the very end of the document right before the (optional also) references. ## `keywords` An optional list (entered as a YAML list following `-` marks) which will be typeset as a list of alternatives separated by vertical _pipe_ symbols. # Options ## `fontsize` Default it 9pt, also supported are 10pt, 11pt and 12pt which may make sense in one-column mode. ## `one_column` An _optional_ override (using value `true`) for the default two-column layout. Useful for initial stages of a document, as well as for documents with wide-format tables and figures. ## `lineno` An _optional_ selection (via value `true`) of line numbers, selectable only if `one_column: true` is set. Currently typesets number on both the left and right-hand side which seems in error. ## `one_sided` An _optional_ selection (via value `true`) of one-sided rather than two-sided output. This should probably alter the footnote but does not currently do so. ## `numbersections` An _optional_ selection (via value `true`) for overriding the default unnumbered section headers. Useful if you need to refer to sections by number. ## `secnumdepth` An _optional_ selection (via values 1, 2, 3, ...) of section numbering depth, selectable only if `numbersections: true` is set. Useful if you only want to number sections and subsections but not subsubsections and so on. ## `skip_final_break` An _optional_ selection (via value `true`) that avoids inserting a `\pnasbreak` at the end of the document. This is useful when dealing with float issues that may appear at the end of documents with acknowledgements and bibliographies. ## `bibliography` A field for an _optional_ selection of a Bibtex input file, extension can be omitted. Alternative, bibliographic information may also be included directly as a `thebibliography` environment by including the content of the generated `bbl` file. The `after_body` include of the YAML header can also be used. ## `watermark` An _optional_ selection of a 'Draft' watermark drawn across the center of the page (using value `true`). Note that figures may be plotted above the watermark. ## `footer_contents` An character value delimited by quotes for something like _"mypackage Vignette"_ which will be shown in the footer. ## `date_subtitle` An _optional_ free-form text string. Could be used, for example, to mention the bibliographic info in a post-print. If not specified, defaults to "This version was compiled on {current date}" ## `document_date` An _optional_ free-form text string designed to specify the date of the document. It can be useful for example to specify the exact date of the publication in a post-print. If not specified, defaults to the current date. # Code ## Knitr The [knitr](https://cran.r-project.org/package=pinp) package \citep{CRAN:knitr} is also available to both typeset code, typically in R or one of the other supported engines. Knitr segments used three backticks (just like Pandoc described below) followed by curly brace sgement listing first the desired engine, and then the selected display options. Output from the code can also be shown, and a myriad of options permit many variants. ```{r} a <- 2 + 2 a ``` Output from such code blocks is also shown in a framed and shaded box. Code segments containing plots producing figures results in these figures being automatically inlined: ```{r} set.seed(42) par(mar=c(3,3,3,0)) plot(cumsum(rnorm(100)), type='l', main="Up and and away") ``` ## Pandoc The easiest way to typeset code is to simply open three backticks followed by the name of one of the _numerous_ built-in pandoc parsers, _i.e._, \verb|```c| to typeset in the C languags. ```c /* this is a C function example */ int doubleMe(int x) { return x + x; } ``` Pandoc segments are highlighted as usual, and per a convention in this template also shown in a framed and slightly shaded box as seen here and above. Another example from Python: ```py # A Python example def printSomething(str): "This prints the string passed in" print str ``` # Environments ## Standard LaTeX All standard LaTeX environment are directly usable if needed, including of course all mathematical environments and symbols such as, say, the greek lettering: $\alpha$, $\beta$, $\gamma$, and so on. The following is set as usual via the `displaymath` environment: \begin{displaymath} a^2 = b^2 + c^2 \end{displaymath} ## figure* Figure can span two columns (when the default two-column mode is used) by using a (LaTeX) `\begin{figure*} ... \end{figure*\it}` environment, . Figures will then be _floats_ in the LaTeX sense and place at the top or bottom of the page. An example is given by the skeleton document of the package. Similarly, `\begin{figure*} ... \end{figure*}` could be used around a wide table structure. ## widetext The `\begin{widetext} ... \end{widetext}` environment can be used to break text from two-column mode to one-column mode and back. As of the 2018 release of the underlying PNAS macros, this feature is deprecated upstream. But both the `figure*` and `table*` environments work, as does relying on \LaTeX commands `\onecolumn` and `\twocolumn`. # Other Help ## RMarkdown The [rmarkdown site](https://rmarkdown.rstudio.com/) by RStudio is very comprehensive and can answer many questions pertaining to Markdown processing in R using the [rmarkdown package](https://cran.r-project.org/package=rmarkdown). ## LaTeX Ultimately, this style uses LaTeX to produce the pdf output. The [tex StackExchange](https://tex.stackexchange.com) can be very helpful for specific LaTeX questions.