Learn R Programming

glossr

The glossr package gives you tools to include interlinear glosses in your R Markdown or Quarto file. If you are writing a linguistics paper and you want some interlinear glosses, this is for you!

Maybe you already use gb4e or expex and you’re happy with your PDF files, good for you! But maybe you want to spice things up, have your examples in one file and read a dataframe to generate them on demand, instead of typing and mistyping and having your examples all over the place. If that’s the case, glossr is for you!

Or maybe you want HTML output to work? If you use gb4e or expex, your examples will disappear from the HTML output! Here glossr can most definitely help. It even offers a helper function for cross-references that work in both formats! In fact, I included two different HTML outputs: one using leipzig.js and a sadder one that might be more accessible, just less pro-looking.

If you also want Word output, glossr can also take care of it, computing the expected width of the words and aligning them accordingly.

But please, don’t take my word for it —you can check the PDF, HTML and MS Word outputs of vignette("glossr_how") stored in the repository.

Installation

Install glossr via CRAN:

install.packages("glossr")

You can also install the development version of glossr from GitHub with:

# install.packages("devtools")
devtools::install_github("montesmariana/glossr")

Example

This is a basic example; check vignette("glossr_how") for more examples and their output.

library(glossr)
use_glossr()

my_gloss <- as_gloss(
  "她 哇的一聲 大 哭起來,",
  "tā wā=de-yì-shēng dà kū-qǐlái,",
  "TSG waa.IDEO-LINK-one-sound big cry-inch",
  translation = "Waaaaa, she began to wail.",
  label = "my-label",
  source = "ASBC (nº 100622)"
)

Acknowledgements

This package is possible thanks to the existence of other packages it has built on, mostly {rmarkdown} and {htmltools}, as well as the expex package for PDF output and leipzig.js for the HTML output. The HexSticker was designed in Krita and rendered with {hexSticker}.

I would also like to acknowledge the input and encouragement of Giulia Mazzola and Thomas Van Hoey, who shared ideas and tested the code as it evolved.

Last but not least, I’d like to acknowledge the source of the examples in the small “dataset” provided by this package, taken from Maria Koptjevskaja-Tamm’s The Linguistics of Temperature (see vignette("glossr")).

Questions and suggestions?

Bring them on to the issues section of the repository!

Copy Link

Version

Install

install.packages('glossr')

Monthly Downloads

250

Version

0.8.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Mariana Montes

Last Published

May 19th, 2024

Functions in glossr (0.8.0)

glosses

Examples of glosses
glossr-package

glossr: Use interlinear glosses in R Markdown
gloss

Reference gloss
as_gloss

Helper to create gloss objects
gloss_df

Render gloss from a dataframe
gloss_linetooltip

Apply tooltip to a full gloss
gloss_format_words

Apply latex formatting to many words
gloss_data

gloss_data class
gloss_list

Sublist glosses
gloss_factory

Function factory to print glosses from dataframe
gloss_render

Render a gloss
config_from_file

Override configuration with a YAML file
set_style_options

Set general styling options
knit_print.gloss

Print method for glosses
new_gloss

gloss class
print_config

Print the glossr configuration
use_glossr

Use glossr