50

GitHub - kiwi0fruit/sugartex: SugarTeX is a more readable LaTeX language extensi...

 5 years ago
source link: https://github.com/kiwi0fruit/sugartex
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

SugarTeX

SugarTeX is a more readable LaTeX language extension and transcompiler to LaTeX. Designed to be used instead of $formula$ insertions to markdown.

See SugarTeX documentation.

I use Markdown with Python code blocks for document programming via Pandoctools (like R-Markdown).

Both Python and Markdown are very readable languages. Unfortunately LaTeX is not like this. So I wrote SugaTeX extension+transpiler that is highly readable. In order to achieve this it heavily uses Unicode so that SugarTeX install instructions even have recommended monospace font fallback chains. And more: SugarTeX Completions Atom package helps write all that Unicode in a moment.

I am trying to incorporate LaTeX into .md using the Markdown Philosophy of "you should write something that's readable as plain text, without compilation, also".

Example of input to output conversion is at the end of this PDF.

Install

Install as part of Pandoctools - convenient interface and works out of the box.

Or install:

pip install sugartex

If you use conda package manager (Anaconda/Miniconda) then you can install dependencies first:

conda install -c defaults -c conda-forge "pandoc>=2.0,<2.1" pyyaml future shutilwhich

Also can install from GitHub:

pip install git+https://github.com/kiwi0fruit/sugartex.git

In this case you need to have installed Git available from command prompt.

Atom editor with full Unicode support

Highly recommended to install Atom editor as it's the best for markdown.

Atom is perfect for Unicode rich texts. But you need to install some fonts first. Recommended font fallback chains:

Noto fonts can also be freely downloaded (if you need CJK support). TC is Traditional Chinese but it can also be SC, JP, KR. I used monospacified fonts with the help of monospacifier.py. If you do not like Consolas/Roboto Mono you can pick there monospacified versions for other monospace fonts.

SugarTeX Completions for Atom

Install SugarTeX Completions package for easy typing SugarTeX and lots of other Unicode characters. (it's incompatible with latex-completions package).

In the SugarTeX documentation appropriate shortcuts for SugarTeX Completions for Atom are given.

Usage examples

Example of input to output conversion is at the end of [this PDF].

Windows:

chcp 65001 > NUL
set PYTHONIOENCODING=utf-8

type doc.md | ^
pre-sugartex | ^
pandoc -f markdown --filter sugartex -o doc.md.md

Unix:

export PYTHONIOENCODING=utf-8

cat doc.md | \
pre-sugartex | \
pandoc -f markdown --filter sugartex -o doc.md.md

Or splitting Pandoc reader-writer:

chcp 65001 > NUL
set PYTHONIOENCODING=utf-8

type doc.md | ^
pre-sugartex | ^
pandoc -f markdown -t json | ^
sugartex --kiwi | ^
pandoc -f json -o doc.md.md

Panflute scripts are also installed so you can use it in default Panflute automation interface in metadata or in it's CLI wrapper from pandoctools:

  • panfl sugartex_panfl --to markdown,
  • panfl sugartex_kiwi -t markdown.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK