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
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.
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:
pip install virtualenv
- Or on MacOS:
- Install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install python3 and virtualenv and basictex
brew install python3 pip3 install virtualenv brew install basictex tlmgr update --self --all
-
Install MacTex (https://www.tug.org/mactex/mactex-download.html)
-
Restart terminal
- Clone the repo
git clone https://github.com/JLoDoesIt/specification-latex.git cd specification-latex
- Create your virtual environment
virtualenv -p python3 venv source venv/bin/activate pip install -r requirements.txt
You're done !
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
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).
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.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the CeCILL C License: if you improve, push your improvements under the same license
JLo - @JLo_IT