--- title: "About" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{About} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = FALSE, comment = "", R.options = list( cli.num_colors = 1, cli.hyperlink = FALSE, crayon.enabled = FALSE, width = 80 ) ) # Console colour carries no meaning on a rendered page. pkgdown turns it on for # its own build, and the escape sequences then reach the reader as literal text, # so colour is switched off here for a plain vignette render and a site build # alike. The fixed width keeps printed output inside the documentation column. ``` ## Citing lexsync If lexsync contributes to published work, please cite it. Nothing has been deposited on Zenodo yet, so the citation is a software reference pointing at the repository rather than at a DOI. > Bernabeu, P. (2026). lexsync: Lexical optimisation and hardware-timed > experiment generation. R package version > `r packageVersion("lexsync")`. https://github.com/pablobernabeu/lexsync ```{r bibtex, echo = FALSE, results = "asis"} # Build the BibTeX entry from the installed version so it never drifts, then # render it with a copy button and a download link. The button uses the # browser clipboard API; the link is a self-contained data URI, so neither # depends on a static file being shipped alongside the site. ver <- as.character(utils::packageVersion("lexsync")) bib <- paste( "@Manual{lexsync,", " title = {{lexsync}: Lexical optimisation and hardware-timed experiment generation},", " author = {Pablo Bernabeu},", " year = {2026},", sprintf(" note = {R package version %s},", ver), " url = {https://github.com/pablobernabeu/lexsync},", "}", sep = "\n" ) esc <- function(x) { x <- gsub("&", "&", x, fixed = TRUE) x <- gsub("<", "<", x, fixed = TRUE) gsub(">", ">", x, fixed = TRUE) } uri <- paste0( "data:application/x-bibtex;charset=utf-8,", utils::URLencode(bib, reserved = TRUE) ) cat(sprintf( '
%s

Download .bib

', esc(bib), uri)) ``` R users can also retrieve this citation directly with `citation("lexsync")`. The repository carries a machine-readable [`CITATION.cff`](https://github.com/pablobernabeu/lexsync/blob/main/CITATION.cff) as well, which GitHub turns into a ready-made citation through its 'Cite this repository' button and which reference managers can import. A manuscript describing lexsync is in preparation, under the title *lexsync: A cross-platform pipeline for multidimensional lexical optimisation and hardware-timed experiment generation*. It is unpublished and has no venue as yet. `CITATION.cff` already names it as the preferred citation for the day it appears, and until then the software reference above is the one to use. ## Citing the corpus The software citation covers the tool, not the data your items came from. The corpora are third-party work with terms of their own, and every one is credited, with its licence and its retrieval date, in [`corpora/ATTRIBUTION.md`](https://github.com/pablobernabeu/lexsync/blob/main/corpora/ATTRIBUTION.md). Each run's materials datasheet records the source file the run read and its SHA-256, so the corpus behind a published stimulus set stays identifiable long after the run, and a reader can check that the file they hold is the file the selection was made from. ## The developer [Pablo Bernabeu](https://pablobernabeu.github.io) is a researcher in the Department of Education at the University of Oxford, with hands-on experience of behavioural experiments, EEG, corpus analysis, computational modelling and statistics. He develops open, reproducible research software in R and Python, and is a Fellow of the Software Sustainability Institute. His [ORCID record](https://orcid.org/0000-0003-1083-2460) lists his other work. lexsync has a feature-parity twin in Python, documented at [its own site](https://pablobernabeu.github.io/lexsync/python/). The two packages are built from one repository and released in step under one version, and under the deterministic matching methods they select byte-identical stimuli from the same lexicon and design. A group can therefore work in whichever language suits it without the materials diverging. ## Licence The source code is released under the [MIT licence](https://pablobernabeu.github.io/lexsync/r/LICENSE.html). The corpus derivatives bundled with the package are not covered by it. They inherit share-alike terms from the corpora they were built from, so they are distributed under CC BY-SA 4.0 instead, for the reasons [`LICENSE-DATA`](https://github.com/pablobernabeu/lexsync/blob/main/LICENSE-DATA) sets out, with the sources and retrieval dates recorded in [`corpora/ATTRIBUTION.md`](https://github.com/pablobernabeu/lexsync/blob/main/corpora/ATTRIBUTION.md). The distinction becomes practical if you redistribute a lexicon derived from the bundled data, since that means crediting the original corpus authors, saying what was changed and passing the same licence on. Nothing of the sort applies to the code you write with the package. A reader who has only the package rather than the repository will find the same terms, and the credit they require, in the `LICENSE.note` file that ships in the sources. ## Versioning and archival lexsync follows semantic versioning, and the R and Python packages share one version number so that a citation identifies the same state of both. Releases are tagged on GitHub, and the [changelog](https://pablobernabeu.github.io/lexsync/r/news/index.html) records what changed in each of them. Archival is prepared but not yet done. The deposition metadata sits in [`.zenodo.json`](https://github.com/pablobernabeu/lexsync/blob/main/.zenodo.json), waiting on the first published release, and no version has been archived, so there is no concept DOI to cite. The package is not on CRAN either. Cite the version, as the reference above does, until an archive exists to point at. ## Contributing and support Bugs and feature requests are welcome on the [issue tracker](https://github.com/pablobernabeu/lexsync/issues), which is also where questions about a design or a generated experiment are best raised. The [contributing guide](https://github.com/pablobernabeu/lexsync/blob/main/.github/CONTRIBUTING.md) describes the development setup for both engines and the parity rule that governs every change, and everyone taking part is asked to honour the [Code of Conduct](https://github.com/pablobernabeu/lexsync/blob/main/.github/CODE_OF_CONDUCT.md). A report worth acting on carries the design YAML that was run alongside the run log that `run_pipeline()` wrote beside the results. Between them they pin the inputs and every step that ran, which is usually enough to reproduce a problem without a further round of questions. Where a corpus is involved, the materials datasheet from the same run identifies it by path and checksum.