diff --git a/NEWS.md b/NEWS.md index 80e5c78..be06a8d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,6 @@ # labeleR 0.1.1 -* Functions names renamed +* Function `create_tinylabel` renamed as `create_tiny_label` for consistency (#57). * Keep user parameters unchanged * Description amended diff --git a/R/badge.R b/R/badge.R index aece396..e6d8547 100644 --- a/R/badge.R +++ b/R/badge.R @@ -26,14 +26,14 @@ #' #' @examplesIf interactive() #' create_badge( -#' data = badges.table, -#' path = "labeleR_output", -#' filename = NULL, -#' event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY", -#' name.column = "List", -#' affiliation.column = "Affiliation", -#' lpic = NULL, -#' rpic = NULL) +#' data = badges.table, +#' path = "labeleR_output", +#' filename = NULL, +#' event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY", +#' name.column = "List", +#' affiliation.column = "Affiliation", +#' lpic = NULL, +#' rpic = NULL) create_badge <- function(data = NULL, path = NULL, @@ -52,7 +52,7 @@ create_badge <- function(data = NULL, stop("Please provide a data.frame or tibble.") } - if(!(all(class(data)=="data.frame"))){data <- as.data.frame(data)} + if (!(all(class(data) == "data.frame"))) {data <- as.data.frame(data)} if (!inherits(data, "data.frame")) {stop("The 'data' object must be a data frame.")} if (is.null(path)) {stop("A folder path must be specified.")} @@ -72,11 +72,11 @@ create_badge <- function(data = NULL, } check_column_in_df(data, name.column) - data[,name.column]<- check_latex(data, name.column) + data[,name.column] <- check_latex(data, name.column) if (!is.null(affiliation.column)) { check_column_in_df(data, affiliation.column) - data[,affiliation.column]<- check_latex(data, affiliation.column) + data[,affiliation.column] <- check_latex(data, affiliation.column) } if (is.null(affiliation.column)) { affiliation.column <- "" diff --git a/R/certificate_attendance.R b/R/certificate_attendance.R index 6e7c067..528b927 100644 --- a/R/certificate_attendance.R +++ b/R/certificate_attendance.R @@ -35,20 +35,20 @@ #' @examplesIf interactive() #' #' create_attendance_certificate( -#' data = attendance.table, -#' path = "labeleR_output", -#' language = "English", -#' name.column = "Names", -#' type = "class", -#' title = "Potions Class", -#' date = "01/01/2021", -#' hours = 200, -#' freetext = "organised by {\\bf Hogwarts School year 1992-1993}", -#' signer = "A.P.W.B. Dumbledore", -#' signer.role = "School Headmaster", -#' lpic = NULL, -#' rpic = NULL, -#' signature.pic = NULL, +#' data = attendance.table, +#' path = "labeleR_output", +#' language = "English", +#' name.column = "Names", +#' type = "class", +#' title = "Potions Class", +#' date = "01/01/2021", +#' hours = 200, +#' freetext = "organised by {\\bf Hogwarts School year 1992-1993}", +#' signer = "A.P.W.B. Dumbledore", +#' signer.role = "School Headmaster", +#' lpic = NULL, +#' rpic = NULL, +#' signature.pic = NULL, #' ) @@ -79,7 +79,7 @@ create_attendance_certificate <- function( stop("A data.frame must be provided.") } - if(!(all(class(data)=="data.frame"))){data <- as.data.frame(data)} + if (!(all(class(data) == "data.frame"))) {data <- as.data.frame(data)} if (!inherits(data, "data.frame")) {stop("The 'data' object must be a data frame.")} if (is.null(path)) {stop("A folder path must be specified.")} diff --git a/R/certificate_participation.R b/R/certificate_participation.R index de823f9..6826b8d 100644 --- a/R/certificate_participation.R +++ b/R/certificate_participation.R @@ -41,22 +41,22 @@ #' @examplesIf interactive() # #' create_participation_certificate( -#' data = participation.table, -#' path = "labeleR_output", -#' language = "Spanish", -#' name.column = "Name", -#' affiliation.column = "House", -#' comm.type.column = "Comm.type", -#' title.column = "Title", -#' date.column = "Date", -#' type = "online seminar", -#' event = "Hogwarts School of Witchcraft and Wizardry", -#' freetext = "which lasted 2 hours", -#' signer = "A.P.W.B. Dumbledore", -#' signer.role = "School Headmaster", -#' lpic = NULL, -#' rpic = NULL, -#' signature.pic = NULL +#' data = participation.table, +#' path = "labeleR_output", +#' language = "Spanish", +#' name.column = "Name", +#' affiliation.column = "House", +#' comm.type.column = "Comm.type", +#' title.column = "Title", +#' date.column = "Date", +#' type = "online seminar", +#' event = "Hogwarts School of Witchcraft and Wizardry", +#' freetext = "which lasted 2 hours", +#' signer = "A.P.W.B. Dumbledore", +#' signer.role = "School Headmaster", +#' lpic = NULL, +#' rpic = NULL, +#' signature.pic = NULL #' ) create_participation_certificate <- function( @@ -89,7 +89,7 @@ create_participation_certificate <- function( stop("A data.frame must be provided.") } - if(!(all(class(data)=="data.frame"))){data <- as.data.frame(data)} + if (!(all(class(data) == "data.frame"))) {data <- as.data.frame(data)} if (!inherits(data, "data.frame")) {stop("The 'data' object must be a data frame.")} if (is.null(path)) {stop("A folder path must be specified.")} diff --git a/R/collection_label.R b/R/collection_label.R index 8c3ef8d..7e6df70 100644 --- a/R/collection_label.R +++ b/R/collection_label.R @@ -34,14 +34,14 @@ #' @examplesIf interactive() #' #' create_collection_label( -#' data = label.table, -#' path = "labeleR_output", -#' qr = "QR_code", -#' field1.column = "field1", -#' field2.column = "field2", -#' field3.column = "field3", -#' field4.column = "field6", -#' field5.column = "field7" +#' data = label.table, +#' path = "labeleR_output", +#' qr = "QR_code", +#' field1.column = "field1", +#' field2.column = "field2", +#' field3.column = "field3", +#' field4.column = "field6", +#' field5.column = "field7" #' ) create_collection_label <- function(data = NULL, @@ -66,7 +66,7 @@ create_collection_label <- function(data = NULL, stop("Please provide a data.frame or tibble.") } - if(!(all(class(data)=="data.frame"))){data <- as.data.frame(data)} + if (!(all(class(data) == "data.frame"))) {data <- as.data.frame(data)} if (!inherits(data, "data.frame")) {stop("The 'data' object must be a data frame.")} if (is.null(path)) {stop("A folder path must be specified.")} diff --git a/R/herbarium.R b/R/herbarium.R index b70bb1e..2f4a88e 100644 --- a/R/herbarium.R +++ b/R/herbarium.R @@ -50,26 +50,26 @@ #' @examplesIf interactive() #' #' create_herbarium_label ( -#' data = herbarium.table, -#' path = "labeleR_output", -#' title = "Magical flora of the British Isles", -#' subtitle = "Project: Eliminating plant blindness in Hogwarts students", -#' qr = "QR_code", -#' family.column ="Family", -#' taxon.column = "Taxon", -#' author.column = "Author", -#' det.column = "det", -#' date.det.column = "Det_date", -#' location.column = "Location", -#' latitude.column = "Latitude", -#' longitude.column = "Longitude", -#' elevation.column = "Elevation", -#' field1.column = "life_form", -#' field3.column = "Height", -#' collector.column = "Collector", -#' collection.column = "Collection_number", -#' assistants.column = "Assistants", -#' date.column = "Date" +#' data = herbarium.table, +#' path = "labeleR_output", +#' title = "Magical flora of the British Isles", +#' subtitle = "Project: Eliminating plant blindness in Hogwarts students", +#' qr = "QR_code", +#' family.column ="Family", +#' taxon.column = "Taxon", +#' author.column = "Author", +#' det.column = "det", +#' date.det.column = "Det_date", +#' location.column = "Location", +#' latitude.column = "Latitude", +#' longitude.column = "Longitude", +#' elevation.column = "Elevation", +#' field1.column = "life_form", +#' field3.column = "Height", +#' collector.column = "Collector", +#' collection.column = "Collection_number", +#' assistants.column = "Assistants", +#' date.column = "Date" #' ) create_herbarium_label <- function(data = data, @@ -104,7 +104,7 @@ create_herbarium_label <- function(data = data, if (is.null(data)) { stop("Please provide a data.frame or tibble.") } - if(!(all(class(data)=="data.frame"))){data <- as.data.frame(data)} + if (!(all(class(data) == "data.frame"))) {data <- as.data.frame(data)} if (!inherits(data, "data.frame")) {stop("The 'data' object must be a data frame.")} if (is.null(path)) {stop("A folder path must be specified.")} @@ -204,7 +204,7 @@ create_herbarium_label <- function(data = data, collection.column , assistants.column , date.column ) - arguments <- arguments[arguments!=""] + arguments <- arguments[arguments != ""] data <- check_latex_columns(data, arguments) diff --git a/R/tiny_label.R b/R/tiny_label.R index 85d2c99..85c7f3c 100644 --- a/R/tiny_label.R +++ b/R/tiny_label.R @@ -29,14 +29,14 @@ #' #' @examplesIf interactive() #' create_tiny_label( -#' data = tiny.table, -#' qr = "QR_code", -#' path = "labeleR_output", -#' field1.column = "field1", -#' field2.column = "field2", -#' field3.column = "field3", -#' field4.column = "field4", -#' field5.column = "field5" +#' data = tiny.table, +#' qr = "QR_code", +#' path = "labeleR_output", +#' field1.column = "field1", +#' field2.column = "field2", +#' field3.column = "field3", +#' field4.column = "field4", +#' field5.column = "field5" #' ) #' @@ -58,7 +58,7 @@ create_tiny_label <- function(data = NULL, stop("Please provide a data.frame or tibble.") } - if(!(all(class(data)=="data.frame"))){data <- as.data.frame(data)} + if (!(all(class(data) == "data.frame"))) {data <- as.data.frame(data)} if (!inherits(data, "data.frame")) {stop("The 'data' object must be a data frame.")} if (is.null(path)) {stop("A folder path must be specified.")} @@ -105,7 +105,7 @@ create_tiny_label <- function(data = NULL, field5.column <- check_column_or_create_empty_char(data, field5.column) arguments <- c(field1.column,field2.column,field3.column,field4.column,field5.column) - arguments <- arguments[arguments!=""] + arguments <- arguments[arguments != ""] data <- check_latex_columns(data, arguments) diff --git a/R/zzz.R b/R/zzz.R index ddc31e8..cd37539 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -15,7 +15,7 @@ check_latex<- function(df = NULL, column=NULL){ } check_latex_columns <- function(df= NULL, columns= NULL){ - for(column in columns){ + for (column in columns) { df[,column] <- check_latex(df, column) } return(df) @@ -71,7 +71,7 @@ use_image <- function(image = NULL, name = NULL, folder = NULL) { on.exit(suppressWarnings(graphics::par(oldpar))) grDevices::png(file.path(folder, paste0(name, ".png")), 150, 150, "px") - graphics::par(bg="transparent") + graphics::par(bg = "transparent") graphics::plot.new() grDevices::dev.off() } diff --git a/README.Rmd b/README.Rmd index 31aff6c..349c276 100644 --- a/README.Rmd +++ b/README.Rmd @@ -180,9 +180,9 @@ create_attendance_certificate( freetext = "taught by Professor S. Snape", signer = "A.P.W.B. Dumbledore", signer.role = "School Headmaster", - rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - lpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - signature.pic=system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") + rpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + lpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + signature.pic = system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") ) ``` @@ -229,9 +229,9 @@ create_participation_certificate( freetext = "organized by Hogwarts School of Magic and Wizardry", signer = "A.P.W.B. Dumbledore", signer.role = "School Headmaster", - rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - lpic=system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR"), - signature.pic=system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") + rpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + lpic = system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR"), + signature.pic = system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") ) ``` @@ -271,8 +271,8 @@ create_badge( event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY", name.column = "List", affiliation.column = "Affiliation", - rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - lpic=system.file("rmarkdown/pictures/minMagic.png", package = "labeleR") + rpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + lpic = system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR") ) ``` @@ -310,7 +310,7 @@ create_herbarium_label( data = herbarium.table, path = "labeleR_output", filename = "herbarium_labels", - qr="QR_code", + qr = "QR_code", title ="Magical flora of the British Isles" , subtitle = "Project: Eliminating plant blindness in Hogwarts students", family.column = "Family", @@ -366,7 +366,7 @@ create_collection_label( data = label.table, path = "labeleR_output", filename = "labels", - qr="QR_code", + qr = "QR_code", field1.column = "field1", field2.column = "field2", field3.column = "field3", @@ -402,12 +402,12 @@ per sheet" in the printer's options. #### Tinylabels example: Here, tinylabels are created for typical collections stored in boxes, so -a normal collection label would be to big. +a normal collection label would be too big. ```{r tinylabels, eval=FALSE} create_tiny_label( data = tiny.table, - qr="QR_code", + qr = "QR_code", path = "labeleR_output", filename = "tinylabels", field1.column ="field2", diff --git a/README.md b/README.md index 8e1985e..10eab40 100644 --- a/README.md +++ b/README.md @@ -167,9 +167,9 @@ create_attendance_certificate( freetext = "taught by Professor S. Snape", signer = "A.P.W.B. Dumbledore", signer.role = "School Headmaster", - rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - lpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - signature.pic=system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") + rpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + lpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + signature.pic = system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") ) ``` @@ -186,9 +186,26 @@ variable parameters (such as speaker, title and type of communication, etc.). As well as the attendance certificate, these documents can be rendered in English and in Spanish. -| ![Participation certificate (blank)](man/figures/Participation_blank.png) | -|---------------------------------------------------------------------------| -| | + +++ + + + + + + + + + + +
+ + +
#### Participation certificate example: @@ -212,18 +229,34 @@ create_participation_certificate( freetext = "organized by Hogwarts School of Magic and Wizardry", signer = "A.P.W.B. Dumbledore", signer.role = "School Headmaster", - rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - lpic=system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR"), - signature.pic=system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") + rpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + lpic = system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR"), + signature.pic = system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR") ) ``` In this example, each certificate will be rendered in an individual PDF document. -| ![Participation certificate](man/figures/Participation_certificates.png) | -|--------------------------------------------------------------------------| -| | + +++ + + + + + + + + + + +
+ + +
### 2.3 Badges @@ -251,8 +284,8 @@ create_badge( event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY", name.column = "List", affiliation.column = "Affiliation", - rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), - lpic=system.file("rmarkdown/pictures/minMagic.png", package = "labeleR") + rpic = system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"), + lpic = system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR") ) ``` @@ -290,7 +323,7 @@ create_herbarium_label( data = herbarium.table, path = "labeleR_output", filename = "herbarium_labels", - qr="QR_code", + qr = "QR_code", title ="Magical flora of the British Isles" , subtitle = "Project: Eliminating plant blindness in Hogwarts students", family.column = "Family", @@ -329,9 +362,25 @@ As a novelty, the user may manually fix the backgroud and text colors to their preference, using HTML color codes (same code as HEX, but without the ‘\#’). By default, background colors are two hues of green. -| ![Collection labels (blank)](man/figures/collection_labels_blank.png) | -|-----------------------------------------------------------------------| -| | + +++ + + + + + + + + + + +
+ + +
#### Collection labels example: @@ -343,7 +392,7 @@ create_collection_label( data = label.table, path = "labeleR_output", filename = "labels", - qr="QR_code", + qr = "QR_code", field1.column = "field1", field2.column = "field2", field3.column = "field3", @@ -379,12 +428,12 @@ per sheet” in the printer’s options. #### Tinylabels example: Here, tinylabels are created for typical collections stored in boxes, so -a normal collection label would be to big. +a normal collection label would be too big. ``` r create_tiny_label( data = tiny.table, - qr="QR_code", + qr = "QR_code", path = "labeleR_output", filename = "tinylabels", field1.column ="field2", @@ -400,7 +449,6 @@ create_tiny_label( ## Citation - To cite package 'labeleR' in publications use: Ramos-Gutierrez I, de Aledo JG, Rodríguez-Sánchez F (2023). _labeleR: diff --git a/cran-comments.md b/cran-comments.md index aef5609..eb079cc 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,6 +1,6 @@ ## Comments for labeleR 0.1.1 submission -* We have ammended the description section within the description file. +* We have amended the description section within the DESCRIPTION file. * We do not include references in the description file. * User parameters are restored after changing in zzz.R * We do not include any vignettes in labeleR, so we do not have to choose a title. diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index e9933ff..0000000 --- a/docs/index.html +++ /dev/null @@ -1,480 +0,0 @@ - - - - - - - -Automate the Production of Custom Labels, Badges, Certificates, and Other Documents • labeleR - - - - - - - - - - - - -
-
- - - - -
-
-
- - - -

