Search code examples
rr-markdowntinytex

Modifying CV generated by vitae package R


I've generated a CV using R vitae package and awesomecv template.

The utilised packages:

packageVersion("vitae");
#> [1] '0.2.2.9000'
packageVersion("tibble");
#> [1] '3.0.1'
packageVersion("dplyr");
#> [1] '1.0.0'
packageVersion("tinytex")
#> [1] '0.24'

Running:

R version 4.0.0 (2020-04-24)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

The simple reproducible example below shows what I am trying to modify - a section of Education with list (bullet-points) to show items in the PhD degree section.

My aim is to modify the indentation of items _a, and _b and create an appearance that they are subitems of the item _A. I would either wish it to be a tab based indentation of five spaces, or anything similar that creates the desired appearance (i.e., that they are a level below item _A). To visualise the desired output (anything similar to this is fine, as long as it doesn't require extensive code / manipulating the latex template itself):

  • Item_A
    • Item_a
    • Item_b

The reproducible example:

---
name: John
surname: Doe
position: ""
address: ""
phone: +44 1234 45687
www: stackoverlow.com
email: "[email protected]"
twitter: ""
github: ""
linkedin: ""
date: "`r format(Sys.time(), '%B %Y')`"
aboutme: "Hello world"
output: vitae::awesomecv
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
library(vitae)
library(tibble)
library(dplyr)
library(tinytex)
```

# Education
```{r education}
tribble(
     ~ degree, ~ uni, ~ loc, ~ dates, ~ this_is_the_list,
     "PhD degree", "My Uni",  "Uni Place", "2010 - 2020", "item_A",
     "PhD degree", "My Uni",  "Uni Place", "2010 - 2020", "item_a",
     "PhD degree", "My Uni",  "Uni Place", "2010 - 2020", "item_b") %>% 
  detailed_entries(degree, dates, uni, loc, this_is_the_list)
```

The example output:

Example output


Solution

  • By setting .protect = FALSE in the detailed_entries() function, you are able to provide latex inputs directly. Using this, you can create an itemize list within the existing item to get the desired result.

    This is admittedly a complex solution to the problem, so I've opened an issue to hopefully improve this in the future: https://github.com/mitchelloharawild/vitae/issues/126

    # Education
    ```{r education}
    tribble(
      ~ degree, ~ uni, ~ loc, ~ dates, ~ this_is_the_list,
      "PhD degree", "My Uni",  "Uni Place", "2010 - 2020", "
       item\\_A
       \\begin{itemize}
         \\item item\\_a
         \\item item\\_b
       \\end{itemize}") %>%
      detailed_entries(degree, dates, uni, loc, this_is_the_list, .protect = FALSE)
    ```
    

    screenshot