Package 'stevetemplates'

Title: Steve's R Markdown Templates
Description: These are my collection of 'R Markdown' templates, mostly for compilation to PDF. These are useful for all things academic and professional, if you are using 'R Markdown' for things like your CV or your articles and manuscripts.
Authors: Steven Miller [aut, cre]
Maintainer: Steven Miller <[email protected]>
License: GPL-2
Version: 1.1.0
Built: 2025-02-07 14:21:05 UTC
Source: https://github.com/svmiller/stevetemplates

Help Index


Steve's Anonymous Manuscript Template

Description

The R Markdown template Steve used once for an anonymous manuscript submission that needed to look an exact way. I've used this only once for a manuscript submission to a particular journal. It was not published. I have not had the occasion to submit there again.

Usage

anonms(...)

templ_anonms()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template. Honestly, this looks like a boilerplate R Markdown template. I think runhead is the only parameter unique to this document. It's also mandatory. Other fields that you can see in the skeleton (e.g. title, name, affiliation) are borrowed from other templates and explicated there.

FIELD DESCRIPTION
runhead A shortened version of title to treat as a running head

Steve's First Article/Manuscript Template

Description

A template for academic articles/manuscripts. For more information, see here: http://svmiller.com/blog/2020/09/another-rmarkdown-article-template/.

Usage

article(...)

