https://github.com/huisyy/latextable-lite
Create simple Latex tables with Python.
https://github.com/huisyy/latextable-lite
latex python table tables
Last synced: 2 months ago
JSON representation
Create simple Latex tables with Python.
- Host: GitHub
- URL: https://github.com/huisyy/latextable-lite
- Owner: huisyy
- License: mit
- Created: 2022-06-14T18:50:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-16T18:29:40.000Z (over 3 years ago)
- Last Synced: 2025-06-14T04:49:34.183Z (4 months ago)
- Topics: latex, python, table, tables
- Language: Python
- Homepage:
- Size: 135 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# latextable-lite
Latextable-lite is a Python package that can create simple Latex tables. It is heavily based on [Latextable](https://github.com/JAEarly/latextable), but removes latextable's dependency on [Texttable](https://github.com/foutaise/texttable).
## Features
- Draws a table in a Latex format using tabularx formatting.
- The output is correctly indented for directly copying into Latex.
- Supports multiple header rows and multi-column header rows.
## Installation
```
pip install latextable-lite
```
## UsageThe single function `latextable_lite.utils.draw_latex` returns a formatted Latex string based on the provided table.
Aside from `rows`, all arguments are optional.
```
def draw_latex(rows,
num_headers=1,
multi_column_size=None,
caption=None,
caption_above=False,
label=None,
c_line=False):
"""
:param rows: 2d list containing all entries of the table in row-first format
:param num_headers: Number of header rows
:param multi_column_size: List describing how many columns correspond to each entry in the first header row
:param caption: A string that adds a caption to the Latex formatting
:param caption_above: Boolean indicating if caption is above the table
:param label: A string that adds a referencing label to the Latex formatting
:param c_line: Boolean; if true, cmidrules are drawn for every other row
:return: The formatted Latex table returned as a single string.
"""
```
## Examples
A basic example is given below. For more see the examples directory.Code:
```
from latextable_lite import utilsif __name__ == "__main__":
rows = [["Name", "Age", "Sex", "Nickname", "Occupation", "Marital Status"],
["Xavier", "32", "M", "Xav'", "Doctor", "Married"],
["Baptiste", "1", "F", "Baby", "Baby", "Single"],
["Louise", "28", "M", "Lou/Loue", "Engineer", "Single"]]
print(utils.draw_latex(rows))
```Output:
```
\begin{table}[ht]
\centering
\renewcommand{\arraystretch}{1.5}
\begin{tabularx}{\textwidth}{lXXXXXX}
\toprule
Name & Age & Sex & Nickname & Occupation & Marital Status\\
\hline
Xavier & 32 & M & Xav' & Doctor & Married \\
Baptiste & 1 & F & Baby & Baby & Single \\
Louise & 28 & M & Lou/Loue & Engineer & Single \\
\bottomrule \\
\end{tabularx}
\end{table}
```