Skip to content

๐Ÿ““ Quarto Format for ABNT Theses and Dissertations

License

Notifications You must be signed in to change notification settings

danielvartan/abnt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

47 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

abnt

Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed. DOI Badge quarto-render.yaml badge FAIR checklist badge fair-software.eu GPLv3 License Badge License: CC BY-NC-SA 4.0 Contributor Covenant 3.0 Code of Conduct

Overview

abnt is a Quarto format designed for creating theses and dissertations that comply with guidelines established by the Brazilian Association of Technical Standards (ABNT). It's based on the abntex2 LaTeX class, which belongs to the memoir class family.

Click here to view the format output. For a real-world application, see this example.

If you find this project useful, please consider giving it a star! ย  GitHub Repository Stars

The continuous development of abnt depends on community support. If you can afford to do so, please consider becoming a sponsor. ย 

Showcase of the abnt format output

How It Works

abnt works by rewriting part of abntex2 and other resources to Pandoc standards. To handle the frontmatter and backmatter sections, it uses a system of tags and pre/post-processing layers to add and parse those sections into the final TeX file.

I've tried to keep this processing to a minimum. This will be much easier when Quarto implements frontmatter/appendices/annexes/backmatter sections in the _quarto.yml file (see this issue to learn moreโ€”give it a thumbs up to help out). Lua filters would still need to be implemented, but with these sections, abnt could become a pure Quarto format. At the moment, the easiest way to use it is to clone its repository and build on its Quarto book.

Prerequisites

To effectively use abnt, you must have some familiarity with the tools and languages involved. This includes the R programming language, the TeX and LaTeX typesetting system, the Quarto publishing system, and the abntex2, memoir, and biblatex TeX packages.

While this format allows integration of other programming languages, its core structure is based on R and TeX. Any customizations will require working within these languages. I also recommend using the free and open-source reference manager Zotero.

If you're less familiar with R, I suggest exploring resources such as Hadley Wickham and Garrett Grolemund's online book R for Data Science or the Coursera course from Johns Hopkins University, Data Science: Foundations using R (free for audit students).

To learn LaTeX, I suggest Tobias Oetiker et al.'s online book The Not So Short Introduction to LaTeX. Other excellent free resources include Learn LaTeX.org and Winston Chang's LaTeX Cheat Sheet.

Access to the ABNT standards could also help. It's important to note that the standards are not publicly accessible. If you are affiliated with a federal or state university in Brazil, you may have access to Target GEDWeb, a service for managing standards and other regulatory documents. Members of the University of Sรฃo Paulo (USP) can access ABNT standards on GEDWeb here.

Installation

This format requires Quarto 1.8.27 or later, R 4.5.2 or later, and a LaTeX distribution with the lualatex engine. For quick LaTeX installation, use TinyTeX, which can be installed from R via the tinytex package.

The typefaces Noto Sans and Noto Sans Mono are used as the main and monospace default fonts, respectively. If you plan to maintain the default settings, install both fonts on your system. These are developed by Google and are freely available under the SIL Open Font License.

While Quarto provides various customization features, they don't fully address ABNT standards. Some formatting adjustments required unconventional methods and multiple processing layers. The easiest way to start using abnt is to copy or clone this repository and build upon its Quarto book.

After copying/cloning the repository, install the renv R package and run renv::restore() to ensure all necessary dependencies are installed. This process is usually done automatically when opening the project in Positron or RStudio. If you're having issues with renv (it can be a little frustrating), use renv::deactivate(clean = TRUE) to completely remove the environment and start fresh.

I plan to implement this format more straightforwardly using Lua filters to directly manipulate the LaTeX code generated by Pandoc. This approach should simplify the structure and reduce the number of processing layers required, but there is currently no fixed timeline for this implementation. If you are interested in contributing to this effort, please refer to the Contributing section.

Usage

Most customization options available in the Quarto system are compatible with this format. See the abnt PDF output Settings annex for details. If you have questions or need assistance, use the project's GitHub discussion tab.

The Showcase sections contain numerous examples demonstrating potential applications. However, it's best to remove them when starting a new project, as they require several additional packages and configurations that may not be necessary for your specific use case. After removing the Showcase examples, run renv::snapshot() to update the project's dependency list accordingly. I also recommend removing the .github/workflows/quarto-render.yaml file unless you plan to use GitHub Actions for continuous integration.

For additional customization details, refer to the PDF Options section in the Quarto guide and the extension YAML file.

The rendering process is the same for any Quarto project. To render the document, run the following command in your terminal within the project directory:

quarto render

Alternatively, you can utilize the quarto R package's quarto_render() function as an interface.

Citation

DOI Badge

If you use abnt in your work, please cite it to acknowledge the time and effort invested in its development and maintenance. Your citation helps support the ongoing improvement of the project.

To cite abnt in publications please use the following format:

Vartanian, D. (n.d.). abnt: Quarto format for ABNT theses and dissertations [Computer software]. https://doi.org/10.5281/zenodo.18357083

A BibLaTeX entry for LaTeX users is:

@software{vartanian,
  title = {abnt: Quarto format for ABNT theses and dissertations},
  author = {Daniel Vartanian},
  url = {https://github.com/danielvartan/abnt},
  doi = {10.5281/zenodo.18357083}
}

Contributing

Contributor Covenant 3.0 Code of Conduct

Contributions are always welcome! Whether you want to report bugs, suggest new features, or help improve the code or documentation, your input makes a difference.

Before opening a new issue, please check the issues tab to see if your topic has already been reported.

GitHub Sponsor

You can also support the development of abnt by becoming a sponsor.

Click here to make a donation. Please mention abnt in your donation message.

License

License: GPLv3 License: CC BY-NC-SA 4.0

The code in this repository is licensed under the GNU General Public License Version 3, while the documents are available under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Copyright (C) 2026 Daniel Vartanian

abnt is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program. If not, see <https://www.gnu.org/licenses/>.

Acknowledgments

abnt is an independent project with no affiliation to the Brazilian Association of Technical Standards (ABNT).

This project owes its existence to the contributions of dedicated developers from the abntTeX community.

abnt brand identity is based on the ABNT brand identity.

USP Logo This work was developed with support from the Graduate Program in Modeling Complex Systems (PPGSCX) at the University of Sรฃo Paulo (USP).
CAPES Logo This work was financed, in part, by the Coordination for the Improvement of Higher Education Personnel (CAPES), Brazil. Process Number 88887.703720/2022-00.