Skip to content

antoniogrv/alcazar-devcontainer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

See PDF Preview

This is a fork of the alcazar LaTeX template by dpmj, which integrates the DevContainer technology in order to produce a complete TeX environment for local development. This is done thanks to the qdm12/latexdevcontainer DevContainer settings, which were customized to include a couple of extra packages required for alcazar to compile properly.

As for the requirements, you just need Docker, Docker Compose, Visual Studio Code and the DevContainer Extension, as noted in the qdm12/latexdevcontainer README.

You can then fork and clone this repository (preferibly using fine-grained personal access tokens, otherwise you won't be able to push your commits; i.e. git clone https://<token>@github.com/antoniogrv/alcazar-devcontainer.git) and start writing. Editing TeX files will output a PDF file in the root directory.

Please refer to the qdm12/latexdevcontainer repository for advanced customization settings.

Original Alcazar README

Philosophy

  • KISS.
  • Easy to use.
  • Organized, elegant, coherent and consistent.
  • Compact, but not crowded.
  • Compatible with pdflatex.
  • No strange packages.

Features

Requirements

  • biber for the multi-bibliography support of biblatex. Also, it's nice.
  • python 3 for the minted package.

Build

You can build it with your favorite LaTeX frontend.

Overleaf

Works out-of the box, no need to configure anything. Simply download this repo as .zip and then upload the archive to Overleaf as a new project.

LaTeX Workshop extension for VS Code / Codium

If you are using the LaTeX Workshop extension by James Yu, you need to add the following tools to your configuration file, under latex-workshop.latex.tools (In the UI, navigate to Latex-workshop > Latex: Recipes > Edit in settings.json):

{
    "name": "biber",
    "command": "biber",
    "args": [
        "%DOC%"
    ],
},
{
    "name": "makeglossaries",
    "command": "makeglossaries",
    "args": [
        "%DOCFILE%"
    ],
}

Also, edit the pdflatex entry as follows to include the -shell-escape argument, necessary for the minted package.

{
    "name": "pdflatex",
    "command": "pdflatex",
    "args": [
        "-shell-escape",
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOC%"
    ],
    "env": {}
}

Now add a new recipe, under latex-workshop.latex.recipes (In the UI: Latex-workshop > Latex: Tools > Edit in settings.json): :

{
    "name": "alcazar",
    "tools": [
        "pdflatex",
        "makeglossaries",
        "biber",
        "pdflatex",
        "pdflatex"
    ]
}

And run the alcazar recipe while on a .tex file from the project.

Note: If you constantly encounter a makeglossaries error saying that main.aux could not be found, set to false the setting latex-workshop.latex.autoBuild.cleanAndRetry.enabled (In the UI, unmark "Latex-workshop > Latex > Auto build > Clean and retry: Enabled")

Console

This project can easily be built by using the following commands with these recommended parameters. As before, -shell-escape flag is needed for the minted package.

$ pdflatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error main
$ biber main
$ makeglossaries main
$ pdflatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error main
$ pdflatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error main

Requirements

This project requires:

  • biber for the multi-bibliography support of biblatex.
  • pygments (and thus python) for the minted package.

Usage

The file structure of Alcázar is simple and self-explanatory:

./
├── bibliography/               # BIBLIOGRAPHY
|   ├── bibliography.tex        # Bibliography generation
|   └── references.bib          # BibTeX references
|
├── figures/                    # Put your figures here
|
├── glossary/                   # GLOSSARY
|   ├── glossary.sty            # Glossary definitions
|   └── glossary.tex            # Glossary generation
|
├── opening/                    # OPENING
|   ├── resources/              # Graphics used in the opening (logos, etc)
|   |
|   ├── about.tex               # Details about the authors
|   ├── abstract.tex            # Abstract, in various languages
|   ├── acknowledgements.tex    # Acknowledgements
|   ├── dedication.tex          # Dedication
|   ├── opening.tex             # Structures the opening part of the document
|   └── publications.tex        # Your publications. Optional, comment line in opening.tex
|   └── titlepage.tex           # Title page
|
├── style/                      # STYLE
|   ├── alcazar.sty             # Style definition and configuration
|   ├── colors.sty              # Colors definition
|   └── pkgs.sty                # Only used to import packages
|
├── text/                       # TEXT
|   ├── appendix/               # Put your addendum here
|   |   ├── appendix.tex        # Appendix generation
|   |   └── thanks.tex          # Say thanks. Optional, comment line in main.tex
|   |
|   └── chapters/               # Put your chapters here
|
└── main.tex                    # The main document.
  • In main.tex you will find some variable definitions, fill them in according to your thesis and the document will update all occurrences automatically.
  • Fill in your details about the authors in the file opening/about.tex.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Disclaimer

This work is unrelated to any institution, and the references, logos and the like are merely an example of usage.

To-Do

  • Opening
    • Cover
    • About the document
    • Abstract and keywords
    • Publications
    • Acknowledgements
    • Dedication
    • Tables of contents
    • Glossary
      • Example Entries
  • Chapters
    • Example Text
    • Example Figures
    • Example Tables
    • Example Listings
  • Bibliography
    • Example Citations
  • Addendum
    • Example Text
    • Thanks

Style

  • Compress space used by citations (small, double column)
  • Compress space used by glossary (small, double column)
  • Choose default serif font - Libertinus
  • Choose default sans-serif font - Open Sans (unused for now)
  • Choose default monospace font - IBM Plex Mono
  • Default font size: 11pt
  • Page size: A4 paper
  • Simple and compact chapter title style
  • Chapter number marker on the side margins
  • Check footnote style
  • Change style of paragraph and subparagraph
  • Uniformize vertical skips on figures, subfigures, tables, listings, etc.

Fixes

  • Inconsistent skips above and below floats, too much space sometimes.
  • Inconsistent skips above and below titles sometimes
  • In listings, for some reason the comments of lots of % are bugged.
  • Page style not consistent in opening

Known issues

  • For the two-column table of contents minitoc is used, which seems to be abandoned.

About

A dev-containerized FOSS LaTeX template for academic works.

Resources

License

Stars

Watchers

Forks

Languages

  • TeX 99.8%
  • Dockerfile 0.2%