Source-linked AI summary
JaxoDraw: A graphical user interface for drawing Feynman diagrams. Version 2.0 release notes
D. Binosi, J. Collins, C. Kaufhold, L. Theussl
TL;DR
JaxoDraw 2.0 addresses the inconvenience of hardcoded Feynman-diagram creation by presenting a fundamentally rewritten interactive drawing program. It adds extensibility and editing features, including plugins, Bezier curves, immediate updates, and multiple undo/redo, while older graphs are generally not backward-compatible.
Problem
Existing Feynman-diagram drawing methods often require inconvenient and time-consuming programming or scripting hardcoding.
Method
The paper presents JaxoDraw 2.0, a fundamentally rewritten interactive graphical program with plugins, Bezier drawing, improved editing, and a new axodraw4j style file.
Results
JaxoDraw 2.0 adds custom import/export plugins, Bezier curves for all particle modes, on-the-fly editing updates, multiple undo/redo, and improved memory performance.
Takeaways & Limitations
The release extends interactive Feynman-diagram drawing and separates optional functionality into plugins that can be installed independently.
Takeaways & Limitations
Version 2.0 is not backward-compatible with earlier versions, and earlier XML files will generally not import correctly.
Abstract
from arXiv · showhide
A new version of the Feynman graph plotting tool JaxoDraw is presented. Version 2.0 is a fundamental re-write of most of the JaxoDraw core and some functionalities, in particular importing graphs, are not backward-compatible with the 1.x branch. The most prominent new features include: drawing of Bezier curves for all particle modes, on-the-fly update of edited objects, multiple undo/redo functionality, the addition of a plugin infrastructure, and a general improved memory performance. A new LaTeX style file is presented that has been written specifically on top of the original axodraw.sty to meet the needs of this this new version.
PROGRAM SUMMARY
JaxoDraw provides interactive graphical drawing of Feynman diagrams, avoiding the hardcoding often required by existing approaches.
- JaxoDraw interactively draws Feynman diagrams through a graphical user interface.
- The program targets the inconvenience and time required to generate simple diagrams with programming- or scripting-based methods.
1. Introduction
Version 2.0 fundamentally rewrites the JaxoDraw core and adds major editing, drawing, extensibility, and usability features. The rewrite also makes the release incompatible with earlier versions, especially for imported XML graphs.
- Version 2.0 fundamentally rewrites most of the JaxoDraw core relative to the 1.x development line.
- The release adds independently installable plugins for custom import and export formats.
- Bezier curves become available for all particle modes, including gluons and photons.
- Users can adjust arrow dimensions and positions, resize beyond the canvas with scroll bars, and undo or redo multiple steps.
- Editing-panel changes immediately affect objects so editing operations can be previewed on the fly.
- Version 2.0 is not compatible with earlier versions, and earlier XML files will generally not import correctly.
2. Changes between v. 1.3-2 and v. 2.0
The 2.0 release combines a refactored implementation with new drawing, editing, export, configuration, and usability features. It also introduces backward incompatibility with graphs saved or exported by older versions.
- The release adds the axodraw4j style file, plugin infrastructure, Bezier curves for all particle modes, and consistent photon and gluon rendering across formats.
- Version 2.0 refactors the underlying class structure for performance and maintainability, but older saved or exported graphs will not open or import correctly.
- Memory performance is improved to facilitate working with several graphs simultaneously, alongside fixes for file paths, gluon loops, output consistency, dialogs, and missing style files.
- The release improves workflow with standard keyboard shortcuts, multi-file tabs, command-line conversion, and export warnings for unsupported options.
- Editing is improved through immediate object updates, direct edit-panel access, better selection operations, and scroll bars for objects beyond the canvas.
- Multiple undo/redo steps, resizable groups, customizable grids, adjustable arrows, and configurable colors expand diagram-editing control.
3. New features since v. 1.1
Since version 1.1, JaxoDraw added numerous editing, display, export, interaction, and platform-specific features, including new object types and improved text handling.
- The release summary covers major features added since version 1.1, while corresponding releases also included bug fixes and some point releases contained only minor fixes.
- JaxoDraw added new vertex and object-editing capabilities, including diamond vertices, three-point arcs and triangular vertices, and LaTeX/PostScript text rotation.
- It introduced new export and preview formats—SVG, JPG, and PNG—alongside dynamic zoom and WatchFile preview mode.
- The interface gained keyboard-friendly export controls, active-vertex radio indicators, per-tab hexagonal grids, and a restructured Preferences panel.
- PSText gained curly-bracket display and access to more fonts by no longer filtering fonts that cannot display Greek characters.
- Mac OS X received enhancements including menu shortcuts, mouse-button shortcuts, and configurable LaTeX and dvips paths for internal LaTeX compilation.
4. Guide to new features
JaxoDraw 2.0 reorganized program-specific storage and introduced a plugin architecture that moves optional import/export functionality outside the core while supporting independently installed extensions.
- Version 2.0 stores program-specific information under a versioned .jaxodraw directory, including logs, plugins, and the User Guide.
- The User Guide is generated at runtime, installed locally, and can be viewed independently of JaxoDraw in a custom browser.
- Logging now uses rotating files in the default log directory, with DEBUG retained for written records while console verbosity remains configurable.
- The plugin architecture lets users add optional import/export features at runtime without modifying or recompiling the main program, keeping the core smaller.
- Plugins are managed through the Plugin Manager and are automatically recognized in current and subsequent sessions until uninstalled.
- Custom plugins can import diagrams from other formats and be distributed for installation by other users without requiring a new JaxoDraw release.
5. Additional information
The JaxoDraw home page provides current program information, including links to mailing lists and the bug-tracking system.
- The JaxoDraw home page contains up-to-date program information and links to mailing lists and the bug-tracking system.
A. New features of axodraw4j
JaxoDraw 2.0 introduces axodraw4j.sty, a LaTeX style file based on the original axodraw.sty and designed to avoid backward-compatibility conflicts.
- JaxoDraw 2.0 uses axodraw4j.sty for LaTeX exports; the renamed file is based on the original axodraw.sty.
- The axodraw4j.sty documentation explains differences from the original style file and directs readers to the original documentation for the remaining commands.
A.1. Main changes from axodraw to axodraw4j •
axodraw4j.sty adds richer line and arc drawing capabilities while improving command syntax, naming consistency, and compatibility with revtex documents.
- Double solid, dashed, photon, and gluon lines can be drawn with adjustable separation.
- Arrow dimensions and positions are adjustable, extending control over line and arc annotations.
- Lines and dashed lines can now use Bézier curves.
- Optional keyword-style arguments specify the expanded set of line properties.
- New and revised macros add arc support, preserve GlueArc as a synonym for GluonArc, rename several text commands, and correct revtex compatibility bugs.
A.2. Commands
The command interface provides core macros for straight lines, circular arcs, Bézier curves, gluons, and photons, with optional keyword-based styling and documented geometric parameters.
- axodraw4j remains largely backward compatible, implementing almost all original axodraw commands except renamed commands such as BTwoText.
- A typical document uses axodraw4j through a LaTeX package declaration, picture environment, and line, arc, and gluon-arc commands.
- The main line-drawing macros are Arc, Bezier, Gluon, GluonArc, Line, Photon, and PhotonArc.
- Arc commands specify a center, radius, and start and end angles, defaulting to an anticlockwise single solid line without an arrow.
- Bezier commands draw curves through four control points, while Line draws a segment between two coordinates and defaults to a solid single line without an arrow.
- Gluon and photon commands support straight and circular-arc forms with amplitude, winding or wiggle, direction, and double-line parameters.
A.3. Options
Options are organized as keyword-value groups controlling arrows, dashes, doubled lines, and arc direction, with defaults and global parameter-setting macros.
- Options are processed from left to right after boolean values are initialized to false and other parameters receive initial defaults.
- Dash and double options enable dashed or doubled lines, with dash size defaulting to 3 and line separation defaulting to 2.
- The clock option switches circular arcs from anticlockwise to clockwise drawing.
- Arrow options control presence, dimensions, position, scale, inset, and reversal relative to the line direction.
- Arrow dimensions default from line width and separation, while unspecified length or width is inferred using the default aspect ratio.
- Global macros set arrow scale, inset, aspect ratio, and position when corresponding per-object options are absent.