Code Monkey home page Code Monkey logo

latex-templ's Introduction

LaTeX Cookbook

Download PDF

This repo contains a LaTeX document, usable as a cookbook (different "recipes" to achieve various things in LaTeX) as well as as a template. The resulting PDF covers LaTeX-specific topics and instructions on compiling the LaTeX source.

See the releases page for more downloads.

Features

The PDF itself has much more to say on this and is meant to speak for itself, visually. The following is simply a brief overview of the features contained in this repo.

Tooling

  • accompanying Docker image, usable locally and in CI/CD, guaranteeing compilation success without interfering with your local installation. In fact, using Docker (containerization in general), no LaTeX installation is required at all.
    • accompanying Visual Studio Code environment configuration.

      If you open this repository in Visual Studio Code, it should automatically put you into the correct Docker container environment for development, and just work™. See here for more info.

    • in the image, pandoc is available with the Eisvogel template, allowing beautiful PDFs to be generated from Markdown (like this README: download it from the latest Actions artifacts; it currently looks lackluster because this README is mainly PNGs)

  • tests for your PDF, using Python to ensure some (basic) properties of your output adhere to expectations
  • a Makefile to facilitate ease of use and platform independence (commands like make file.pdf work locally as well as in CI pipelines)

LaTeX-specific

  • full Unicode support through lualatex, the successor to the obsolete pdflatex. This also affords beautiful font typesetting through unicode-math. High-quality fonts like TeX Gyre Pagella have all desirable font shapes available: font-shapes

  • automatic compilation using latexmk, ensuring the PDF is built fully, running all steps necessary (generation of the bibliography, glossaries, ...) automatically as needed

  • comprehensive support for:

    made possible through glossaries-extra.

  • structured and commented source code, explaining rationales and providing context

  • showcasing plotting and data display (floats):

    • computing more complicated plots (in this example, a contour plot) directly in LaTeX, with no explicit outside tools used (gnuplot is used by LaTeX in the background):

      plot-compute

    • ingesting a CSV directly, and plotting it (so we can skip matlab2tikz etc.). The below style is inspired by Tufte:

      plot-csv

    • typesetting more complex tables, with footnotes, decimal alignment and more:

      table

    • using tikz:

      • for annotating bitmap graphics:

        tikz-annotation

      • for drawing diagrams (this template contains a (basic) pgf/tikz library for energy systems/thermodynamics/hydraulics/... symbols like pipes, compressors, valves, ...) and 3D sketches. For a much better and comprehensive collection of TikZ examples, see here.

        tikz-diagram tikz-libaries

  • back-referencing of citations, using the excellent biblatex:

    backref

  • support for elaborate chemical reaction equations, using chemmacros:

    chemmacros

  • comprehensive code syntax highlighting, thanks to minted and pygments:

    pygments

  • quick and structural switching of language contexts, provided by polyglossia:

    language

  • of course, support for enhanced mathematical typesetting, like highlighted equations or premade macros. The blue color are hyperlinks, turning those symbols into links to the glossary (this can be toggled off).

    math

    math-macros

latex-templ's People

Contributors

alexpovel avatar vasco-da-gama-png avatar fabiangabel 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.