-

This is a package to create your own labels, certificates, and much more! :)

-

If you need to create your attendance or participation certificates, accreditation badges, herbarium or collection labels, labeleR is the package you need! Keep an eye on this easy tutorial on how to use it!

-
-

Installing labeleR -

-

To install labeleR from GitHub, you might need to install the devtools package. Once you have it, you just have to specify the repository and install!

-
-# install.packages("devtools")
-devtools::install_github("EcologyR/labeleR")
-

If you want to clone the repository, you can find the code here.

-
-

TinyTeX -

-

labeleR depends on LaTeX, so you must have it also installed. We recommend using TinyTeX.

-

First, you would need to install the tinytex R package, and then run the installation:

-
-# install.packages("tinytex")
-tinytex::install_tinytex()
-

The first time you install tinytex or use labeleR it may take a while until all packages are correctly installed. Don’t worry, it will be much quicker next time!

-
-
-
-

1. Getting started -

- -
-

1.1 Loading the data -

-

The very first thing you need to start using labeleR is a data frame where the information is included. This data frame can be imported to the R environment reading it from a file (e.g. a ‘.csv’ file or ‘.xlsx’ excel sheet, using read.table(), readxl::read_excel(), and alike functions), but it can be also imported from Google Sheets.

-

To do so, you could use gsheet2tbl function from gsheet package, specifying the Google Sheet URL:

