laTEX is awesome but we are lazy -> groff with markdown syntax and inline code execution

Overview

pyGroff

  • A wrapper for groff using python to have a nicer syntax for groff documents
  • DOCUMENTATION
  • Very similar to markdown. So if you know what that is. You will love this :)
  • We hate word -.-
  • Editing pdfs is a pain and please we are lazy
  • We love markdown. But we need pdfs and docx. So why not
  • LaTEX is amazing but it is tooo much work for small things.
  • Vim is love. What can we do without keyboard shortcuts ):

What can you do

  • Write in a text file
  • Get a cover page as well :)
  • Get a Table of contents. (Due to limitations : its only on the last page for now.)
  • Add code. And get execution results directly! Default is python. You can use any other language in your system
  • Easy tables (Aint nobody got time for complicated ones)
  • You can get a word document too (you do need libreoffice for it)
  • Get auto generated, beautifully formatted pdfs and docs instantly
  • Not cry because you moved an image and now your document is in hieroglyphics
  • (You can also write in groff syntax in the file. It will work as well. Just in case you need something extra)

Requirements

  • You need python of course.
  • For python dependencies, using pip install -r requirements.txt (Only PIL)
  • Almost every unix system has groff preinstalled.
  • If you want to convert to word, you need libreoffice.
  • If you want to get a table of contents you will need pdftk - yay pdftk #arch - sudo pacman -S pdftk #arch - sudo apt install pdftk

Syntax

  • p runner.py -f "demo.txt" -o "syntax.pdf" (most basic)
  • p runner.py -f "demo.txt" -o "syntax.pdf" -c True -n "Subhaditya Mukherjee" -t "pyGroff" (with cover page)
  • Please please look at arguments
  • By default, it is assumed that you have images. If you wish to disable it (for more speed), just use -i False
  • Check syntax.pdf and demo.txt for an example
  • Refer to syntax.pdf for new, easier syntax :)
  • This was also generated by the program hehe

Examples of langauge strings

  • python -c (default)
  • argument -l
  • R -e

FAQ

  • I dont like the cover page - If you know a bit of groff (check the links below), you can use "-d False" and then edit whatever you want using groff itself. - Then run "groff -ms {infile} -Tpdf > {outfile}" replacing the infile and outfile respectively.

Contribution guidelines

  • Can I contribute? - YES
  • What to do? - Check todo.md
  • Restrictions? - File an issue first, if it looks useful. Go for it
  • Spelling mistakes? - I mean sure why not xD

References

You might also like...
Context-free grammar to Sublime-syntax file

Generate a sublime-syntax file from a non-left-recursive, follow-determined, context-free grammar

This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator

Late-Bound Arguments This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator. Usage Mention the names of the argumen

VAST - Visualise Abstract Syntax Trees for Python

VAST VAST - Visualise Abstract Syntax Trees for Python. VAST generates ASTs for a given Python script and builds visualisations of them. Install Insta

LinkML based SPARQL template library and execution engine

sparqlfun LinkML based SPARQL template library and execution engine modularized core library of SPARQL templates generic templates using common vocabs

Web UI for your scripts with execution management

Script-server is a Web UI for scripts. As an administrator, you add your existing scripts into Script server and other users would be ab

Remote execution of a simple function on the server

FunFetch Remote execution of a simple function on the server All types of Python support objects.

 This module is for finding the execution time of a whole python program
This module is for finding the execution time of a whole python program

exetime 3.8 This module is for finding the execution time of a whole program How to install $ pip install exetime Contents: General Information Instru

An execution framework for systematic strategies

WAGMI is an execution framework for systematic strategies. It is very much a work in progress, please don't expect it to work! Architecture The Django

Unified Distributed Execution

Unified Distributed Execution The framework supports multiple execution backends: Ray, Dask, MPI and MultiProcessing. To run tests you need to install

Owner
Subhaditya Mukherjee
https://www.linkedin.com/in/subhaditya-mukherjee-a36883100
Subhaditya Mukherjee
To lazy to read your homework ? Get it done with LOL

LOL To lazy to read your homework ? Get it done with LOL Needs python 3.x L:::::::::L OO:::::::::OO L:::::::::L L:::::::

KorryKatti 4 Dec 8, 2022
A simple interface to help lazy people like me to shutdown/reboot/sleep their computer remotely.

?? Lazy Helper ! A simple interface to help lazy people like me to shut down/reboot/sleep/lock/etc. their computer remotely. - USAGE If you're a lazy

MeHDI Rh 117 Nov 30, 2022
🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.

Boltons boltons should be builtins. Boltons is a set of over 230 BSD-licensed, pure-Python utilities in the same spirit as — and yet conspicuously mis

Mahmoud Hashemi 6k Jan 6, 2023
🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.

Boltons boltons should be builtins. Boltons is a set of over 230 BSD-licensed, pure-Python utilities in the same spirit as — and yet conspicuously mis

Mahmoud Hashemi 5.4k Feb 20, 2021
Python with braces. Because Python is awesome, but whitespace is awful.

Bython Python with braces. Because Python is awesome, but whitespace is awful. Bython is a Python preprosessor which translates curly brackets into in

null 1 Nov 4, 2021
Convert text with ANSI color codes to HTML or to LaTeX.

Convert text with ANSI color codes to HTML or to LaTeX.

PyContribs 326 Dec 28, 2022
A complex language with high level programming and moderate syntax.

zsq a complex language with high level programming and moderate syntax.

an aspirin 6 Jun 25, 2022
Syntax highlighting for yarn.lock and bun.lockb files

Yarn.lock Syntax Highlighting Syntax highlighting for yarn.lock and bun.lockb files Installation Plugin is not publushed yet on Package Control, to in

Alexander Kuznetsov 4 Jul 6, 2022
Pygments is a generic syntax highlighter written in Python

Welcome to Pygments This is the source of Pygments. It is a generic syntax highlighter written in Python that supports over 500 languages and text for

null 1.2k Jan 6, 2023
A quick experiment to demonstrate Metamath formula parsing, where the grammar is embedded in a few additional 'syntax axioms'.

Warning: Hacked-up code ahead. (But it seems to work...) What it does This demonstrates an idea which I posted about several times on the Metamath mai

Marnix Klooster 1 Oct 21, 2021