• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

JAEarly/latextable: A Python module that adds Latex functionality to the texttab ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

JAEarly/latextable

开源软件地址(OpenSource Url):

https://github.com/JAEarly/latextable

开源编程语言(OpenSource Language):

Python 100.0%

开源软件介绍(OpenSource Introduction):

latextable

License: MIT Build Status Downloads

Texttable is a Python package that can create simple ASCII tables. This package extends its functionality to allow the table to be directly output in Latex, removing the tedious copy and paste chore. The Latex output matches the table design, and there are utilities for adding table captions, labels, and positions.

Features

  • Draw a table object in a Latex format.
  • Matches table decoration (border, header, hlines, vlines).
  • Applies horizontal column alignment.
  • Allows the user to drop columns and rows from the output.
  • Provides the ability to add a caption, reference label, and position to the Latex output.
  • The output is correctly indented for directly copying into Latex.
  • Supports booktabs formatting.

Installation

PyPi:

pip install latextable

Requirements:

texttable

Usage

The single function latextable.draw_latex returns a formatted Latex string based on the provided table. Aside from table, all arguments are optional.

draw_latex(table, caption=None, caption_short=None, caption_above=False, label=None, drop_columns=None,
               drop_rows=None, position=None, use_booktabs=False):
    table: Texttable table to be rendered in Latex.
    caption: A string that adds a caption to the Latex formatting.
    caption_short: A string that adds a short caption (used in the list of tables). Ignored if caption is None.
    caption_above: If True, the caption will be added above the table rather than below it (default).
    label: A string that adds a referencing label to the Latex formatting.
    drop_columns: A list of column names that won't be in the Latex output.
      Each column name must be in the table header.
    drop_rows: A list of row indices that won't be in the Latex output.
      Each row index must be in [0, number of rows - 1], where number of rows does not include the header.
    position: A string that represents LaTex's float position of the table.
      For example 'ht' results in the float position [ht].
    use_booktabs: Whether to override the table formatting with booktabs (https://ctan.org/pkg/booktabs?lang=en).
      If true, the texttable formatting is ignored, and instead the default booktabs style is used.
      This overrides the border, vertical lines, and horizontal lines.
      Note the booktabs package will need to be included in your Latex document (\\usepackage{booktabs}).
      Defaults to false.

    return: The formatted Latex table returned as a single string.

Examples

A basic example is given below. For more see the examples directory.

Code:

table_1 = Texttable()
table_1.set_cols_align(["l", "r", "c"])
table_1.set_cols_valign(["t", "m", "b"])
table_1.add_rows([["Name", "Age", "Nickname"],
                 ["Mr\nXavier\nHuon", 32, "Xav'"],
                 ["Mr\nBaptiste\nClement", 1, "Baby"],
                 ["Mme\nLouise\nBourgeau", 28, "Lou\n \nLoue"]])
print('-- Example 1: Basic --')
print('Texttable Output:')
print(table_1.draw())
print('\nLatextable Output:')
print(latextable.draw_latex(table_1, caption="An example table.", label="table:example_table"))

Output:

-- Example 1: Basic --
Texttable Output:
+----------+-----+----------+
|   Name   | Age | Nickname |
+==========+=====+==========+
| Mr       |     |          |
| Xavier   |  32 |          |
| Huon     |     |   Xav'   |
+----------+-----+----------+
| Mr       |     |          |
| Baptiste |   1 |          |
| Clement  |     |   Baby   |
+----------+-----+----------+
| Mme      |     |   Lou    |
| Louise   |  28 |          |
| Bourgeau |     |   Loue   |
+----------+-----+----------+

Latextable Output:
\begin{table}
	\begin{center}
		\begin{tabular}{|l|r|c|}
			\hline
			Name & Age & Nickname \\
			\hline
			MrXavierHuon & 32 & Xav' \\
			\hline
			MrBaptisteClement & 1 & Baby \\
			\hline
			MmeLouiseBourgeau & 28 & Lou Loue \\
			\hline
		\end{tabular}
	\end{center}
	\caption{An example table.}
	\label{table:example_table}
\end{table}

Additional Info

For a more in depth article reviewing this library, see this Medium post.
A working example is also given in this Colab Notebook.

Release History

  • 0.3.0
    • Added support for short captions (thanks to PhilW92).
    • Added the ability to drop rows as well as columns.
    • Captions can now be placed above tables instead of below.
  • 0.2.1
    • Removed row hlines when using booktabs.
  • 0.2.0
    • Added support for booktabs and table positioning.
  • 0.1.1
    • Minor changes to documentation.
  • 0.1.0
    • Initial Release.

Meta

Website: Joseph Early
Twitter: @JosephAEarly
Email: [email protected]

Distributed under the MIT license. See LICENSE for more information.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
zacharee/SamloaderKotlin发布时间:2022-07-09
下一篇:
vicpinm/Kotlin-Realm-Extensions: Kotlin extensions to simplify Realm API.发布时间:2022-07-09
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap