Name | latexdocs JSON |
Version |
0.0.2
JSON |
| download |
home_page | https://github.com/BALOGHBence/latexdocs |
Summary | A Python library to generate publication-ready documents with LaTeX. |
upload_time | 2022-09-12 21:38:28 |
maintainer | |
docs_url | None |
author | Bence Balogh |
requires_python | >=3.7, <3.11 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![CircleCI](https://circleci.com/gh/dewloosh/latexdocs.svg?style=shield)](https://circleci.com/gh/dewloosh/latexdocs)
[![Documentation Status](https://readthedocs.org/projects/latexdocs/badge/?version=latest)](https://latexdocs.readthedocs.io/en/latest/?badge=latest)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI](https://badge.fury.io/py/latexdocs.svg)](https://pypi.org/project/latexdocs)
# **latexdocs** - A document generation solution for LaTeX
latexdocs is a Python library with the goal of making the generation of LaTeX documents as easy as possible. It builds on [PyLaTeX](https://github.com/JelteF/PyLaTeX), but offers a different approach to structuring your document or writing custom extensions.
## **Documentation**
Click [here](https://latexdocs.readthedocs.io/en/latest/) to read the documentation.
## **Installation**
This is optional, but we suggest you to create a dedicated virtual enviroment at all times to avoid conflicts with your other projects. Create a folder, open a command shell in that folder and use the following command
```console
>>> python -m venv venv_name
```
Once the enviroment is created, activate it via typing
```console
>>> .\venv_name\Scripts\activate
```
`latexdocs` can be installed (either in a virtual enviroment or globally) from PyPI using `pip` on Python >= 3.7:
```console
>>> pip install latexdocs
```
Installing latex on different operating systems is well described [here](https://latex-tutorial.com/installation/).
## **Basic Example**
The equivalent of the [example](https://jeltef.github.io/PyLaTeX/current/examples/full.html) provided by the folks at `PyLaTeX` would be the following:
```python
from latexdocs import Document, TikZFigure, Image
from pylatex import Alignat, Matrix, Math, Tabular, Plot
from pylatex.utils import italic
import numpy as np
image_filename = 'image.png'
doc = Document()
doc['Some basic content'].append('Some regular text and some')
doc['Some basic content'].append(italic('italic text. '))
doc['Some basic content'].append('\nAlso some crazy characters: $&#{}')
doc['Some basic content', 'Math that is incorrect'].append((Math(data=['2*3', '=', 9])))
a = np.array([[100, 10, 20]]).T
M = np.matrix([[2, 3, 4],
[0, 0, 1],
[0, 0, 2]])
content = Math(data=[Matrix(M), Matrix(a), '=', Matrix(M * a)])
doc['Another section', 'Correct matrix equations'].append(content)
table = Tabular('rc|cl')
table.add_hline()
table.add_row((1, 2, 3, 4))
table.add_hline(1, 2)
table.add_empty_row()
table.add_row((4, 5, 6, 7))
doc['Some basic content', 'Table of something'].append(table)
agn = Alignat(numbering=False, escape=False)
agn.append(r'\frac{a}{b} &= 0 \\')
agn.extend([Matrix(M), Matrix(a), '&=', Matrix(M * a)])
doc['Another section', 'Alignat math environment'].append(agn)
fig = TikZFigure(plot_options='height=4cm, width=6cm, grid=major')
fig.append(Plot(name='model', func='-x^5 - 242'))
coordinates = [
(-4.77778, 2027.60977),
(-3.55556, 347.84069),
(-2.33333, 22.58953),
(-1.11111, -493.50066),
(0.11111, 46.66082),
(1.33333, -205.56286),
(2.55556, -341.40638),
(3.77778, -1169.24780),
(5.00000, -3269.56775),
]
fig.append(Plot(name='estimate', coordinates=coordinates))
doc['Another section']['Beautiful graphs'].append(fig)
img = Image(filename=image_filename, position='h!',
caption='A simple structure.', width='350px')
doc['Another section']['An image'].append(img)
# doc.build() returns a pylatex.Document instance
doc.build().generate_pdf('basic_example', compiler='pdflatex')
```
## **Contributing**
Since latexdocs builds on PyLaTeX, we suggest you to contribute to that package and enjoy the result here.
## **Testing**
To run all tests, open up a console in the root directory of the project and type the following (requires the `unittest` library to be installed)
```console
>>> python -m unittest
```
## **License**
Copyright 2022 Bence Balogh, under [the MIT license](https://github.com/dewloosh/latexdocs/blob/master/LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/BALOGHBence/latexdocs",
"name": "latexdocs",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7, <3.11",
"maintainer_email": "",
"keywords": "",
"author": "Bence Balogh",
"author_email": "benceeok@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/21/10/7ad4f01d75735538f15fb03397e3980773e027f9112786ba3276f7c55a57/latexdocs-0.0.2.tar.gz",
"platform": null,
"description": "[![CircleCI](https://circleci.com/gh/dewloosh/latexdocs.svg?style=shield)](https://circleci.com/gh/dewloosh/latexdocs) \n[![Documentation Status](https://readthedocs.org/projects/latexdocs/badge/?version=latest)](https://latexdocs.readthedocs.io/en/latest/?badge=latest) \n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PyPI](https://badge.fury.io/py/latexdocs.svg)](https://pypi.org/project/latexdocs) \n\n# **latexdocs** - A document generation solution for LaTeX\n\nlatexdocs is a Python library with the goal of making the generation of LaTeX documents as easy as possible. It builds on [PyLaTeX](https://github.com/JelteF/PyLaTeX), but offers a different approach to structuring your document or writing custom extensions.\n\n## **Documentation**\n\nClick [here](https://latexdocs.readthedocs.io/en/latest/) to read the documentation.\n\n## **Installation**\nThis is optional, but we suggest you to create a dedicated virtual enviroment at all times to avoid conflicts with your other projects. Create a folder, open a command shell in that folder and use the following command\n\n```console\n>>> python -m venv venv_name\n```\n\nOnce the enviroment is created, activate it via typing\n\n```console\n>>> .\\venv_name\\Scripts\\activate\n```\n\n`latexdocs` can be installed (either in a virtual enviroment or globally) from PyPI using `pip` on Python >= 3.7:\n\n```console\n>>> pip install latexdocs\n```\n\nInstalling latex on different operating systems is well described [here](https://latex-tutorial.com/installation/).\n\n## **Basic Example**\n\nThe equivalent of the [example](https://jeltef.github.io/PyLaTeX/current/examples/full.html) provided by the folks at `PyLaTeX` would be the following:\n\n```python\nfrom latexdocs import Document, TikZFigure, Image\nfrom pylatex import Alignat, Matrix, Math, Tabular, Plot\nfrom pylatex.utils import italic\nimport numpy as np\n\nimage_filename = 'image.png'\n\ndoc = Document()\n\ndoc['Some basic content'].append('Some regular text and some')\ndoc['Some basic content'].append(italic('italic text. '))\ndoc['Some basic content'].append('\\nAlso some crazy characters: $&#{}')\ndoc['Some basic content', 'Math that is incorrect'].append((Math(data=['2*3', '=', 9])))\n\na = np.array([[100, 10, 20]]).T\nM = np.matrix([[2, 3, 4],\n [0, 0, 1],\n [0, 0, 2]])\n\ncontent = Math(data=[Matrix(M), Matrix(a), '=', Matrix(M * a)])\ndoc['Another section', 'Correct matrix equations'].append(content)\n\ntable = Tabular('rc|cl')\ntable.add_hline()\ntable.add_row((1, 2, 3, 4))\ntable.add_hline(1, 2)\ntable.add_empty_row()\ntable.add_row((4, 5, 6, 7))\ndoc['Some basic content', 'Table of something'].append(table)\n\nagn = Alignat(numbering=False, escape=False)\nagn.append(r'\\frac{a}{b} &= 0 \\\\')\nagn.extend([Matrix(M), Matrix(a), '&=', Matrix(M * a)])\ndoc['Another section', 'Alignat math environment'].append(agn)\n\nfig = TikZFigure(plot_options='height=4cm, width=6cm, grid=major')\nfig.append(Plot(name='model', func='-x^5 - 242'))\ncoordinates = [\n (-4.77778, 2027.60977),\n (-3.55556, 347.84069),\n (-2.33333, 22.58953),\n (-1.11111, -493.50066),\n (0.11111, 46.66082),\n (1.33333, -205.56286),\n (2.55556, -341.40638),\n (3.77778, -1169.24780),\n (5.00000, -3269.56775),\n]\nfig.append(Plot(name='estimate', coordinates=coordinates))\ndoc['Another section']['Beautiful graphs'].append(fig)\n\nimg = Image(filename=image_filename, position='h!', \n caption='A simple structure.', width='350px')\ndoc['Another section']['An image'].append(img)\n\n# doc.build() returns a pylatex.Document instance\ndoc.build().generate_pdf('basic_example', compiler='pdflatex')\n```\n\n## **Contributing**\n\nSince latexdocs builds on PyLaTeX, we suggest you to contribute to that package and enjoy the result here.\n\n## **Testing**\n\nTo run all tests, open up a console in the root directory of the project and type the following (requires the `unittest` library to be installed)\n\n```console\n>>> python -m unittest\n```\n\n## **License**\n\nCopyright 2022 Bence Balogh, under [the MIT license](https://github.com/dewloosh/latexdocs/blob/master/LICENSE).\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "A Python library to generate publication-ready documents with LaTeX.",
"version": "0.0.2",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "dd4d180b98d72c51d27e59cfdd25ad48",
"sha256": "08986704baee75fe886c2fde344b6220944c0b7f9115db71eb8520493a017a47"
},
"downloads": -1,
"filename": "latexdocs-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dd4d180b98d72c51d27e59cfdd25ad48",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7, <3.11",
"size": 13110,
"upload_time": "2022-09-12T21:38:26",
"upload_time_iso_8601": "2022-09-12T21:38:26.111847Z",
"url": "https://files.pythonhosted.org/packages/98/f7/16c769a3631322f9a81187866e70966d349d135272b909eda80ba24d0697/latexdocs-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "32f2ccebee967aaf2c945728ffef0084",
"sha256": "76022799976551c4b0dfca0f15bac354502fda6e5712c99683c281a226057edb"
},
"downloads": -1,
"filename": "latexdocs-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "32f2ccebee967aaf2c945728ffef0084",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7, <3.11",
"size": 13321,
"upload_time": "2022-09-12T21:38:28",
"upload_time_iso_8601": "2022-09-12T21:38:28.350921Z",
"url": "https://files.pythonhosted.org/packages/21/10/7ad4f01d75735538f15fb03397e3980773e027f9112786ba3276f7c55a57/latexdocs-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-09-12 21:38:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "BALOGHBence",
"github_project": "latexdocs",
"lcname": "latexdocs"
}