General

What is JaxoDraw?
JaxoDraw is a Feynman diagram drawing tool.

[top]


Why is it called JaxoDraw?
JaxoDraw was initially meant to be a graphical user interface for J. Vermaseren's axodraw LaTeX package. Since it is written in Java, we prepended the J.

[top]


Why should I use JaxoDraw rather than program XYZ to draw Feynman diagrams?
The main feature of JaxoDraw that distinguishes it from similar programs is that it offers a complete graphical user interface (GUI) for drawing diagrams. That means that you can draw your diagrams with just some mouse point & click & drag operations, like with a modern drawing program. For other features, please check the Overview document.

[top]


On which platform does it run?
We provide some pre-compiled binaries for the Windows, Linux and MacOSX platforms but JaxoDraw will run anywhere if there is a Java environment installed. Check the Download page of the Quick Start guide for instructions.

[top]


Does it run on Mac OS X?
Yes it does. On MacOSX, you don't even have to install a Java environment, since it comes with the operating system, so you can start using JaxoDraw right away! You should however check this README file for some special documentation on JaxoDraw on Mac OS X.

[top]


Where do I get help on JaxoDraw?
This FAQ answers some frequent questions already, please read the Getting Started for a quick start guide.

The Reference section and the user guide contain some detailed and comprehensive documentation about JaxoDraw.

If these resources don't help you with your problem, or if you think that you found a bug that is not yet documented, you should contact us.

[top]


I have a question that is not addressed here. Where can I ask?
See our Contacts page.

[top]

Building JaxoDraw

How do I build JaxoDraw?
This is described in the Instructions section of the source download document.

[top]


Can I build (and use) JaxoDraw with Java 5?
From version 2.1 on, building JaxoDraw even requires java 5. Older versions were written and maintained with Java version 1.4.2, but all later Java versions should be backward compatible. For Java 5 there are a few minor points to notice, see this news entry.

[top]


How is the JaxoDraw web site built?
We use maven to build our web site. If you have maven installed, you can just run 'mvn site' to build the whole site.

[top]

Using JaxoDraw

What are the prerequisites for using JaxoDraw?
Please see the Prerequisites document.

[top]


How can I use JaxoDraw for a PowerPoint presentation?
There is a description in this news entry.

[top]


How do I do this and that with JaxoDraw?
Please check the user guide for general usage instructions.

[top]


Is there an 'Undo' button?
Yes, there is an undo and re-do functionality (since version 2.0). The number of undo steps can be configured in the Preferences.

[top]

Errors - Unexpected Behaviour

Why does my text not appear in the output generated by JaxoDraw?
As we explained in the user guide, LaTeX- and Postscript texts appear mutually exclusive in LaTeX- and direct postscript output. If you want to generate output via the direct postscript export menu of JaxoDraw, you should use the postscript text button to create a text, if you want to use the LaTeX - EPS export, use LaTeX text button. From version 1.1-0 on, a warning message is displayed each time a postscript export is attempted with a LaTeX text present, and vice-versa.

[top]


Why is there this funny \fcolorbox command in the Latex text file generated by JaxoDraw?
The \fcolorbox command was introduced because otherwise dvips does not recognize the bounding box coordinates correctly for the conversion to EPS. This is a workaround that we used ourselves when working with axodraw.sty, if you cut and paste the Latex output into your own documents, or if you don't want an EPS, you may erase the \fcolobox command.

[top]


Latex-EPS export or preview does not work.
There may be several reasons for that. Internal latex compilation is quite a vulnerable operation since it employs the execution of external commands, which means it dependends on your system and set-up.

The first thing to check is whether you have indicated the correct paths for the latex and dvips executables in the Preferences panel (you may have to give the absolute paths). Then try to do a latex export and run latex manually. Check for any error messages.

Check that latex finds the axodraw.sty file, you may have to install it first. Refer to the appendix of the User Guide for more information. See also Bug #6.

On Unix like systems, make sure that you have write permission to the directory where JaxoDraw creates temporary files (usually the JaxoDraw home directory).

On Mac OS X there is an issue if you are using the z-shell or tcsh as your default shell. Refer to the Mac OS X README for more information.

If you are running cygwin on Windows, see this separate faq.

[top]


How can I run JaxoDraw from any location I like?
If you are not using the jar executable and would like to run JaxoDraw from a different location than the program's home directory, you have to tell the java interpreter where it can find the executable .class files. This is done with the -classpath (or -cp) option.

Example: Suppose you have put the JaxoDraw home directory JaxoDraw-1.0 into your home directory $HOME. Going into JaxoDraw-1.0/ and typing
java JaxoDraw/JaxoDraw
will work as expected, but typing

java JaxoDraw-1.0/JaxoDraw/JaxoDraw
gives you a NoClassDefFoundError error. What you need to type instead is:
java -cp JaxoDraw-1.0 JaxoDraw/JaxoDraw
(note the space between the classpath variable and the executable). An alternative is to create the jar executable (see the user guide) which may be executed from everywhere with the -jar option:
java -jar JaxoDraw-1.0/JaxoDraw.jar
Note that all binary distributions of JaxoDraw use the jar executable, so this FAQ only applies to the source distribution.

[top]


I cannot run JaxoDraw on Fedora Core 3/4!
Fedora Core 3 and 4 ship with a complete Java installation by default. This Java environment (gcj) is completely free and open source (as opposed to the proprietary versions from Sun, IBM and BEA), but unfortunately still incomplete. JaxoDraw will not compile nor execute with gcj. You will either have to uninstall all gcj-related stuff and install one of the proprietary Java versions, or at least make sure that the two stay cleanly separated.

Note that there are JaxoDraw rpms available that were built and tested on Fedora Core 3.

[top]


Export to eps does not work when using windows+cygwin (instead of miktex)!
Set the LaTeX path in the Preferences to the following (thanks to Anjishnu Sarkar):
pdfetex -progname=latex

[top]

Development

Can I contribute?
Yes, please! Check this document and contact us!

[top]


I think I found a bug in JaxoDraw. What should I do?
First check our bug list if the problem is already documented. Then you should try to identify the problem, whether it is really a JaxoDraw bug, or a limitation of some third-party software (latex, axodraw, java) or your operating system. If you are not sure, you should post a question to the JaxoDraw discussion mailing list. Finally, if you are sure that you have really found a bug that is not yet documented, you can directly open a new bug report at our SourceForge bug database (you need a SourceForge account for that), or post it to our mailing list.

[top]


When will feature XYZ be implemented?
Depends. If it is something you really sorely need, you could (politely) try to exert some pressure on us. You can also try to pay us. Or try to implement your feature yourself and send us some patches. In any case, you should check this document and contact us about your problem.

[top]