No description
Find a file Use this template
2026-03-01 00:13:42 -06:00
src fix(document-template): Corrected .latexmkrc for handling correctly glossaries, acronyms and symbols 2026-03-01 00:13:42 -06:00
.gitignore (LTD-001): First template with minimal structure 2026-02-15 16:38:57 -06:00
LICENSE legal(document-template): Added MIT License 2026-02-28 21:16:57 -06:00
README.md legal(document-template): Added MIT License 2026-02-28 21:16:57 -06:00

📘 LaTeX Template Project

A clean, modular, and reusable LuaLaTeX document template, designed for long-term maintainability and professional document structure.

This template separates:

  • packages, styles & general configuration (preamble/)
  • environments (environments/)
  • document body (body/)
  • assets (images + TikZ drawings)
  • bibliography + glossary resources (bib/)

It is intended as a solid foundation for academic, technical, or general-purpose LaTeX documents.


Objective

This project provides:

  • A structured LaTeX template with reusable components
  • A metadata system (\SetDocumentMetadata{...})
  • Support for:
    • glossaries & acronyms
    • bibliography via biblatex + biber
    • TikZ cover decorations
    • modular frontmatter/content/backmatter organization

The goal is to keep documents clean, scalable, and easy to extend.


📂 Project Structure

src/
├── main.tex                     # Entry point of the document (compilation starts here)
│
├── preamble/                    # Global document configuration (loaded before \begin{document})
│   ├── index.tex                # Central loader for the preamble modules
│   ├── packages.tex             # Package imports
│   ├── config.tex               # Package configuration & global settings
│   ├── commands.tex             # Custom commands and macros
│   ├── metadata.tex             # Title, author, institution, document metadata
│   │
│   └── styles/                  # Visual styling layer
│       ├── index.tex            # Style loader
│       ├── fonts.tex            # Font configuration
│       ├── palette.tex          # Color definitions
│       ├── tables.tex           # Table styling (tabularray, etc.)
│       ├── tikz.tex             # TikZ global styles
│       └── forest.tex           # Forest diagram styles
│
├── environments/                # Custom LaTeX environments and structural components
│   ├── index.tex                # Environment loader
│   ├── coverpage.tex            # Cover page environment definition
│   └── conditions.tex           # Custom condition environments
│
├── body/                        # Actual document content
│   ├── index.tex                # Main body loader
│   │
│   └── frontmatter/             # Pages before main content
│       ├── coverpage.tex        # Cover page content
│       └── index.tex            # Frontmatter structure
│
├── assets/                      # Static resources
│   ├── img/                     # Images used in the document
│   │   └── logos/
│   │       ├── IPN.png
│   │       └── UPIITA.png
│   │
│   └── tikz/                    # Standalone TikZ components
│       └── coverpage.tex
│
└── bib/                         # Bibliography and glossary sources
    ├── References.bib           # BibLaTeX database
    ├── Glossary.tex             # Glossary entries
    ├── Acronyms.tex             # Acronym definitions
    └── Symbols.tex              # Symbol list

Requirements

To compile this template you need:

  • TeX Live 2024+ or MiKTeX 2.9+ (recommended: full installation)
  • LuaLaTeX
  • latexmk
  • biber (for bibliography)
  • makeglossaries (for glossaries/acronyms)

On fedora:

sudo dnf install texlive-scheme-full latexmk biber

Compilation

This template is designed to be compiled using latexmk, which automatically runs:

  • LuaLaTeX
  • biber (if needed)
  • makeglossaries (if enabled)
  • multiple passes until references stabilize

Compile from the src folder:

Please note that you must compile from the src/ folder.

user@host:~/latex-template$ cd src
user@host:~/latex-template/src$ latexmk -lualatex main.tex

The generated files and PDF will be located in the out/ folder (user@host:~/latex-template/out$).

🧹 Cleaning Build Files

You can remove the auxiliary files with the -c flag:

user@host:~/latex-template/src$ latexmk -c

Use -C to remove all files including the PDF.

Basic Usage

Document Metadata


Document information is defined using:

\SetDocumentMetadata{
    title       = {My Document Title},
    author      = {John Doe},
    date        = {\today},
    subject     = {Optional Subject},
    description = {Short description}
}

These values can be printed anywhere using:

\PrintTitle
\PrintAuthor
\PrintDate
\PrintSubject
\PrintDescription

Bibliography

Bibliography (biblatex) is ready, but you must add references to bib/References.bib.

Glossaries are also supported, but you must add entries to

bib/Glossary.tex
bib/Acronyms.tex
bib/Symbols.tex

Notes

  1. I encourage you to keep the proposed structure for easy maintenance.
  2. You may define your own custom commands and environments, but please document your commands. There are few ready to use please take a look at environments/ and config/commands.tex.

License

This template is released under the MIT License.

See the LICENSE file for details.

Remarks

The MIT License applies ONLY to the template files included in this repository. Documents created using this template remain the property of their respective authors.

You are free to modify and adapt the template to your own workflow. Any work produced using this template remains yours.

🤝🏽 Contributing

Contributions, suggestions, and bug reports are welcome.

If you would like to contribute, please open an issue or submit a pull request. For direct contact, you may also email: eduardo.jimenez.mir@proton.me

By contributing, you agree that your contributions will be licensed under the MIT License.


© 2026 Eduardo Jiménez Miranda. Released under the MIT License.