Optional LaTeX support via textext extension
Many of the functions implemented in inkscapeMadeEasy can use LaTeX to generate text if the support is enabled. To this end, I decided to employ the excellent extension TexText by awesome people.
Note
LaTeX support is an optional feature, enabled by default. Please refer to Disabling LaTeX support on how to disable it.
Scientific plotting system
inkscapeMadeEasy_Plot provides simple yet powerful tools to generate 2D Cartesian and Polar axes and plots (lines and Octave’s stem plot style). This functionality was inspired by Tavmjong Bah’s (and collaborators) extension Function Plotter already presented in Inkscape. Function Plotter extension is not required here.
Control over text styles, line markers and other drawing features
inkscapeMadeEasy_Draw module provides powerful tools to:
manipulate colours, including pre-defined named colours, grayscales, RGB conversion and the colour picker widget of .inx
create custom markers, including a few pre-defined often used types. They can be assigned to custom colours, stroke and filling independently
create line styles, with or without custom markers and custom line dash pattern
create text styles
create LaTeX contents (thanks to TexText)
direct control over text size and colour of LaTeX contents
draw straight polylines and bezier curves using absolute or relative coordinates
draw arcs, rectangles, ellipses and circles using different methods, based on their geometrical characteristics.
Useful backstage functions
inkscapeMadeEasy_Base module inherits inkex.py module, extending it by providing useful core functions:
Dump objects to a text file. Rationale: As of today (2020) Inkscape does not return the stdout() during python code run. This method partially overcomes this issue by sending the object to a text file.
unique ID number generator (adapted from inkex.py, but using consecutive numbering)
list defined elements (e.g. markers) in the current document
create/remove groups
remove elements
extract the transformation matrix of an object, even when multiple transformations are stacked
rotate, scale and move objects
find markers
import SVG files
export selected elements to new SVG file
manipulate def nodes
get the list of coordinates of the points of an object or group. If the object is a group the method searches points recursively. Any eventual transformations are properly applied to the points before listing them
get the bounding box of an object or group
get the centre of the bounding box of an object or group