-
-library(gsheet)
-
-#URL: https://docs.google.com/spreadsheets/d/1inkk3_oNvvt8ajdK4wOkSgPoUyE8JzENrZgSTFJEFBw/edit#gid=0
-people_list_long <- gsheet2tbl("1inkk3_oNvvt8ajdK4wOkSgPoUyE8JzENrZgSTFJEFBw")
-

A key point to bear in mind is that the Google Sheet document must grant at least view access to anyone with the link; otherwise R will not be able to open it.

-
-
-

1.2 Some advice for the labeleR functions -

-

When using labeleR’s functions, there are some widely used arguments and nomenclature that must be acknowledged.

-

The first required argument in all functions is data, which is the data frame that has been previously loaded. The second one is path, which is the folder where the output PDFs will be stored. In case the specified folder does not exist, it will be automatically created. In case you want to name the output PDF file in a certain way, you must specify it using the filename argument. Additionally, you can store the created intermediate files (e.g. RMarkdown, picture files) using keep.files = TRUE.

-

Ultimately, labeleR uses its own templates to create the documents. However, these can be modified for specific purposes. To do so, open a new RMarkdown file in RStudio, using the labeleR template you want to edit, and after saving it locally, specify its directory path in the template argument.

-

Pictures (such as logos or signatures) are included in some templates. For these, argument names are lpic (standing for left picture, in the top), rpic (right picture, also in the top) and signature.pic (signature picture) in the certificates; and logo in the collection label. In all these cases the path to the picture file must be provided.

