All Projects → LeoColomb → generator-latex

LeoColomb / generator-latex

Licence: MIT license
Yeoman Generator for LaTeX up-to-date documents

Programming Languages

javascript
184084 projects - #8 most used programming language
TeX
3793 projects

Projects that are alternatives of or similar to generator-latex

Generator Standard Readme
Scaffold out a Standard Readme
Stars: ✭ 150 (+417.24%)
Mutual labels:  yeoman
generator-ngx-firebase-bootstrap
Generator for Angular / Firebase / Bootstrap projects
Stars: ✭ 44 (+51.72%)
Mutual labels:  yeoman
generator-django
A Yeoman generator for Django.
Stars: ✭ 78 (+168.97%)
Mutual labels:  yeoman
Pollinate
Template your base files and generate new projects from Git(Hub).
Stars: ✭ 213 (+634.48%)
Mutual labels:  yeoman
generator-alfresco
A Yeomen generator based on the Alfresco all-in-one Maven archetype with some generators and an opinionated project structure.
Stars: ✭ 27 (-6.9%)
Mutual labels:  yeoman
generator-create-docusaurus
A generator for new docusaurus projects.
Stars: ✭ 13 (-55.17%)
Mutual labels:  yeoman
Generator Micro Service
🛫 Yeoman generator to kick-start your microservice with `micro` and `ava`!
Stars: ✭ 145 (+400%)
Mutual labels:  yeoman
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (+193.1%)
Mutual labels:  yeoman
generator-nullfactory-xrm
Yeoman generator for Dynamics 365 Solutions. It generates a project structure that facilitates the quick creation builds and automated release strategies with minimal effort.
Stars: ✭ 15 (-48.28%)
Mutual labels:  yeoman
generator-latex-template
Generates latextemplates (e.g., for thesis, workshops, conferences, IEEEtran, LNCS, ...)
Stars: ✭ 31 (+6.9%)
Mutual labels:  generator-latex
Generator Chisel
Chisel is a development framework for creating easy to maintain and fast WordPress websites
Stars: ✭ 233 (+703.45%)
Mutual labels:  yeoman
Generator Api
🚀 Yeoman generator for creating RESTful NodeJS APIs, using ES6, Mongoose and Express
Stars: ✭ 247 (+751.72%)
Mutual labels:  yeoman
generator-kodi-addon
Yeoman generator for the most common Kodi addon types.
Stars: ✭ 69 (+137.93%)
Mutual labels:  yeoman
Generator Web Extension
Advanced WebExtension generator that creates everything you need to get started with cross-browser web-extension development.
Stars: ✭ 212 (+631.03%)
Mutual labels:  yeoman
generator-laravel-5
Scaffold Laravel 5.7 applications with ease.
Stars: ✭ 19 (-34.48%)
Mutual labels:  yeoman
Generator Spfx
Open-source generator to extend the capabilities of the Microsoft SPFx generator
Stars: ✭ 150 (+417.24%)
Mutual labels:  yeoman
delphi-generator-delphi
Yeoman generator for Delphi projects
Stars: ✭ 14 (-51.72%)
Mutual labels:  yeoman
generator-vue-plugin
Yeoman generator generating vue plugin 🚀
Stars: ✭ 29 (+0%)
Mutual labels:  yeoman
generator-go
A Yeoman generator to scaffold a simple golang application
Stars: ✭ 46 (+58.62%)
Mutual labels:  yeoman
generator-fountain-react
Yeoman 'fountain' generator to start a webapp with React
Stars: ✭ 36 (+24.14%)
Mutual labels:  yeoman

LaTeX

Generator LaTeX

Yeoman Generator for LaTeX up-to-date documents Edit

Node.js Package Latest Release Yeoman

Why

  • Grunt engine, for easy tasks running and managing.
  • Complete and structured generation process.
  • Automatic compilation at file changes.
  • Full and automatic PDF view in your browser.

After generation, keeping your work up-to-date during your writting require only one command:

$ grunt

That's it!

Install

Yeoman travels light. He didn't pack any generators when he moved in. You can think of a generator like a plug-in. You get to choose what type of application you wish to create, such as a Backbone application or even a Chrome extension.

To install generator-latex from npm, run:

$ npm install -g generator-latex

Usage

New project

$ yo latex

New chapter

Adding a chapter is a repetitive task. To keep them organized, the Chapter Sub-Generator creates a chapters directory, and lets you create sub-directories for each chapter.

To run it:

$ yo latex:chapter

or directly to bypass questions:

$ yo latex:chapter 1 Introduction

Will create src/1/main.tex.
The title of this chapter will be Introduction.

It also adds to ./main.tex, inserting an \include just before it sees % End of chapter files listing.

Getting Started

What is Yeoman?

Trick question. It's not a thing. It's this guy! Take a look at yeoman.io.

What will be created?

This generator is designed to cover any type of LaTeX document. It helps you to create a solid structure of your project.

Take a look at this final structure:

project/
├── Gruntfile.js            # → The compilator tasks file
├── main.tex                # → The project-root file
├── package.json            # → Preparator dependencies
│
├── src/
│   ├── glossary.tex        # → The glossary file
│   ├── references.bib      # → The reference file
│   ├── ...
│   │
│   ├── 1/
│   │   ├── main.tex        # → First chapter global file
│   │   └── ...
│   │
│   ├── 2/
│   │   ├── main.tex        # → Second chapter global file
│   │   └── ...
│   │
│   ├── assets/
│   │   ├── figures.svg     # → Optionnal figures files
│   │   └── ...
│   │
│   └── ...
│
└── dist/
    ├── [PROJECT].pdf       # → The final PDF file output
    └── ...                 # → Files generated during the compilation

Regarding glossary

In order for the glossary generation to work, you need to ensure the makeglossaries command is available system-wide.

A quick way to check if the command is available is to invoke it from any terminal.

$ makeglossaries

On Windows, it is mandatory to add the folder C:\\...\MiKteX X.X\miktex\bin to the PATH, otherwise the command will not be available.

Latex code sample to insert a glossary entry:

\gls{computer}

Regarding graphics

Figures in svg format can be automatically converted to pdf upon changes. This provides a robust and easy way to import vector graphics in latex.

A specific grunt task can be run to refresh all figures, although the grunt command will start by regenerating all figures.

$ grunt execute:figs

Latex code sample to insert a .pdf graphic generated from .svg:

\begin{figure}[h]
  \centering
  \includegraphics{src/assets/figure.pdf}
  \caption{Figure example of an imported pdf generated from an svg file (drawn with inkscape)}
  \label{figure_example}
\end{figure}

Regarding bibliography

When the bibliography is modified, it is properly reflected in the document two refresh later. This is due to how latex and bibtex interact. If you see some undefined references (displayed as [??]), simply let grunt perform a second refresh by modifying and saving any .tex file.

Latex code sample to insert a reference:

\cite{Perrin}.

License

MIT © Léo Colombaro

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].