Script for managing inkscape figures
Project description
Inkscape figure manager.
A script I use to manage figures for my LaTeX documents. More information in this blog post.
Installation
You can install it using pip:
pip install inkscape-figures
You'll also need rofi.
This script only works on Linux. If you're interested in porting it to Windows/OSX, feel free to make a pull request.
Setup
Add the following code to the preamble of your LateX document.
\usepackage{import}
\usepackage{xifthen}
\usepackage{pdfpages}
\usepackage{transparent}
\newcommand{\incfig}[1]{%
\def\svgwidth{\columnwidth}
\import{./figures/}{#1.pdf_tex}
}
\pdfsuppresswarningpagegroup=1
This assumes the following directory structure:
master.tex
figures/
figure1.pdf_tex
figure1.svg
figure1.pdf
figure2.pdf_tex
figure2.svg
figure2.pdf
Usage
- Watch for figures:
inkscape-figures watch
. - Creating a figure:
inkscape-figures create 'title'
. This uses~/.config/inkscape-figures/template.svg
as a template. - Creating a figure in a specific directory:
inkscape-figures create 'title' path/to/figures/
. - Select figure and edit it:
inkscape-figures edit
. - Select figure in a specific directory and edit it:
inkscape-figures edit path/to/figures/
.
Vim mappings
This assumes that you use VimTeX.
inoremap <C-f> <Esc>: silent exec '.!inkscape-figures create "'.getline('.').'" "'.b:vimtex.root.'/figures/"'<CR><CR>:w<CR>
nnoremap <C-f> : silent exec '!inkscape-figures edit "'.b:vimtex.root.'/figures/" > /dev/null 2>&1 &'<CR><CR>:redraw!<CR>
Now, to add a figure, type the title on a new line, and press Ctrl+F in insert mode. This does the following:
- Find the directory where figures should be saved depending on which file you're editing and where the main LaTeX file is located, using
b:vimtex.root
. - Check if there exists a figure with the same name. If there exists one, do nothing; if not, go on.
- Copy the figure template to the directory containing the figures.
- In Vim: replace the current line – the line containing figure title – with the LaTeX code for including the figure.
- Open the newly created figure in Inkscape.
- Set up a file watcher such that whenever the figure is saved as an svg file by pressing Ctrl + S, it also gets saved as pdf+LaTeX.
To edit figures, press Ctrl+F in command mode, and a fuzzy search selection dialog will popup allowing you to select the figure you want to edit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for inkscape_figures-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d94ec7978304baad59947ffd012ebcd1543f64d1a5d89a07dc88e0948398296b |
|
MD5 | 4dfb038648e2c4f959a4c525cae051a4 |
|
BLAKE2b-256 | 62af0f8f4ce15d0e16912e2f39e2280c9b0fe0d2ff31782a198c193c308e2d99 |