Courant Institute New York University FAS CAS GSAS

Reply to comment

GeoGebra to meet TeX

Monday, September 8, 2008 - 3:45pm

I've been a fan of GeoGebra since I saw a demonstration of it by Markus Hohenwarter as MSRI last year. It's a free (open-source), cross-platform (Java-based), dynamical geometry and algebra application.

The nice part about being java-based is you can export your GeoGebra worksheets to html with embedded java applets. And then with a bit of parameter munging you can upload them to your blog. The embedded applet can be as function as the application itself (a nice advantage to being free; it can't be stolen so there's no barrier to making it completely available).

The nice part about being open-source is that people can contribute to it as much as they want. Now in the works is a tool to export a GeoGebra worksheet to PGF/TikZ, so you can put them in your LaTeX documents.

Here is an example GeoGebra worksheet, in which a regular pentagon is constructed using only compass-and-straightedge techniques:

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)

The whole thing is based on the OP line segment. Drag either of these points, the circle changes, and the construction with it.

To get the TikZ code, select File > Export > Drawing Pad to PGF/TikZ... You can export as a stand-alone file, generate the code to copy and paste elsewhere, or generate the code straight to the clipboard.

Apparently this is pre-release feature, but I'm looking forward to using it.


The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <img>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <perl>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Twitter-style @usersnames are linked to their Twitter account pages.
  • Twitter-style #hashtags are linked to

More information about formatting options