-

As for the parameters nomenclature, there are two kinds. “Fixed parameters” are those that remain the same in all the certificates (e.g. the name of a conference in an accreditation, or the name of a speaker in an attendance certificate). These parameters are named using a unique word (e.g. event or speaker), and can be filled in using free text that will be printed in all documents. On the other hand, “variable parameters” are those which vary among documents, and therefore differ among rows (e.g. attendees names to a conference, or species in herbarium labels). To specify the column of data in which this information is stored, two-word parameters are used (i.e. name.column or species.column). The only parameter that does not follow this philosophy is qr in the functions that allow to plot them (i.e. create_herbarium_label, create_collection_label and create_tiny_label). This parameter can be set as a column name, which will result in variable parameter, or as a free text (not column name), which will be used as a fixed one.

-
-
-
-

2. labeleR functions -

-

Now let’s start using labeleR!

-

To help you see the structure of our templates in a more visual way, we will display some examples inspired in the Harry Potter universe.

-
-

2.1 Attendance certificates -

-

Attendance certificates are one of the easiest templates; the only variable parameter is the name of the attendees. Our template allows to include a signature as an image, so the signer does not have to go through them all. This certificate is available both in English and Spanish. In case pictures look too big or small, we recommend to modify their size, as they are set to have a given height.

-

The structure of the certificate looks as follows.

- - - - - -
Attendance certificate (blank)
-
-

Attendance certificate example: -

-

In this example, we create four different certificates for four students of Hogwarts School, in which the Headmaster certifies they have attended 200 h of the Potions class.

-
-
-create_attendance_certificate(
-  data = attendance.table,
-  path = "labeleR_output",
-  filename = "attendance_certificates",
-  language = "English" ,
-  name.column = "Names",
-  type = "class",
-  title = "Potions (year 1992-1993)",
-  date = "23/06/1993",
-  hours = "200",
-  freetext = "taught by Professor S. Snape",
-  signer = "A.P.W.B. Dumbledore",
-  signer.role = "School Headmaster",
-  rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"),
-  lpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"),
-  signature.pic=system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR")
-)
-

In this example, each certificate will be rendered in an individual PDF document.

- - - - - -
Attendance certificates
-
-
-
-

2.2 Participation certificates -

-

Participation certificates are similar to the previous, but with more variable parameters (such as speaker, title and type of communication, etc.). As well as the attendance certificate, these documents can be rendered in English and in Spanish.

- - - - - - - - -
Participation certificate (blank)
-
-

Participation certificate example: -

-

Here, Albus Dumbledore certifies that four of the school teachers have participated in some seminars with different titles, different affiliations, dates and communication types.

-
-create_participation_certificate(
-  data = participation.table,
-  path = "labeleR_output",
-  filename = "participation_certificates",
-  language = "English",
-  name.column = "Name",
-  affiliation.column = "House",
-  comm.type.column = "Comm.type",
-  title.column = "Title",
-  date.column = "Date",
-  type = "online",
-  event = "seminar",
-  freetext = "organized by Hogwarts School of Magic and Wizardry",
-  signer = "A.P.W.B. Dumbledore",
-  signer.role = "School Headmaster",
-  rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"),
-  lpic=system.file("rmarkdown/pictures/MinMagic.png", package = "labeleR"),
-  signature.pic=system.file("rmarkdown/pictures/dumbledore.png", package = "labeleR")
-)
-

