跳转到主要内容

支持TikZ输出的Labella.js的Python克隆版本

项目描述

https://github.com/GjjvdBurg/labella.py/workflows/build/badge.svg

Labella.py 是 labella.js 的 Python 3 克隆版本,支持 labella.js 的所有功能,并且可以生成用于 LaTeX 的 TikZ PDF 图像。

注意: 本软件包基本上是对原始 labella.js 代码的直接翻译到 Python 3。所有关于 labella 代码的功劳归功于 Krist Wongsuphasawat (@kristw),我只添加了生成 PDF 输出的代码。Labella.py 还包括来自 d3 的代码,用于轴缩放,以及来自 WebCola 的 VPSC 代码(标签放置优化)。

为什么?

我编写这个软件的多个原因中,最重要的是我想在 PDF 文档中包含像 labella.js 生成的标签图,但又不满意 SVG 到 PDF 转换器生成的 PDF 输出。此外,这似乎是一种有趣的学习更多 JavaScript 和了解 labella.js 的工作方式的方法。

屏幕截图

这些截图显示了 labella.py 生成的 PDF 输出(转换为 .png)

时间尺度

Example of Labella.py output for a timeline

线性尺度

Example of Labella.py output for a timeline

用法

使用labella.py与使用labella.js极其相似。请参阅示例目录,了解如何使用labella.py。这些示例是labella.js和d3kit-timeline中示例的翻译。

为了便于使用,仅实现了时间轴界面,它的工作方式与d3kit-timeline相似。以下是导出到PDF的最小工作示例

>>> from labella.scale import LinearScale
>>> from labella.timeline import TimelineTex
>>> tl = TimelineTex([
  {'time': 1, 'text': 'Minimal'},
  {'time': 2, 'text': 'Working'},
  {'time': 3, 'text': 'Example'}
  ], options={'scale': LinearScale()})
>>> tl.export('minimal.tex')

请参阅此处的文档。

安装

Labella.py可通过PyPi获取,因此您可以这样安装:

pip install labella

注意:Labella.py需要安装一个用于SVG和PDF输出的有效LaTeX发行版(也请参阅文档),并且仅在Linux上进行了测试。如果您遇到问题,请打开GitHub上的一个问题。

作者

Gertjan van den Burg (@GjjvdBurg)。

Apache License Version 2.0许可下。

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分布

labella-0.9.8.tar.gz (35.0 kB 查看哈希值)

上传时间 源代码

构建版本

labella-0.9.8-py3-none-any.whl (29.7 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面