JLoDoesIt / specification-latex

Generate specification from csv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers Issues CeCILL License LinkedIn


Table2Tex logo

Table2Tex - Generate Specifications from Tables (CSV, Excel)

Stop writing documents from scratch when you already did the structuration work under a table format.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

Product Name Screen Shot

I have often been involved in design thinking and specification process. Coming out with a feature list is pretty much a mandatory step. Still taking hours to write and maintain a specification is not something you can afford. This tool is made for you. You can very easily generate specification documents by just telling what are your sections and subsections.

Built With

Prerequisites

You should have a running OS with Python3 installed as well as pip3, virtualenv and texlive

  • For instance on Ubuntu:
sudo apt update
sudo apt install python3 python3-pip virtualenv git-all texlive texlive-latex-extra
tlmgr update --self --all
  • Or on windows:
    1. Install python3 and pip
    2. Install git
    3. Install texlive
    4. In your Command Prompt enter:
    pip install virtualenv
  • Or on MacOS:
    1. Install homebrew
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    1. Install python3 and virtualenv and basictex
    brew install python3
    pip3 install virtualenv
    brew install basictex
    tlmgr update --self --all
    1. Install MacTex (https://www.tug.org/mactex/mactex-download.html)

    2. Restart terminal

Installation

  1. Clone the repo
    git clone https://github.com/JLoDoesIt/specification-latex.git
    cd specification-latex
  2. Create your virtual environment
    virtualenv -p python3 venv
    source venv/bin/activate
    pip install -r requirements.txt

You're done !

Usage

Just run the main program

source venv/bin/activate
python main.py --default

Default files will be generated in the main folder

> python main.py --help
usage: main.py [-h] [--default] [--title TITLE] [--author AUTHOR] [--pdffile PDFFILE] [--csvfile CSVFILE] [--separator SEPARATOR]
               [--section SECTION] [--subsection SUBSECTION] [--subsubsection SUBSUBSECTION] [--description DESCRIPTION]
               [--characteristics CHARACTERISTICS] [--ranking RANKING] [--characstyle {table,inline}]
               [--characposition {before,after}]
               program

Convert CSV files to textual structured document using PyTex

positional arguments:
  program               Default program argument in case files is called from Python executable

optional arguments:
  -h, --help            show this help message and exit
  --default             Specify that you want default parameters
  --title TITLE         Specify the title of your document on the first page
  --author AUTHOR       Specify the authoring you wish to make appear on the first page
  --pdffile PDFFILE     Specify the name of the tex/pdf file you want to save to
  --csvfile CSVFILE     Specify the name of the csv file you want to parse from
  --separator SEPARATOR
                        Define the separator of the CSV file (default to ";")
  --section SECTION     Specify the header of the column you want to use for sections in your document
  --subsection SUBSECTION
                        Specify the header of the column you want to use for subsections in your document
  --subsubsection SUBSUBSECTION
                        Specify the header of the column you want to use for subsubsection in your document
  --description DESCRIPTION
                        Specify the header of the column you want to use to add descriptions in your document
  --characteristics CHARACTERISTICS
                        Specify the slash (/) separated headers of the columns you want to use for characteristics in your document
  --ranking RANKING     Specify the slash (/) separated headers of the columns you want to use for ranking in your document
  --characstyle {table,inline}
  --characposition {before,after}

Now, let's have specify freely !

Will give you access to all command line options

Roadmap

Initial work was conducted to serve the purpose of specifying the digital platform for Ulysseus European University.

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the CeCILL C License: if you improve, push your improvements under the same license

Contact

JLo - @JLo_IT

Acknowledgements

About

Generate specification from csv

License:Other


Languages

Language:Python 100.0%