In this example, each certificate will be rendered in an individual PDF document.

- - - - - - - - -
Participation certificate
-
-
-
-

2.3 Badges -

-

Badges (and all documents from now onward) are rendered in a single document, with eight accreditation cards per DIN-A4 page in this case. They have only two variable fields (name and affiliation), and can include two top images, although are not signed. Accreditation cards include a dot line in the bottom for individual hand-edition.

- - - - - -
Badges (blank)
-
-

Badges example: -

-

As an example, we present the accreditation cards that might have been used in the International Conference of Muggleology, where the only changing fields are names and affiliations of attendees.

-
-
-create_badge(
-  data = badges.table,
-  path = "labeleR_output",
-  filename = "badges",
-  event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY",
-  name.column = "List",
-  affiliation.column = "Affiliation",
-  rpic=system.file("rmarkdown/pictures/Hogwarts_logo.png", package = "labeleR"),
-  lpic=system.file("rmarkdown/pictures/minMagic.png", package = "labeleR")
-)
- - - - - -
Badges example
-
-
-
-

2.4 Herbarium labels -

-

Herbarium labels are one of the documents with more variable parameters, as there is a lot of information to be included. Here, we have used a template we believe is the most useful, but we have included three free fields for the user to include the information they prefer. Of course, a field’s name does not force the user to use it for that category (location can be set in the elevation column, on top; and vice versa), but the family.column content will always be capitalized, and the taxon.column one in italics, so we recommend to use them as stated.

-

As said before, the QR can stand for a free text (and therefore remain identical in all labels), or be a column name, and therefore the codes will be rendered to specify the individual information in each row.

-

Including too long texts may cause the alteration of the structure of the labels, so we recommend to be concise.

- - - - - -
Herbarium label (blank)
-
-

Herbarium labels example: -

-

In this example, we show the labels some students have created for their herbarium assignment of the Herbology class.

-
-create_herbarium_label(
-  data = herbarium.table,
-  path = "labeleR_output",
-  filename = "herbarium_labels",
-  qr="QR_code",
-  title ="Magical flora of the British Isles" ,
-  subtitle = "Project: Eliminating plant blindness in Hogwarts students",
-  family.column = "Family",
-  taxon.column = "Taxon",
-  author.column = "Author",
-  det.column = "det",
-  date.det.column = "Det_date",
-  location.column = "Location",
-  area.description.column = "Area_description",
-  latitude.column = "Latitude",
-  longitude.column = "Longitude",
-  elevation.column = "Elevation",
-  field1.column = "life_form",
-  field2.column = "Observations",
-  field3.column = "Height",
-  collector.column = "Collector",
-  collection.column = "Collection_number",
-  assistants.column = "Assistants",
-  date.column = "Date"
-)
- - - - - -
Herbarium labels example
-
-
-
-

2.5 Collection labels -

-

Collection labels are one of the most aesthetic labels. They have five variable parameters (which are not recommended to be too long, as explained in the herbarium labels), along with the possibility of including a QR code (fixed or variable), a logo image. Field 1 will be capitalized (as in family.column in the herbarium label, and Field 2 italicized). Any of the fields can be left blank.

-

