Skip to main content

Tiny package to quickly add LaTeX text to your favorite vector graphics package.

Project description

TeXSnip

A small single-module Python package to generate LaTeX text and equations for your favorite vector graphics tool, with no dependencies required! Except LaTeX, of course.

To get started, simply run:

pip install texsnip

With a few lines of Python code, you can create .pdf files that you can then drag'n'drop into Inkscape, Illustrator, Corel Draw, or most other vector graphics programms.

from texsnip import Snip

# Here, you can modify the LaTeX preamble, for example to configure fonts.
# We use the 'libertine' package, the fonts for the current ACM SIGGRAPH template.
preamble = r"\usepackage{libertine}"

# Write the rendering equation to a file called 'rendering-equation.pdf'
Snip("rendering-equation", 8,
    r"$L_o = L_e + \int_\Omega L_i f \cos\theta_i \,\mathrm{d}\omega_i$"
).generate(preamble)

If .pdfs are not supported, don't worry: the script allows you to easily create .png files as well.

Snip("rendering-equation", 8,
    r"$L_o = L_e + \int_\Omega L_i f \cos\theta_i \,\mathrm{d}\omega_i$"
).generate_png(preamble)

If you are using these in presentation slides, you can assemble a list of Snips in a .pptx file (uses .png conversion)

from texsnip import Snip, pptx_snips

# Here, you can modify the LaTeX preamble, for example to configure fonts.
# We use the 'libertine' package, the fonts for the current ACM SIGGRAPH template.
preamble = r"\usepackage{libertine}"

snips = [
    # Write the rendering equation to a file called 'rendering-equation.pdf'
    Snip("rendering-equation", 14,
        r"$L_o = L_e + \int_\Omega L_i f \cos\theta_i \,\mathrm{d}\omega_i$"
    ),

    # Sometimes, you need individual terms
    Snip("omega_i", 14,
        r"$\omega_i$"
    ),

    # Or you might want captions for your illustrations with LaTeX typesetting
    Snip("a-caption", 14,
        r"\textsf{a) Some \textcolor[RGB]{200,110,5}{cool} illustration}"
    )
]

# Lets create a snips.pptx with all these snips in it
# This will also create the corresponding .pdf and .png files for use in other applications
pptx_snips(snips, preamble=preamble)

Dependencies

  • Python >= 3.6
  • LaTeX with pdfcrop (requires Perl) and xcolor, graphicx, inputenc, fontenc

To generate .png images, you will additionally need:

pip install pdf2image

which requires Poppler to be installed and in the path.

To generate .pptx files, you will need the .png dependencies and also:

pip install python-pptx PyPDF2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

texsnip-1.1.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

texsnip-1.1.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file texsnip-1.1.0.tar.gz.

File metadata

  • Download URL: texsnip-1.1.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for texsnip-1.1.0.tar.gz
Algorithm Hash digest
SHA256 ae9d1ffb3365512d6c054585b7cc940bf154e7e815e28fee7f556c78f15efbfc
MD5 baf33d6e07a73842288872832d1ba049
BLAKE2b-256 9a8e0f274ef3e53fc570e85a845c48d95160e2ee74b8bbe81f7fb54f2998ff73

See more details on using hashes here.

File details

Details for the file texsnip-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: texsnip-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for texsnip-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d05f9d7cc388442d3dcabffa43d07d22ad30404b05c2788cc35b805fd79ec44
MD5 a63cb03b1dda1b540f6c57e18dd0cb2e
BLAKE2b-256 12a6ae835ef4d2db83ba8f63bf2e25eec10a15a3fd4698be8d951de2d7ac4ba6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page