templ_article()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
name name of the author
affiliation the affiliation of the author
thanks A place to thank people for their input, identify corresponding author, etc.
abstract include an abstract of the paper here
keywords some keywords for the manuscript
anonymous logical, defaults to FALSE. If TRUE, scrubs all identifying author info for peer review
removetitleabstract logical, defaults to FALSE. If TRUE, removes title/abstract for peer review (if you'd like)
appendix optional, but specifies appendix figure/table prefices
endnotes logical, defaults to FALSE. If TRUE, makes R Markdown footnotes as endnotes
twocol logical, defaults to FALSE. If TRUE, makes document two-column format

Steve's 2nd Article/Manuscript Template

Description

Another template for academic articles/manuscripts. For more information, see here: http://svmiller.com/blog/2020/09/another-rmarkdown-article-template/. Please note that xelatex is functionally required for this template/function.

Usage

article2(...)

templ_article2()

Arguments

...

Arguments to rmarkdown::pdf_document.

Details

If your version of TeX comes by way of Yihui Xie's tinytex, you'll want to additionally install the "xurl" library. Otherwise, you'll get a vague error about a missing LaTeX dependency. tinytex::tlmgr_install("xurl") should suffice. I thank Ian Adams and Cornelius Hennch for finding this issue and pointing to this solution.

About YAML header fields

This section documents some of the YAML fields to know for this template. Much should've been carried over from my first article/manuscript template. Please yell at me/raise an issue on the Github repo if I didn't.

FIELD DESCRIPTION
name name of the author
affiliation the affiliation of the author
thanks A place to thank people for their input, identify corresponding author, etc.
abstract include an abstract of the paper here
keywords some keywords for the manuscript
anonymous logical, defaults to FALSE. If TRUE, scrubs all identifying author info for peer review
removetitleabstract logical, defaults to FALSE. If TRUE, removes title/abstract for peer review (if you'd like)
appendix optional, but specifies appendix figure/table prefices
endnotes logical, defaults to FALSE. If TRUE, makes R Markdown footnotes as endnotes
pandocparas logical, defaults to FALSE. If TRUE, keeps Pandoc's default paragraph format
sansitup logical, defaults to FALSE. If TRUE, better mimics ACM's use of sans fonts for section headers
mainfont optional (I think?), but it's the main font to use with xelatex. I use cochineal here.
sansfont optional, only necessary if sansitup: TRUE. Specifies sans font. I recommend Linux Biolinum
doublespacing optional, if anything is here to process, this will double-space the document.

Steve's 3rd Article/Manuscript Template

Description

Another template for academic articles/manuscripts. Please note that xelatex is functionally required for this template/function. An (incomplete) primer on this tutorial is available on my website http://svmiller.com/blog/2023/05/a-third-rmarkdown-article-manuscript-template/.

Usage

article3(...)

templ_article3()

Arguments

...

Arguments to rmarkdown::pdf_document.

Details

If your version of TeX comes by way of Yihui Xie's tinytex, you'll want to additionally install the "xurl" library. Otherwise, you'll get a vague error about a missing LaTeX dependency. tinytex::tlmgr_install("xurl") should suffice. I thank Ian Adams and Cornelius Hennch for finding this issue and pointing to this solution.

About YAML header fields

This section documents some of the YAML fields to know for this template. Just about everything is carried over from the 2nd article template. The user will want to pay careful attention in the skeleton/example file about how the YAML is structured for author information.

Do note that Pandoc limitations preclude a more sophisticated "if-else" logic to formatting authors and their affiliations. This means (basically: strongly implies) that one of solo-author, two-author, or n-author is explicitly set to TRUE for this template to look like it makes sense. You do not need all three in your YAML. You just need one, and to set it to TRUE.

FIELD DESCRIPTION
author author information with support for subfields of name, email, author order, and affiliation code
affils affiliation information corresponding with the authors. Sync code here with the information in the author field.
thanks A place to thank people for their input, identify corresponding author, etc.
abstract include an abstract of the paper here
keywords some keywords for the manuscript
anonymous logical, defaults to FALSE. If TRUE, scrubs all identifying author info for peer review
removetitleabstract logical, defaults to FALSE. If TRUE, removes title/abstract for peer review (if you'd like)
appendix optional, but specifies appendix figure/table prefices
endnotes logical, defaults to FALSE. If TRUE, makes R Markdown footnotes as endnotes
pandocparas logical, defaults to FALSE. If TRUE, keeps Pandoc's default paragraph format
sansitup logical, defaults to FALSE. If TRUE, better mimics ACM's use of sans fonts for section headers
mainfont optional (I think?), but it's the main font to use with xelatex. I use cochineal here.
sansfont optional, only necessary if sansitup: TRUE. Specifies sans font. I recommend Linux Biolinum
doublespacing optional, if anything is here to process, this will double-space the document.
remove-emails optional, defaults to FALSE. If TRUE, removes author email information from document preamble.
remove-paper-info optional, defaults to FALSE. If TRUE, removes optional paper information you may want to include.
paper-info Additional information you may want to include about the paper.
solo-author Is there only one author on this project? Then set as TRUE. Has implications for formatting.
two-author Are there only two authors on this project? Then set as TRUE. Has implications for formatting.
n-author Are there more than two authors on this project? Then set as TRUE. Has implications for formatting.
alternate-layout If TRUE, adjusts the layout slightly (moving affiliations outside the abstract and to near the authors. Experiment with it and see if you like it.

Steve's Beamer Template

Description

This is the R Markdown template I use for in-class or in-person presentations. For a discussion of some of its features, see here: http://svmiller.com/blog/2019/08/r-markdown-template-beamer-presentations/.

Usage

beamer(...)

templ_beamer()

Arguments

...

Arguments to rmarkdown::beamer_presentation.

Details

Note that xelatex is not required for this template but is heavily suggested. If you elect to use xelatex, you must supply something in ⁠titlefont:⁠ and ⁠mainfont:⁠ that your particular LaTeX installation will recognize. See discussion here: https://github.com/svmiller/stevetemplates/issues/4

About YAML header fields

FIELD DESCRIPTION
title Title of the presentation
subtitle Subtitle of the presentation. Optional, but useful. For in-class lectures, I put the class name here.
institute List your department/college here. Optional.
titlegraphic Put a path to university watermark here. Optional.
scaletg Scale titlegraphic relative to the width of the document. Optional, defaults to .3
titlegraphshift Optional LaTeX commands to move around titlegraphic. Manually escape any LaTeX code you put here. Use with care.
make149 Logical, gives 14:9 dimension to presentation (my favorite). Optional, defaults to FALSE.
mainfont The main font to use with xelatex. I use ⁠Open Sans⁠ here. Optional, but recommended.
titlefont The font for slide titles. I use ⁠Titillium Web⁠ here. Optional, but recommended.
primarycolor Specifies a "primary" color in six-digit RGB color. Defaults to ⁠002F5F⁠. Optional.
secondarycolor Specifies a "secondary" color in six-digit RGB color. Defaults to ⁠9BB2CE⁠. Optional.
no_toc_after When TRUE, disables table of contents at end of document. Optional.

Steve's (Non-Academic) Cover Letter Template

Description

A template for cover letters when applying for non-academic jobs. For more information, see here: https://twitter.com/stevenvmiller/status/1320831949469065218. This template will force the use of xelatex.

Usage

cover_letter(...)

templ_cover_letter()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
author name of the author
address the author's address, which can (and should) be piped with | separators
email the author's email
url the author's website domain
phone the author's phone number
fontawesome logical, defaults to TRUE. If TRUE, use fontawesome icons
mainfont The main font to use with xelatex. I use cochineal here. Optional, but recommended.
monofont The monospaced font to use with xelatex. I use Fira Code here. Optional, but recommended.
date Specify a date format
greetings Specify a salutations to start the letter

Steve's Academic CV Template

Description

A template for academic CVs. For more information, see here: http://svmiller.com/blog/2016/03/svm-r-markdown-cv/.

Usage

cv(...)

templ_cv()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
author name of the author
jobtitle appears as first row in the CV
address appears as second row in the CV
fontawesome logical, defaults to TRUE. If TRUE, use fontawesome icons
email your email, for the third row
github optional, displays Github user name on third row
orcid optional, displays ORCID ID on third row
phone optional, displays your phone number on third row
web optional, displays your domain name on third row
updated optional, displays (on third row) when file was last updated
keywords not terribly useful, but some keywords to embed in PDF so Google may find it

Steve's Second Academic CV Template

Description

A template for academic CVs. This is an evolution of the first one, though has slightly different aesthetic features you can see for yourself. For more information, see here: http://svmiller.com/blog/2016/03/svm-r-markdown-cv/. You can also check my current CV.

Usage

cv2(...)

templ_cv2()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
author name of the author
jobtitle appears as first row in the CV
address appears as second row in the CV
fontawesome logical, defaults to TRUE. If TRUE, use fontawesome icons
email your email, for the third row
github optional, displays Github user name on third row
orcid optional, displays ORCID ID on third row
phone optional, displays your phone number on third row
web optional, displays your domain name on third row
updated optional, displays (on third row) when file was last updated. If FALSE or omitted, date of update is communicated in footer
rdateformat optional, but takes R syntax to format date of update.
keywords not terribly useful, but some keywords to embed in PDF so Google may find it

Additional Comments

The fontawesome argument calls the fontawesome5 package in LaTeX. This assumes the use of TeXLive 2015 at the latest.

latex_engine is hard-set as "xelatex". This permits greater flexibility in use of fonts through the mainfont argument you can specify in the YAML.

I'll be frank that disabling fontawesome doesn't make much sense to me, though the option is there if you want it. The CV just won't look as nice with it disabled.

fontawesome controls the use of icons in the header, though icons for ORCID and OSF come from the academicicons package. Everything else comes from fontawesome5.


Stockholm University EKOHIST Thesis Template

Description

This is a specialty LaTeX R Markdown template for which I am not anticipating there will be high demand. This is for master's students in the Department of Economic History and International Relations at Stockholm University, which currently employs me and is always welcome to give me more money.

Usage

ekohist_thesis(...)

templ_ekohist_thesis()

Arguments

...

Arguments to rmarkdown::pdf_document.

Details

If your version of TeX comes by way of Yihui Xie's tinytex, you may want to additionally install the "xurl" library. Otherwise, you'll get a vague error about a missing LaTeX dependency. tinytex::tlmgr_install("xurl") should suffice. I thank Ian Adams and Cornelius Hennch for finding this issue and pointing to this solution.

About YAML header fields

This section documents some of the YAML fields to know for this template. There is not much here that is particularly important.

FIELD DESCRIPTION
author name of the author (i.e. the student)
supervisor the name of the supervising professor (i.e. probably me)
field the field of study (i.e. typically economic history of IR)
mainfont optional(?), but it's the main font to use with xelatex.
abstract include an abstract of the paper here
keywords some keywords for the manuscript
pandocparas logical, defaults to FALSE. If TRUE, keeps Pandoc's
default paragraph format

Steve's HTML Article Template

Description

This is the R Markdown template I added in support of another package, which facilitates the conversion of academic articles to HTML format.

Usage

html_article(...)

templ_html_article()

Arguments

...

Arguments to rmarkdown::word_document.


Steve's Memo Template

Description

A template for memos. For more information, see here: http://svmiller.com/blog/2019/06/r-markdown-memo-template/.

Usage

memo(...)

templ_memo()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
from name of the author
to the intended recipient
subject the title of the memo
date the date of the memo
memorandum logical. If TRUE, includes MEMORANDUM on top of the memo
graphics logical. If TRUE, allows for graphic logo on memo
width adjustable with for logo, if graphics: TRUE
logoposition position of logo, if graphics: TRUE
logo file for logo, if graphics: TRUE

Steve's Non-Academic Résumé Template:

Description

A template for non-academic résumés . For more information, see here: http://svmiller.com/blog/2020/09/rmarkdown-template-non-academic-resume/. Do note that xelatex is functionally required for this template.

Usage

resume(...)

templ_resume()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
author name of the author
fontawesome logical, defaults to TRUE. If TRUE, use fontawesome icons
email your email
location your address
phone your phone number
github your Github username (optional)
⁠web:⁠ your domain name
twitter your Twitter handle
linkedin your LinkedIn ID
includephoto logical, defaults to FALSE. If TRUE, includes photo of you in top-right of document.
myphoto file name for your photo, only necessary if includephoto: TRUE.
shift shift/adjust photo, defaults to '7in, -.25in' if includephoto: TRUE
photobigness how big photo should be, adjust to taste if includephoto: TRUE
photozoom adjust zoom on photo, defaults to 20% of textwidth (as LaTeX macro) if includephoto: TRUE

Steve's Statement Template

Description

A template for what I term "statements." These are things like research statements and teaching statements when I'm applying for jobs or doing end-of-the-semester busy work for the proverbial "ball and chain."

Usage

statement(...)

templ_statement()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

This section documents some of the YAML fields to know for this template.

FIELD DESCRIPTION
title title of the document, appears on first row
author name of the author, appears on second row
affiliation institutional affiliation, appears on third row
email your email, for the fourth row

Steve's Syllabus Template

Description

This is the R Markdown template I use for my syllabi. For a discussion of some of its features, see here: http://svmiller.com/blog/2016/07/r-markdown-syllabus/. The skeleton also includes code for a calendar. I discuss this here: http://svmiller.com/blog/2020/08/a-ggplot-calendar-for-your-semester/

Usage

syllabus(...)

templ_syllabus()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

FIELD DESCRIPTION
title Title of the class
author Name(s) of the professor(s)
date The semester
email Your email. Technically optional, but you really should use it.
web Class website. Technically optional, but you really should use it.
officehours Your office hours. Technically optional, but you really should use it.
office Your office location. Technically optional, but you really should use it.
classroom The classroom location. Technically optional, but you really should use it.
classhours When/for how long the class meets in a given session. Technically optional, but you really should use it.
coteaching If TRUE, changes format to allow for a second (third, or fourth) co-teacher

Additional Comments

There is a nested conditionality for co-teachers. If coteaching is TRUE, format changes to allow a second teacher. Conditional on coteaching being TRUE and there being an email3 entry, a third co-teacher is added and entries for the third teacher's office hours and office are assumed. If coteaching is TRUE, email3 has an entry and there is an email4 entry, a fourth co-teacher is added.

In the case of the above nested conditionality for co-teachers, be advised this was a hacky (sic) solution until I got too frustrated with doing it this way. You may want to look at the syllabus2 template in the same package.


Steve's 2nd Syllabus Template

Description

This is the R Markdown template I use for my syllabi at Stockholm University. Classes are structured a lot differently here, so a lot of what I'd like to do or aspire to do has to change.

Usage

syllabus2(...)

templ_syllabus2()

Arguments

...

Arguments to rmarkdown::pdf_document.

About YAML header fields

FIELD DESCRIPTION
title Title of the class
author Name(s) of the professor(s)
term The term of the class (e.g. Fall 2024, Spring 2025, Summer 2025)
dates A basic date range for the course (e.g. Feb. 20 - March 21)
fontawesome Logical, defaults to TRUE, for use of Font Awesome icons
email The email for the "course responsible" professor. It's a thing here.
web Class website. Technically optional, but you really should use it.
office Your office location. Technically optional, but you really should use it.
one-teacher Specify this argument in the YAML as TRUE for classes with one professor.
two-teachers Specify this argument in the YAML as TRUE for classes with two professors. Has implications for formatting.
n-teachers Specify this argument in the YAML as TRUE for classes with more than two professors. Has implications for formatting.

Additional Comments

XeLaTeX is imposed by a standard use in RStudio. The one-/two-/n-teacher(s) hack is inspired by hackery in article3 in this same package. Specify only one of those.

The Font Awesome package in LaTeX is fontawesome5.

The "author" argument should be used as if there were potentially multiple professors (even if there is just the one). You'll see what I mean in the skeleton file.


Steve's Word Manuscript Template

Description

This is the R Markdown template I use for journals that insist on Microsoft Word submissions. The functionality is limited, mostly because Microsoft Word is limited. The only real use here is the effective anonymity that emerges in the Word document when the primary workflow is still built around compilation to a LaTeX PDF.

Usage

word(...)

templ_word()

Arguments

...

Arguments to rmarkdown::word_document.