Changelog
All notable changes to tikz-feyn are documented here.
Version 1.0 (2026-01-08)
Initial release with comprehensive improvements to code quality, documentation, and infrastructure.
Code Quality Improvements
- Removed deprecated code
Removed deprecated
snakesTikZ library (functionality provided bydecorations.pathmorphing)Removed duplicate definition of
\ifnodedefinedmacroCleaned up commented-out code blocks
- Fixed counter management
Moved counter definitions to package level to prevent redefinition issues
Renamed counters with
tfnode@prefix to avoid namespace conflictsCounters now properly initialized:
tfnode@slen,tfnode@inv,tfnode@op
- Added package metadata
Added
\NeedsTeXFormat{LaTeX2e}requirementUpdated
\ProvidesPackagewith version and date information
- Improved error handling
Added validation for minimum vertex count in
\tfcommandAdded error messages for undefined vertices during path drawing
Clear error messages guide users to fix issues
Particle Style Improvements
- Differentiated W and Z boson styles
W bosons: Now use coiled double line with 1pt spacing
Z bosons: Now use coiled double line with 2pt spacing
Previously both aliased to photon style
Documentation Improvements
- Fixed typos in readme.md
“annd” → “and”
“fot” → “for”
“Lit of Supplied Edges” → “List of Supplied Edges”
- Enhanced documentation
Removed outdated documentation disclaimers
Added documentation for
tfeynmaenvironment (previously undocumented)Added comprehensive “Environment Parameters” section with defaults
Added “Vertex Styles” section explaining vertex drawing
Enhanced particle table with descriptions
Added “Custom Styles” section with examples
Improved clarity throughout
Example and Test Files
- Cleaned up tikz-feyn.tex
Removed redundant example diagrams
Removed commented-out code
Organized into clear sections with descriptions
Added new section demonstrating all particle types
Added inline diagram example with proper context
More pedagogical and professional presentation
- Added comprehensive test suite (test-suite.tex)
Tests all 7 particle types with both short and long style names
Tests multiple vertices per column
Tests all intermediate vertex directions (u, d, l, r)
Tests loops and arcs with various looseness values
Tests custom spacing parameters
Tests column position offsets
Tests TikZ style combinations (colors, thickness)
Tests all three environments (tfeyn, tfeynin, tfeynma)
Tests complex multi-column diagrams
Tests explicit vertex node drawing
Tests multiple intermediate vertices
Tests different row spacing per column
14 comprehensive test sections total
Continuous Integration
- Added GitHub Actions workflows
build.yml: Simple workflow to compile both LaTeX documents
test.yml: Comprehensive testing with matrix builds and package validation
release.yml: Automated release creation when version tags are pushed
docs.yml: Automated documentation building and GitHub Pages deployment
Workflows automatically compile examples and test suite on every push/PR
Generated PDFs available as downloadable artifacts
Automated release packages (.tar.gz and .zip) with full documentation
Status badge in README shows build status at a glance
See
.github/workflows/README.mdfor detailed workflow documentation
Documentation Website
- Added Sphinx documentation
Comprehensive HTML documentation with Read the Docs theme
Installation guide with platform-specific instructions
Quick start guide for new users
Complete command reference
Extensive examples section with copy-paste code
Contributing guidelines
Automatically built and deployed to GitHub Pages
Mobile-friendly responsive design
Infrastructure
- Added .gitignore
Ignores LaTeX build artifacts
Ignores editor and OS files
Keeps repository clean
- Added requirements.txt for documentation
Python dependencies for building Sphinx docs
Ensures reproducible documentation builds
Backward Compatibility
All changes are backward compatible. Existing documents using tikz-feyn will continue to compile without modification, though W and Z boson diagrams will now render differently (and more correctly) than before.
Development History
The tikz-feyn package was originally created to simplify the creation of Feynman diagrams for quantum field theory lecture notes. This initial release represents a major cleanup and modernization of the codebase, adding comprehensive documentation, testing, and automation infrastructure.
Future Plans
Planned features for future releases:
Additional particle propagator styles (sfermions, technicolor particles, etc.)
More flexible vertex positioning options
Improved loop handling with automatic positioning
Pre-defined common diagram templates
Integration with other physics packages
Momentum labeling helpers
Automatic diagram layout algorithms
See the issue tracker for the complete list of planned features and to suggest your own.