Giter Site home page Giter Site logo

antoniogrv / alcazar-devcontainer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dpmj/alcazar

0.0 1.0 0.0 14.65 MB

A dev-containerized FOSS LaTeX template for academic works.

License: Creative Commons Attribution Share Alike 4.0 International

TeX 99.80% Dockerfile 0.20%

alcazar-devcontainer's Introduction

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.

alcazar-devcontainer's People

Contributors

dpmj avatar antoniogrv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.