Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pihart/tex

Utilities for LaTeX projects
https://github.com/pihart/tex

latex latex-template pandoc pandoc-filter

Last synced: 29 days ago
JSON representation

Utilities for LaTeX projects

Awesome Lists containing this project

README

        

# tex

Utilities I commonly use with LaTeX

## LaTeX

### avimehra.sty

[avimehra.sty]

All-encompassing package

To use, make it visible to your LaTeX engine.

### Generate your own package file

[generate-sty.ts](src/lib/generate-sty.ts)

Example: [avimehra.sty.ts](src/script/sty/avimehra.sty.ts) is used to generate the aforementioned [avimehra.sty].

## pandoc/Markdown

```shell
npm i @mehra/tex
```

### Template

[pandoc-template.tex](src/pandoc-template.tex)

A bare-bones LaTeX template for use in pandoc.
Tested with pdflatex.

#### Configuration

Set config params with front-matter or cli options.

##### Style presets (assume [avimehra.sty] is visible)

- pset
- for problem set solutions
- default-style
- for textbook-style worksheets

##### Use packages

Use the config parameter `package`, which is an array of objects (each is henceforth referred to as `package`) of any of these types (can mix-and-match):

- string
- `\usepackage{}`
- { name: string }
- `\usepackage{}`
- { name: string, options: string }
- `\usepackage[]{}`

##### Other config options

- title
- author
- date
- prompt
- abstract
- figure-here
- whether to override float placement for `figure` as `htbp`

### Filter

[latex.js](src/filters/latex.js)

Filters the pandoc AST to improve syntax for LaTeX environments

### Compile file to LaTeX in place (no temp/aux files)

[pandoc_latex_current_file.ts](src/script/pandoc_latex_current_file.ts)

Uses the pandoc filter and template from above.

Call as `ts-node ./src/pandoc_latex_current_file.ts `.
Can also use `node ./dist/pandoc_latex_current_file.js ` if [dist/pandoc_latex_current_file.js](dist/pandoc_latex_current_file.js) exists.
Usually used on a Markdown file.

#### IntelliJ/JetBrains Run Configuration

By adding the run configuration [Pandoc_LaTeX_Current_File.xml](.idea/runConfigurations/Pandoc_LaTeX_Current_File.xml), clicking run will actually compile the currently opened file in place, hence the name.

[avimehra.sty]: texmf/tex/latex/avimehra.sty