As a novelty, the user may manually fix the backgroud and text colors to their preference, using HTML color codes (same code as HEX, but without the ‘#’). By default, background colors are two hues of green.

- - - - - - - - -
Collection labels (blank)
-
-

Collection labels example: -

-

In this example we can see six labels created for the school’s displayed collection of stuffed animals.

-
-create_collection_label(
-  data = label.table,
-  path = "labeleR_output",
-  filename = "labels",
-  qr="QR_code",
-  field1.column = "field1",
-  field2.column = "field2",
-  field3.column = "field3",
-  field4.column = "field6",
-  field5.column = "field7",
-  system.file("rmarkdown/pictures/Hogwarts_BnW.png", package = "labeleR"),
-  bgcolor = "D0ECC1",  #White is "FFFFFF",
-  textcolor = "1E3F20" #Black is "000000"
-)
- - - - - -
Collection labels example
-
-
-
-

2.6 Collection tinylabels -

-

This type of labels is a simplified version of the previous, and includes just five variable fields and the possibility of including a QR code.

-

We recommend as in the previous cases not to include too long texts neither in the variable parameters nor in the QR, as they can become difficult to read.

-

Tinylabels are printed in arrays of 8x2 labels per page. In case this size is too big for the pretended use (as can happen for small insect collections, for example), we recommend to use the “print several pages per sheet” in the printer’s options.

- - - - - -
Tinylabels (blank)
-
-

Tinylabels example: -

-

Here, tinylabels are created for typical collections stored in boxes, so a normal collection label would be to big.

-
-create_tiny_label(
-  data = tiny.table,
-  qr="QR_code",
-  path = "labeleR_output",
-  filename = "tinylabels",
-  field1.column ="field2",
-  field2.column ="field1",
-  field3.column ="field3",
-  field4.column ="field4",
-  field5.column ="field5" 
-)
- - - - - -
Tinylabels example
-
-
-
-
-

Citation -

-
To cite package 'labeleR' in publications use:
-
-  Ramos-Gutierrez I, de Aledo JG, Rodríguez-Sánchez F (2023). _labeleR:
-  Automate the Production of Custom Labels, Badges, Certificates, and
-  Other Documents_. <https://EcologyR.github.io/labeleR/>.
-
-A BibTeX entry for LaTeX users is
-
-  @Manual{,
-    title = {labeleR: Automate the Production of Custom Labels, Badges, Certificates, and Other Documents},
-    author = {Ignacio Ramos-Gutierrez and Julia G. {de Aledo} and Francisco Rodríguez-Sánchez},
-    year = {2023},
-    url = {https://EcologyR.github.io/labeleR/},
-  }
-
-
-

Funding -

-

The development of this software has been funded by the European Union - Next Generation EU, Fondo Europeo de Desarrollo Regional (FEDER) and Consejería de Transformación Económica, Industria, Conocimiento y Universidades of Junta de Andalucía (proyecto US-1381388 led by Francisco Rodríguez Sánchez, Universidad de Sevilla).

-
-
-
- - -
- - - -
- - - - - - - - diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml deleted file mode 100644 index 1a3442a..0000000 --- a/docs/pkgdown.yml +++ /dev/null @@ -1,6 +0,0 @@ -pandoc: 2.19.2 -pkgdown: 2.0.7 -pkgdown_sha: ~ -articles: {} -last_built: 2024-01-12T14:30Z - diff --git a/docs/reference/create_attendance_certificate.html b/docs/reference/create_attendance_certificate.html deleted file mode 100644 index 21b34c8..0000000 --- a/docs/reference/create_attendance_certificate.html +++ /dev/null @@ -1,210 +0,0 @@ - -Create certificate of attendance — create_attendance_certificate • labeleR - - -
-
- - - -
-
- - -
-

Create certificate of attendance (1 certificate per DIN-A4 page)

-
- -
-
create_attendance_certificate(
-  data = NULL,
-  path = NULL,
-  filename = NULL,
-  language = c("English", "Spanish"),
-  name.column = NULL,
-  type = "",
-  title = "",
-  date = "",
-  hours = "",
-  freetext = "",
-  signer = "",
-  signer.role = "",
-  signature.pic = NULL,
-  lpic = NULL,
-  rpic = NULL,
-  keep.files = FALSE,
-  template = NULL
-)
-
- -
-

Arguments

-
data
-

a data frame containing attendees' names (in name.column)

- - -
path
-

Character. Path to folder where the PDF certificates will be saved.

- - -
filename
-

Character. Filename of the pdf. If NULL, default is "Attendance" for English, "Asistencia" for Spanish".

- - -
language
-

Character. Select 'English' or 'Spanish'.

- - -
name.column
-

Character. Name of the column in data storing attendees' name.

- - -
type
-

Character (optional). Type of event (conference, workshop, seminar...)

- - -
title
-

Character. Title of the event

- - -
date
-

Date of the event

- - -
hours
-

Number of hours the event has lasted

- - -
freetext
-

Character (optional). Free text to insert between the -event title and date. Can include LaTeX commands (see examples).

- - -
signer
-

Character. Person who signs the certificate

- - -
signer.role
-

Character. Signer's role or position

- - -
signature.pic
-

Character (optional). Path to a PNG image to appear in -the bottom, above signer's name.

- - -
lpic
-

Character (optional). Path to a PNG image to appear in the top-left.

- - -
rpic
-

Character (optional). Path to a PNG image to appear in the top-right.

- - -
keep.files
-

Logical. Keep the RMarkdown template and associated files -in the output folder? Default is FALSE.

- - -
template
-

Character (optional) RMarkdown template to use. If not provided, -using the default template included in labeleR.

- -
-
-

Value

- - -

PDF certificates are saved on disk, in the folder defined -by path. If keep.files = TRUE, the RMarkdown template and PNG logo files -will also appear in the same folder.

-
-
-

Author

-

Ignacio Ramos-Gutierrez, Julia G. de Aledo, Francisco Rodriguez-Sanchez

-
- -
-

Examples

-
if (FALSE) { # interactive()
-
-create_attendance_certificate(
-data = attendance.table,
-path = "labeleR_output",
-language = "English",
-name.column = "Names",
-type = "class",
-title = "Potions Class",
-date = "01/01/2021",
-hours = 200,
-freetext = "organised by {\\bf Hogwarts School year 1992-1993}",
-signer = "A.P.W.B. Dumbledore",
-signer.role = "School Headmaster",
-lpic = NULL,
-rpic = NULL,
-signature.pic = NULL,
-)
-}
-
-
-
- -
- - -
- - - - - - - - diff --git a/docs/reference/create_participation_certificate.html b/docs/reference/create_participation_certificate.html deleted file mode 100644 index 1041980..0000000 --- a/docs/reference/create_participation_certificate.html +++ /dev/null @@ -1,225 +0,0 @@ - -Create certificate of participation — create_participation_certificate • labeleR - - -
-
- - - -
-
- - -
-

Create certificate of participation (1 certificate per DIN-A4 page)

-
- -
-
create_participation_certificate(
-  data = NULL,
-  path = NULL,
-  filename = NULL,
-  language = c("English", "Spanish"),
-  name.column = NULL,
-  affiliation.column = NULL,
-  comm.type.column = NULL,
-  title.column = NULL,
-  date.column = NULL,
-  type = "",
-  event = "",
-  freetext = "",
-  signer = "",
-  signer.role = "",
-  signature.pic = NULL,
-  lpic = NULL,
-  rpic = NULL,
-  keep.files = FALSE,
-  template = NULL
-)
-
- -
-

Arguments

-
data
-

A data frame containing participants' names and contributions.

- - -
path
-

path Character. Path to folder where the PDF certificates will be saved.

- - -
filename
-

Character. Filename of the pdf. If NULL, default is "Participation" for English, "Participacion" for Spanish".

- - -
language
-

Character. Select 'English' or 'Spanish'.

- - -
name.column
-

Character. Name of the column in data storing participants' name.

- - -
affiliation.column
-

Character (optional). Name of the column in data -storing participants' affiliation

- - -
comm.type.column
-

Character. Name of the column in data reporting -participation type (e.g. poster, oral communication, etc)

- - -
title.column
-

Character. Name of the column in data storing the title of the -contribution.

- - -
date.column
-

Character. Name of the column in data storing dates of -participation.

- - -
type
-

Character (optional). Type of event (conference, workshop, seminar...)

- - -
event
-

Character. Title of the event

- - -
freetext
-

Character (optional). Free text to insert before the date. -Can include LaTeX commands (see examples).

- - -
signer
-

Character. Person who signs the certificate

- - -
signer.role
-

Character. Signer's role or position

- - -
signature.pic
-

Character (optional) Path to a PNG image to appear in -the bottom, above signer's name.

- - -
lpic
-

Character (optional) Path to a PNG image to appear in the top-left.

- - -
rpic
-

Character (optional) Path to a PNG image to appear in the top-right.

- - -
keep.files
-

Logical. Keep the RMarkdown template and associated files -in the output folder? Default is FALSE.

- - -
template
-

Character (optional) RMarkdown template to use. If not provided, -using the default template included in labeleR.

- -
-
-

Value

- - -

PDF certificates are saved on disk, in the folder defined -by path. If keep.files = TRUE, the RMarkdown template and PNG logo files -will also appear in the same folder.

-
-
-

Author

-

Ignacio Ramos-Gutierrez, Julia G. de Aledo, Francisco Rodriguez-Sanchez

-
- -
-

Examples

-
if (FALSE) { # interactive()
-create_participation_certificate(
-data = participation.table,
-path = "labeleR_output",
-language = "Spanish",
-name.column = "Name",
-affiliation.column = "House",
-comm.type.column = "Comm.type",
-title.column = "Title",
-date.column = "Date",
-type = "online seminar",
-event = "Hogwarts School of Witchcraft and Wizardry",
-freetext = "which lasted 2 hours",
-signer = "A.P.W.B. Dumbledore",
-signer.role = "School Headmaster",
-lpic = NULL,
-rpic = NULL,
-signature.pic = NULL
-)
-}
-
-
-
- -
- - -
- - - - - - - - diff --git a/docs/reference/create_tiny_label.html b/docs/reference/create_tiny_label.html deleted file mode 100644 index cc5c3f0..0000000 --- a/docs/reference/create_tiny_label.html +++ /dev/null @@ -1,177 +0,0 @@ - -Create tiny labels — create_tiny_label • labeleR - - -
-
- - - -
-
- - -
-

Create tiny labels (16 labels per DIN-A4 page)

-
- -
-
create_tiny_label(
-  data = NULL,
-  qr = NULL,
-  path = NULL,
-  filename = NULL,
-  field1.column = NULL,
-  field2.column = NULL,
-  field3.column = NULL,
-  field4.column = NULL,
-  field5.column = NULL,
-  keep.files = FALSE,
-  template = NULL
-)
-
- -
-

Arguments

-
data
-

a data frame including information of a species

- - -
qr
-

String. Free text or column of data that specifies the link for the QR code. -If the specified value of qr is not a column name of data, -all the QRs will be equal, pointing to the same link.

- - -
path
-

Character. Path to folder where the PDF file will be saved.

- - -
filename
-

Character. Filename of the pdf. If NULL, default is "Tiny_label".

- - -
field1.column
-

Character (optional). Name of the column in data storing the first free text to -appear at the top of the label.

- - -
field2.column
-

Character (optional). Name of the column in data storing the second free text to -appear below field1.

- - -
field3.column
-

Character (optional). Name of the column in data storing the third free text to -appear below field2.

- - -
field4.column
-

Character (optional). Name of the column in data storing the fourth free text to -appear below field3.

- - -
field5.column
-

Character (optional). Name of the column in data storing the fifth free text to -appear below field4.

- - -
keep.files
-

Logical. Keep the RMarkdown template and associated files -in the output folder? Default is FALSE.

- - -
template
-

Character (optional) RMarkdown template to use. If not provided, -using the default template included in labeleR.

- -
-
-

Value

- - -

A PDF file named "Tiny_label.pdf" is saved on disk, in the folder defined -by path. If keep.files = TRUE, an RMarkdown file will also appear in the same folder.

-
-
-

Author

-

Ignacio Ramos-Gutierrez, Julia G. de Aledo, Francisco Rodriguez-Sanchez

-
- -
-

Examples

-
if (FALSE) { # interactive()
-create_tiny_label(
-data = tiny.table,
-qr = "QR_code",
-path = "labeleR_output",
-field1.column = "field1",
-field2.column = "field2",
-field3.column = "field3",
-field4.column = "field4",
-field5.column = "field5"
-)
-}
-
-
-
- -
- - -
- - - - - - - - diff --git a/docs/sitemap.xml b/docs/sitemap.xml deleted file mode 100644 index 146fbef..0000000 --- a/docs/sitemap.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - /404.html - - - /authors.html - - - /index.html - - - /LICENSE-text.html - - - /LICENSE.html - - - /news/index.html - - - /reference/attendance.table.html - - - /reference/badges.table.html - - - /reference/create_attendance_certificate.html - - - /reference/create_badge.html - - - /reference/create_certificate_attendance.html - - - /reference/create_certificate_participation.html - - - /reference/create_collection_label.html - - - /reference/create_herbarium_label.html - - - /reference/create_participation_certificate.html - - - /reference/create_tinylabel.html - - - /reference/create_tiny_label.html - - - /reference/herbarium.table.html - - - /reference/index.html - - - /reference/label.table.html - - - /reference/labeleR-package.html - - - /reference/participation.table.html - - - /reference/tiny.table.html - - diff --git a/man/create_attendance_certificate.Rd b/man/create_attendance_certificate.Rd index 71259f1..bd8bf5a 100644 --- a/man/create_attendance_certificate.Rd +++ b/man/create_attendance_certificate.Rd @@ -75,20 +75,20 @@ Create certificate of attendance (1 certificate per DIN-A4 page) \dontshow{if (interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} create_attendance_certificate( -data = attendance.table, -path = "labeleR_output", -language = "English", -name.column = "Names", -type = "class", -title = "Potions Class", -date = "01/01/2021", -hours = 200, -freetext = "organised by {\\\\bf Hogwarts School year 1992-1993}", -signer = "A.P.W.B. Dumbledore", -signer.role = "School Headmaster", -lpic = NULL, -rpic = NULL, -signature.pic = NULL, + data = attendance.table, + path = "labeleR_output", + language = "English", + name.column = "Names", + type = "class", + title = "Potions Class", + date = "01/01/2021", + hours = 200, + freetext = "organised by {\\\\bf Hogwarts School year 1992-1993}", + signer = "A.P.W.B. Dumbledore", + signer.role = "School Headmaster", + lpic = NULL, + rpic = NULL, + signature.pic = NULL, ) \dontshow{\}) # examplesIf} } diff --git a/man/create_badge.Rd b/man/create_badge.Rd index 02ae302..42b0f6e 100644 --- a/man/create_badge.Rd +++ b/man/create_badge.Rd @@ -52,14 +52,14 @@ Create badges (8 badges per DIN-A4 page) \examples{ \dontshow{if (interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} create_badge( -data = badges.table, -path = "labeleR_output", -filename = NULL, -event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY", -name.column = "List", -affiliation.column = "Affiliation", -lpic = NULL, -rpic = NULL) + data = badges.table, + path = "labeleR_output", + filename = NULL, + event = "INTERNATIONAL CONFERENCE OF MUGGLEOLOGY", + name.column = "List", + affiliation.column = "Affiliation", + lpic = NULL, + rpic = NULL) \dontshow{\}) # examplesIf} } \author{ diff --git a/man/create_collection_label.Rd b/man/create_collection_label.Rd index 3f98d43..8b2a166 100644 --- a/man/create_collection_label.Rd +++ b/man/create_collection_label.Rd @@ -71,14 +71,14 @@ Create collection labels (8 labels per DIN-A4 page) \dontshow{if (interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} create_collection_label( -data = label.table, -path = "labeleR_output", -qr = "QR_code", -field1.column = "field1", -field2.column = "field2", -field3.column = "field3", -field4.column = "field6", -field5.column = "field7" + data = label.table, + path = "labeleR_output", + qr = "QR_code", + field1.column = "field1", + field2.column = "field2", + field3.column = "field3", + field4.column = "field6", + field5.column = "field7" ) \dontshow{\}) # examplesIf} } diff --git a/man/create_herbarium_label.Rd b/man/create_herbarium_label.Rd index 474cb1b..71a064f 100644 --- a/man/create_herbarium_label.Rd +++ b/man/create_herbarium_label.Rd @@ -109,26 +109,26 @@ Create herbarium labels (4 labels per DIN-A4 page) \dontshow{if (interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} create_herbarium_label ( -data = herbarium.table, -path = "labeleR_output", -title = "Magical flora of the British Isles", -subtitle = "Project: Eliminating plant blindness in Hogwarts students", -qr = "QR_code", -family.column ="Family", -taxon.column = "Taxon", -author.column = "Author", -det.column = "det", -date.det.column = "Det_date", -location.column = "Location", -latitude.column = "Latitude", -longitude.column = "Longitude", -elevation.column = "Elevation", -field1.column = "life_form", -field3.column = "Height", -collector.column = "Collector", -collection.column = "Collection_number", -assistants.column = "Assistants", -date.column = "Date" + data = herbarium.table, + path = "labeleR_output", + title = "Magical flora of the British Isles", + subtitle = "Project: Eliminating plant blindness in Hogwarts students", + qr = "QR_code", + family.column ="Family", + taxon.column = "Taxon", + author.column = "Author", + det.column = "det", + date.det.column = "Det_date", + location.column = "Location", + latitude.column = "Latitude", + longitude.column = "Longitude", + elevation.column = "Elevation", + field1.column = "life_form", + field3.column = "Height", + collector.column = "Collector", + collection.column = "Collection_number", + assistants.column = "Assistants", + date.column = "Date" ) \dontshow{\}) # examplesIf} } diff --git a/man/create_participation_certificate.Rd b/man/create_participation_certificate.Rd index b8491cb..dedeee9 100644 --- a/man/create_participation_certificate.Rd +++ b/man/create_participation_certificate.Rd @@ -84,22 +84,22 @@ Create certificate of participation (1 certificate per DIN-A4 page) \examples{ \dontshow{if (interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} create_participation_certificate( -data = participation.table, -path = "labeleR_output", -language = "Spanish", -name.column = "Name", -affiliation.column = "House", -comm.type.column = "Comm.type", -title.column = "Title", -date.column = "Date", -type = "online seminar", -event = "Hogwarts School of Witchcraft and Wizardry", -freetext = "which lasted 2 hours", -signer = "A.P.W.B. Dumbledore", -signer.role = "School Headmaster", -lpic = NULL, -rpic = NULL, -signature.pic = NULL + data = participation.table, + path = "labeleR_output", + language = "Spanish", + name.column = "Name", + affiliation.column = "House", + comm.type.column = "Comm.type", + title.column = "Title", + date.column = "Date", + type = "online seminar", + event = "Hogwarts School of Witchcraft and Wizardry", + freetext = "which lasted 2 hours", + signer = "A.P.W.B. Dumbledore", + signer.role = "School Headmaster", + lpic = NULL, + rpic = NULL, + signature.pic = NULL ) \dontshow{\}) # examplesIf} } diff --git a/man/create_tiny_label.Rd b/man/create_tiny_label.Rd index acf69e7..3057728 100644 --- a/man/create_tiny_label.Rd +++ b/man/create_tiny_label.Rd @@ -60,14 +60,14 @@ Create tiny labels (16 labels per DIN-A4 page) \examples{ \dontshow{if (interactive()) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} create_tiny_label( -data = tiny.table, -qr = "QR_code", -path = "labeleR_output", -field1.column = "field1", -field2.column = "field2", -field3.column = "field3", -field4.column = "field4", -field5.column = "field5" + data = tiny.table, + qr = "QR_code", + path = "labeleR_output", + field1.column = "field1", + field2.column = "field2", + field3.column = "field3", + field4.column = "field4", + field5.column = "field5" ) \dontshow{\}) # examplesIf} }