| Type: | Package | 
| Title: | Interlinear Glossed Linguistic Examples and Abbreviation Lists Generation | 
| Version: | 0.0.11 | 
| Depends: | R (≥ 4.2.0) | 
| Maintainer: | George Moroz <agricolamz@gmail.com> | 
| Description: | Helps to render interlinear glossed linguistic examples in html 'rmarkdown' documents and then semi-automatically compiles the list of glosses at the end of the document. It also provides a database of linguistic glosses. | 
| Language: | en-US | 
| License: | GPL (≥ 3) | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| URL: | https://CRAN.R-project.org/package=phonfieldwork, https://agricolamz.github.io/lingglosses/ | 
| BugReports: | https://github.com/agricolamz/lingglosses/issues | 
| Imports: | kableExtra, knitr, gt, rmarkdown, utils, htmltools, methods | 
| RoxygenNote: | 7.3.3 | 
| Suggests: | testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-09-25 09:19:41 UTC; agricolamz | 
| Author: | George Moroz  | 
| Repository: | CRAN | 
| Date/Publication: | 2025-09-25 11:00:02 UTC | 
Gloss an example
Description
Adds glosses to the glosses list and adds small capitals to glosses. Escapes strings that begins and ends with curly brackets.
Usage
add_gloss(glosses)
Arguments
glosses | 
 character vector with glosses in upper case.  | 
Value
vector of small capitalized glosses (if string is in the upper case) and not glosses (if string is not in the upper case)
Author(s)
George Moroz <agricolamz@gmail.com>
Examples
add_gloss(c("ABS", "ERG"))
Converts example to a data.frame
Description
Converts example to a data.frame and adds it to the database of Interlinear-Glossed examples.
Usage
convert_to_df(
  transliteration,
  glosses,
  free_translation = "",
  comment = "",
  annotation = NULL,
  drop_transliteration = FALSE,
  write_to_db = TRUE,
  counter = getOption("lingglosses.example_counter")
)
Arguments
transliteration | 
 character vector of the length one for the transliteration line.  | 
glosses | 
 character vector of the length one for the glosses line.  | 
free_translation | 
 character vector of the length one for the free translation line.  | 
comment | 
 character vector of the length one for the comment line (under the free translation line).  | 
annotation | 
 character vector of the length one for the annotation line (above translation).  | 
drop_transliteration | 
 logical variable that denotes, whether user wants to have an example without transliteration.  | 
write_to_db | 
 logical variable that denotes, whether example should be added to the example database.  | 
counter | 
 double, value that denotes example id. By default gathered automatically through hidden variables in the Rmd document.  | 
Value
dataframe with
Author(s)
George Moroz <agricolamz@gmail.com>
Get database of interlinear examples
Description
Reads database of interlinear examples collected through the whole document.
Usage
get_examples_db()
Value
a dataframe with all interlinear examples from rmarkdown document.
Author(s)
George Moroz <agricolamz@gmail.com>
Gloss an example
Description
Creates an interlinear glossed example for linguistics.
Usage
gloss_example(
  transliteration,
  glosses,
  free_translation = "",
  comment = "",
  annotation = NULL,
  grammaticality = NULL,
  audio_path = NULL,
  audio_label = "♪",
  video_path = NULL,
  video_width = 320,
  video_height = 240,
  line_length = 70,
  italic_transliteration = getOption("lingglosses.italic_transliteration"),
  drop_transliteration = FALSE,
  intext = FALSE,
  write_to_db = TRUE
)
Arguments
transliteration | 
 character vector of the length one for the transliteration line.  | 
glosses | 
 character vector of the length one for the glosses line.  | 
free_translation | 
 character vector of the length one for the free translation line.  | 
comment | 
 character vector of the length one for the comment line (under the free translation line).  | 
annotation | 
 character vector of the length one for the annotation line (above translation).  | 
grammaticality | 
 character vector with the grammaticality value.  | 
audio_path | 
 character string with the path to the sound in .wav format.  | 
audio_label | 
 character string for the label to display.  | 
video_path | 
 character string with the path to the video.  | 
video_width | 
 width argument for the video in px.  | 
video_height | 
 height argument for the video in px.  | 
line_length | 
 integer vector of the length one that denotes maximum number of characters per one line.  | 
italic_transliteration | 
 logical variable that denotes, whether user wants to italicize your example.  | 
drop_transliteration | 
 logical variable that denotes, whether user wants to have an example without transliteration.  | 
intext | 
 logical variable that denotes, whether example should be considered as part of the text (  | 
write_to_db | 
 logical variable that denotes, whether example should be added to the example database.  | 
Value
html/latex output(s) with glossed examples.
Author(s)
George Moroz <agricolamz@gmail.com>
Examples
gloss_example("bur-e-**ri** c'in-ne-s:u",
              "fly-NPST-**INF** know-HAB-NEG",
              "I cannot fly. (Zilo Andi, East Caucasian)",
              grammaticality = "*",
              comment = "(lit. do not know how to)")
gloss_example("bur-e-**ri** c'in-ne-s:u",
              "fly-NPST-**INF** know-HAB-NEG",
              "I cannot fly.",
              intext = TRUE)
Catalog of glosses
Description
A dataset contains the list of glosses from the Leipzig Glossing Rules by Comrie, Haspelmath, and Bickel and other glosses automatically gathered from Glossa Journal articles.
Usage
glosses_df
Format
A data frame with 1342 rows and 4 variables:
- gloss
 the gloss abbreviation
- definition_en
 the gloss definition
- source
 the gloss source. Three possible values: Leipzig Glossing Rules, Wikipedia or lingglosses (this means parsed from Glossa).
- weight
 glossa weight used for the choice in case of multiple definitions per gloss.
Make a gloss list
Description
Creates a gloss list based on glosses used in gloss_example. This function tries to guess the meaning of used glosses based on some internal database or database provided by user. You shouldn't treat result as carved in stone: you can copy, modify and paste in your markdown document. If you want your glossing list to be created automatically with make_gloss_list you can compile your own table in the definition_source argument.
Usage
make_gloss_list(
  definition_source = lingglosses::glosses_df,
  remove_glosses = "",
  all_possible_variants = FALSE,
  annotate_problematic = TRUE
)
Arguments
definition_source | 
 dataframe with the columns   | 
remove_glosses | 
 character vector that contains glosses that should be removed from the abbreviation list.  | 
all_possible_variants | 
 logical. Some glosses have multiple definitions.  | 
annotate_problematic | 
 logical. Whether emphasize duplicated and definitionless glosses  | 
Value
a string with glosses and their definitions gathered from definition_source table.
Author(s)
George Moroz <agricolamz@gmail.com>