Guidelines for authors
This page provides a step-by-step guide for authors to accompany them for formatting and submitting their paper to Computo.
1 A step-by-step guide to submitting a paper to Computo
Submissions to Computo require both scientific content (typically equations, codes and figures, data) and a proof that this content is reproducible. This is achieved by means of i) a notebook system, ii) a virtual environment freezing the dependencies and iii) continuous integration (plus, if needed, an external website to store large data files such a Zenodo or OSF).
A Computo submission is thus a Git(Hub) repository containing:
- the source files of the notebook (a quarto
.qmd
file + a BibTeX.bib
file + some statics files, e.g. figures or small.csv
data tables); - configuration files to set up the dependencies in a virtual environment;
- configuration files to set up the continuous integration rendering the final documents.
The Computo organization provides template repositories for R, Python and Julia contributors. In the following sections, we detail step-by-step what authors have to do in order to format their paper for submission to Computo.
1.1 Setup a git repository
Setup a new github repository by going on the URL of either the R or Python or Julia template repository and clicking on the “use this template” button on the top of the page, as illustrated in Figure 1.
When you fork a GitHub repository, be it classic or template, GitHub asks if you want to fork all branches (there is a box called Include all branches). You only need to fork the main branch so you do not have to check that box.
The paper will be automatically published online using GitHub pages. This is possible only with public repositories. Hence, when you initialize your repository from the template, make sure that the Public box is checked (the default) and not the Private one.
In summary, before clicking on Create repository, you should have the options documented in Figure 2.
You can use Gitlab for submitting to Computo. We will be giving more detailed support for this in the future.
1.2 Setup Quarto and Computo extension on your system
You need quarto installed on your computer, as well as the Computo extension to prepare your document.
To install Quarto, you should refer to the instructions here: https://quarto.org/docs/get-started/.
Once Quarto is properly installed locally on your computer, you can install the Computo Quarto extension from a terminal window with the following command line:
# Install computo quarto extension
quarto add computorg/computo-quarto-extension
If you are collaborating with others when writing your contributions, each collaborator needs to:
- clone the repository,
- install Quarto,
- install the Computo Quarto extension by executing the above command.
1.3 Write your contribution
In the forked template, there are mainly two files you are expected to modify for writing your contribution: template-computo-LANG.qmd
(where LANG is to be replaced with either R, python or julia) and _quarto.yml
.
1.3.1 Main content of your contribution
The main body of your paper (starting with the Introduction section) should be written in the template-computo-LANG.qmd
following the formatting suggestions therein.
Make sure that you are able to build your manuscript as a standard notebook on your system before proceeding to the next step.
To build your document (both in PDF and HTML by default), you can run the command quarto render
, e.g. for the template:
# will render both to html and PDF
quarto render template-computo-{R,python,julia}.qmd
1.3.2 Metadata of your contribution
To customise title, authors, date, abstract and so on, you should modify the _quarto.yml
file. By default, it looks like this:
project:
title: "template-computo-R"
title: "Template for contribution to Computo"
subtitle: "Example dedicated to `R` users"
author:
- name: Jane Doe
corresponding: true
email: janedoe@nowhere.moon
url: https://janedoe.someplace.themoon.org
orcid: 0000-0000-0000-0000
affiliations:
- name: Name of Affiliation one
department: Statistics
url: https://someplace.themoon.org
- name: John Doe
email: johndoe@nowhere.moon
url: https://johndoe.someplace.themoon.org
orcid: 0000-0000-0000-0000
affiliations:
- name: Name of Afficiliation two
department: Computer Science
url: https://someplace.themoon.org
date: last-modified
date-modified: last-modified
description: |
This document provides a template based on the [`quarto`](https://quarto.org/) system for contributions to Computo, using the [`quarto journal extension`](https://github.com/computorg/computo-quarto-extension), the knitr kernel (R user) and [`renv`](https://rstudio.github.io/renv/articles/renv.html) to set-up the dependencies.abstract: >+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur posuere vestibulum facilisis. Aenean pretium orci augue, quis lobortis libero accumsan eu. Nam mollis lorem sit amet pellentesque ullamcorper. Curabitur lobortis libero eget malesuada vestibulum. Nam nec nibh massa. Pellentesque porttitor cursus tellus. Mauris urna erat, rhoncus sed faucibus sit amet, venenatis eu ipsum.keywords: [key1, key2, key3]
bibliography: references.bib
github-user: computorg
repo: "template-computo-r"
draft: true # set to false once the build is running
published: false # will be set to true once accepted
format:
computo-html: default
computo-pdf: default
You can customize most of the entries in that file except project:
, published:
and format:
. If your contribution is accepted for publication, the associate editors will modify parts of this file accordingly.
1.4 Setup dependencies
The next step is to inform Computo of the other packages, tools and environment that your paper might depend upon. It is important to freeze their versions to ensure reproducibility. This step is inherently handled differently whether you are an R, Python or Julia user.
1.5 Ensure reproducibility
Now that you have written your contribution in the correct template and set up its dependencies, you need to set up continuous integration via GitHub Actions in order to ensure reproducibility of your work and its publication as a webpage.
1.5.1 Use Computo’s built-in GitHub Action workflow
Computo has a built-in workflow for just that purpose which comes in the form of a YAML file describing a GitHub Action. It should have been automatically added to your repository when you cloned one of our templates. It is located under .github/workflows/build.yml
and its content should exactly match the following:
name: Main Workflows
on:
push:
branches: ["main","master"]
repository_dispatch:
types: [custom-event]
workflow_dispatch:
pull_request:
branches: ["main","master"]
jobs:
call_env_workflow:
uses: computorg/workflows/.github/workflows/global-env.yml@main
call_quartopublish_workflow:
permissions:
id-token: write
contents: write
pages: write
uses: computorg/workflows/.github/workflows/publish-render.yml@main
needs: call_env_workflow
build.yml
Authors should under no circumstances modify this file. If you encounter a problem (such as the CI not completing successfully), please get in touch with us at contact@computo-journal.org.
Next, as illustrated in Figure 3, under Settings > Pages
on the webpage of your repository, select GitHub Actions as the source for building and deploying your website.
Authors can find more detailed about Computo’s workflow in Section 3.
You can safely delete the gh-pages
branch if you have one, as we don’t need anymore to push the HTML files to the site.
1.5.2 Handle external system dependencies
While you should have by now handled R, Python or Julia package dependencies using appropriate tools that register environments and version numbers, some of the packages your work depend upon might require external system dependencies that must be installed either when setting up the environment in the GitHub runner or when taking care of the paper rendering or in both cases. To take care of that, you can add and customize two scripts at the root of your repository. Specifically:
setup-env-ci.sh
is meant to install system dependencies required to set up the environment in the GitHub runner. Here is an example of such a file taken from Giorgi, Kaakai, and Lemaire (2025):
# The CI runs on Linux Ubuntu, here goes system dependencies
# needed at environment setup step
sudo apt-get install -y libcurl4-openssl-dev
setup-render-ci.sh
is meant to install system dependencies required for rendering the paper, like plotting software or running a script to generate data. Here is an example of such a file taken from Giorgi, Kaakai, and Lemaire (2025):
# The CI runs on Linux Ubuntu, here goes system dependencies
# needed at rendering step
sudo apt-get install -y libblas-dev liblapack-dev
Remember that the GitHub runner uses Linux Ubuntu and therefore software installation is achieved through apt-get
. Furthermore, you should prepend calls to apt-get
with the sudo
word to specify that you want to execute this command as administrator of the machine.
1.6 Submit your manuscript
Once you are done writing your contribution, recall that you can render it in both HTML and PDF by running quarto render .
from a terminal within the folder in which you cloned the Computo template.
If the Quarto rendering is successful locally (hence you get both HTML and PDF files), then, once you push the last modification to your repository on GitHub, the continuous integration and deployment scripts should automatically run and, if successful, the HTML version of your contribution will be published online, as well as a PDF version (see “Other format” at the end of the table of content of the rendered HTML).
The PDF version should then be submitted to the OpenReview platform which will trigger the scientific review of the content of the PDF as well as the technical and reproducibility review from the repository.
You can find more details about the scientific reviewing process in the dedicated page on this website (Reviewers tabs).
1.7 Accepted manuscript
If your submission is accepted for publication, you will be asked to transfer the ownership of the repository that hosts your paper to the Computo GitHub organization. To do that, you must go on the main page of your repository in a web browser and click on the Settings tab as indicated in Figure 4.
Once inside the settings of the repository, scroll all the way down to the bottom of the page until you see Danger Zone in red color and click on Transfer as indicated in Figure 5.
A new page opens where you need to select Specify an organization or username and write computorg
(see Figure 6). Then you type what is asked in the blank box and click on I understand, transfer this repository and you’re all set!
2 Example papers
Authors can find example papers for each language that illustrate the expected content and some key features for formatting contributions as well as reminding some of the guidelines:
You can click above either on the screenshot or the URL to access the rendered version of each example paper. At any time you can then access the source code by clicking on the </> Source
button in the upper-right corner of the page as illustrated in Figure 7.
The source code of the page then displays as shown in Figure 8 and the user can click on the icon in the upper-right corner to copy the source code for practicing locally.
3 Computo’s publication workflow
The Computo workflows provide a streamlined publishing pipeline for authors to submit and render Quarto articles directly on GitHub Pages without requiring technical expertise.
3.1 Workflow Summary
As illustrated in Figure 9, the publication process consists of two main phases:
- Environment Setup and Caching (
global-env.yml
)- Detects and installs required dependencies (Python, R)
- Caches the environment for faster subsequent runs
- Customizable via
setup-env-ci.sh
- Rendering and Deployment (
publish-render.yml
)- Renders Quarto documents to HTML
- Publish the output to GitHub Pages
- Customizable via
setup-render-ci.sh
Authors only need to reference the main workflow file (build.yml
) in their repository, which orchestrates these processes.
3.2 Key Benefits
- Simplified Process: Authors need minimal GitHub Actions knowledge
- Optimized Performance: Environment caching for faster builds
- Customization Points: Two script entry points for custom configurations
- Automated Deployment: Direct publishing to GitHub Pages
Authors simply use the build.yml
workflow in their repository to trigger the complete process from environment setup to final publication.
3.3 Reproducing an existing paper published in Computo
Our publication workflow makes it very easy for anyone to reproduce a given paper. To do that, you can first clone the repository. Then you need to install Quarto and the Computo Quarto extension in the published-202412-giorgi-efficient
folder that the cloning step made. Finally, you can render the document. In summary, you do that with the following commands:
git clone https://github.com/computorg/published-202412-giorgi-efficient.git
cd published-202412-giorgi-efficient
quarto add computorg/computo-quarto-extension
quarto render .
4 Computo’s code of ethics
- Originality
-
- Authors guarantee that their proposed article is original, and that it infringes no moral intellectual property right of any other person or entity.
- Authors guarantee that their proposed article has not been published previously, and that they have not submitted the proposed article simultaneously to any other journal.
- Conflicts of interest
-
- Authors shall disclose any potential conflict of interest, whether it is professional, financial or other, to the journal’s Editor, if this conflict could be interpreted as having influenced their work.
- Authors shall declare all sources of funding for the research presented in the article.
- Impartiality
-
All articles are examined impartially, and their merits are assessed regardless of the sex, religion, sexual orientation, nationality, ethnic origin, length of service or institutional affiliation of the author(s).
- Funding
-
All funding received by the author(s) shall be clearly stated in the article(s).
- Defamatory statements
-
Authors guarantee that their proposed article contains no matter of a defamatory, hateful, fraudulent or knowingly inexact character.
- References
-
Authors guarantee that all the publications used in their work have been cited appropriately.
- Copyright/author’s right/license compliance
-
Authors guarantee that they comply with the usage license of any third party contents/works (code, software, data, figures/images, documents, etc.) that were used to produce their work.