Gestor Unificado de formatos para Revistas de Investigación [Unified Format Manager for Research Journals]
~!gurí_
is a project that facilitates the editorial production of scientific journals, through the generation of output documents from manuscript obtained in the 'peer review' phase in docx
format. For this purpose, this project is based on the R package {guri}
, which coordinates the process of generating the final documents in different formats.
This project aims to solve the difficulties faced by some diamond-access academic journals in generating final documents in different formats in a consistent way, avoiding duplicated processes and high editorial costs. It also takes into account that many scientific journals use docx
documents as the basis of their workflows.
The aim of the project is to outline and separate the main elements that make up a scientific article. To do this, for each article, a docx
file must be generated ( using a predefined template and with the citations identified with Zotero) and a yaml
file with the metadata of the article. Optionally, other files can be provided with information from the CRediT taxonomy, floating elements (figures and tables) and appendices. From these initial files an intermediate markdown
file is generated, which is used to generate the final documents (in pdf
, html
and xml
format). In addition, this tool allows the generation of an xml file for the DOI deposit in Crossref. Due to its design, the project allows a strong adaptation and customisation so that it can be adapted to the particularities and aesthetics of each journal.
In short, we can say that the project consists of two aspects that work together: a workflow and a set of programming tools. On the one hand, the project requires the adoption of a workflow, which includes a certain organisation of files and folders, as well as the templating of manuscripts following a set of predefined rules. Moreover, the project is based on a set of programming tools that take care of the creation of the final documents in the different formats. Much of this work is done with Pandoc, which is used 'under the bonnet' for conversion between mark-up formats. To adapt Pandoc to the needs of academic publishing, a set of Lua filters and custom templates are used. In addition, LaTeX is used to generate the files in pdf
format. Finally, the project uses the R programming language to coordinate and 'wrap' the whole process. In practice, this whole process is coordinated by the R package {guri}
.
A detail of the work proposal and file preparation can be found in the documentation web.
The use of this tool requires the prior installation of R (version 4.3 or higher recommended), being recommended to have installed RStudio, which facilitates the work with R. Although other programs are used for the operation of the project, the R package {guri}
is responsible for the installation of these dependencies (see guri_install()
). Therefore, as part of the {guri}
configuration, the package will install Pandoc and a LaTeX distribution called tinytex, which has a robust integration with R, facilitating the installation of the necessary LaTeX packages.[^1]
[^1] By default, the following LaTeX
packages which are used by the Pandoc template will also be installed: amsfonts
, amsmath
, lm
, unicode-math
, iftex
, listings
, fancyvrb
, longtable
, booktabs
, graphicx
, hyperref
, xcolor
, soul
, geometry
, setspace
, babel
, xeCJK
, fontspec
, selnolig
, mathspec
, biblatex
, bibtex
, biber
, upquote
, microtype
, csquotes
, natbib
, bookmark
, footnotehyper
, footnote
, xurl
, parskip
and svg. In turn, the adaptation of the template uses the following packages: adjustbox
, fontawesome5
, caption
, ccicons
, relsize, truncate
, lastpage
and koma-script
.
You must install {guri}. For this you can do it from r-universe
as follows:
options(repos = c(
estedeahora = 'https://estedeahora.r-universe.dev',
CRAN = 'https://cloud.r-project.org'))
install.packages('guri')
Alternatively, you can do it directly from the github repository, for which you can use {remotes} or {pak} as you prefer.
# install.packages("remotes")
remotes::install_github("estedeahora/guri")
# or
# install.packages("pak")
pak::pkg_install("estedeahora/guri")
Once {guri} is installed, you must load the package and install the external dependencies (Pandoc and Tinytex). This process may take a few minutes and requires a stable internet connection.
library(guri)
guri_install()
~!gurí_
can be used as part of the production process of diamond access journals (journals without Article Processing Charges -APC- and without paywalls). Beyond this restriction, there are no limits other than authorship attribution. If your journal uses this tool as part of its editorial process, please add the following text within your website (usually within the 'editorial policy' section) in the different languages used in the journal:
Español:
Los documentos finales de esta revista fueron generados utilizando ~!guri.English:
The final documents of this journal were generated using ~!guri.Português:
Os documentos finais desta revista foram gerados usando ~!guri.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. This software carries no warranty of any kind.
Pull requests, bug reports, and feature requests are welcome. Use the issues to report bugs or request features.