/tkzgeom

GUI tool for TikZ figure production

Primary LanguagePythonMIT LicenseMIT

icon

TkzGeom

TkzGeom is a perfect GUI tool for the creation of publication quality figures including but not limited to the following domains:

  1. commutative diagrams
  2. graphs and networks
  3. Euclidean geometry in 2d
  4. circuit diagrams (non natively)
  5. other simple diagrams/figures

Contents

Demos

Example of editing a project

anim

Note that this animation is reduced in size and frame rate.

Requirements

  • TeXLive 2019 or newer or MiKTeX 2019 or newer (have not tested MiKTeX but should work in principle), more information TeXLive installation here: download texlive (also make sure that the system environment variables are set up)

  • A pdf to png converter, the default converter is pdftocairo, which is part of TeXLive. This can be configured in the settings menu.

  • Libraries for Python can be installed using pip install -r requirements.txt. Note that here Pygments is not needed, only if the user wants to try other syntax highlighting than the built in.

Usage

  1. Run the software (run the makefile or the executable)
  2. At the top of the window, select a tool.
  3. Click on the canvas or select existing objects on the canvas.
  4. Modify the appearance of object in the right-hand side of the window.
  5. Copy the tikz code and paste it into your document.
  6. Save the project so that it can be opened and modified later.

Move points on the canvas

Hover the mouse pointer over a free point. Press and hold Alt on Windows, AltGr on Linux. Move the mouse the its new location while keeping the key pressed. Release the key.

Move the canvas

Move the mouse pointer to the canvas. Press and hold Ctrl. Move the mouse to a new place. Release the key.

Features

  1. instantly generated TikZ code,
  2. move points on the canvas,
  3. auto compilation into PDF for visual feedback,
  4. additional packages and libraries can be added,
  5. additional tikz code can be added after the generated code, so unimplemented features can be used on the user defined points, e.g. this can be used to define electric circuits with ease,
  6. additional code can be added before the image, this is useful e.g. for \newcommands,
  7. projects can be saved, and loaded in the popular JSON extension.

Basic knowledge of tikz helps make the most out of this software.

Shortcuts

Key Shortcut of
CTRL+Z undo
CTRL+SHIFT+Z redo
Delete delete object in the properties menu
F5 compile the current version of edit
CTRL+O open existing project
CTRL+S save current project
CTRL+SHIFT+S save as
CTRL+N create new project

Limitations

Select features are included as part of the GUI, enough to cover most everyday situations, but does not aim to be comprehensive. To mitigate this issue, there is an option to add any code after the automatically generated code, and also to add other LaTeX packages/libraries. The draw order of objects is predetermined, there is no built in way to change this. (e.g. segments are always drawn above polygons.)

Binaries