**EDITING GRAPH DOCUMENTS and GRAPHMAT.INI**

Graphmatica does not really provide facilities for maintaining equation lists; although you can edit an equation, delete old ones that are no longer needed, and change the order of equations by redrawing selected graphs, determining the precise order of equations in the list is difficult since they are dynamically shuffled each time an equation is entered or redrawn to make Graphmatica more interactive. However, the equation list is just a text file whose structure is virtually identical to Windows-style .ini files; you can create or modify one with virtually any editor. The structure goes like this:

```
[saved-setup]
charset=
```__UTF-8__|__Windows-1252__

```
[labels]
title =
```__xxxx__ *any character string*
left = __xxxx__
right = __xxxx__
xaxis = __xxxx__ *label for x axis (default is "x")*
yaxis = __xxxx__ *label for y axis (default is "y")*
[annotations]
x0 = __#.##__ *position of label*
y0 = __#.##__
text0 = __xxxx__ *any character string*

`...`

`x9 = `__#.##__ *replace '0' with 1-9 for more...*
y9 = __#.##__
text9 = __xxxx__
[grid]
left = __#.##__ *any decimal number*
right = __#.##__ *or "auto" to autoscale*
top = __#.##__
bottom = __#.##__
[options]
paper = __polar__, __trig__, __rect__, __slog [#.##]__, or __llog [#.##]__
detail = __none__, __axes__, __dots__, or __grid__
autoredraw = __on or off__ *"on" or "off"*
maxannote = __###__ *any integer 1-999: max # of annotations*
maxeqs = __###__ *any integer 1-999: max # of equations kept*
autonum = __###__ *any integer 0-maxeqs: how many to redraw*
legends = __on__, __off__, __custom__, or __scale__.
xlegspace = __#.##__ *spacing between grid legends*
ylegspace = __#.##__
ylegpos = __center__ or __above__ *y-axis legend position relative to gridlines*
winpos = __left__,__top__,__right__,__bottom__
color = __1, 2, or mono__ *colorscheme 1, 2, or monochrome*
widelines = __on or off__ *draw graphs with wide lines*
widelinewidth = __##__ *width in pixels of wide lines (default 2)*
gridlinewidth = __##__ *width in pixels of gridlines (normally 1)*
drawdots = __on or off__ *draw graphs with dots, not lines*
autosquare = __on or off__
autorange = __on or off__
labels = __on or off__
scrollbars = __on or off__
tables = __on or off__
tablecols = __##__ *max number of graphs per table*
tablewidth = __###__ *width in pixels of point tables window*
tablecolwidth__#__ = __##__ *width of each point tables column in pixels*
tableincr = __#.##__ *increment between points in tables*
tabledecimals = __#__ *number of decimal places to display in tables*
warnings = __on or off__
defaultdirectory = __path__ *Starting directory for Open and Save dialogs*
defscale = __#.##__ *any decimal number*
fineness = __#.##__
tstart = __#.##__
tstop = __#.##__
cfmaxorder = __#__ *maximum order of polynomial for curve fitting*
cfmaxiter = __#####__ *maximum number of iterations to run curve fit*
copywmf = __on or off__ *enable Copy WMF items in Edit menu*
autosavesettings = __on or off__
invertinequalities = __on or off__ *Invert the shading of inequalities*
[functions]
__f(x)=...
constant=1.2345__

```
[equations]
```__y=f(x)__

```
[eqcolors]
graph
```__#__ = __##__ *colors for each of the equations above*
[dataplot]
numpoints = __###__ *number of points in the plot*
color = __#__
shape = __#__
__#.##__ __#.##__ *numpoints tab-delimited x and y coordinates*

The [saved-setup] tag tells Graphmatica to reset all options to their defaults before loading the new options. It should be left out if you want the current options at the time of loading to be used. The [labels] section specifies the title and y-axis labels. The [grid] section gives the left, right, top and bottom coordinates of the grid. Type "auto" for any one to auto-scale that coordinate based on the other three. Type auto for both the top and bottom to auto-scale the y-axis so the top and bottom coordinates are equal and opposite.

You can omit any item or even a complete section if you don't want to change the default. Type exactly as specified above, including the brackets "[ ]" around the section headings, and replacing the underlined portions with your own values. If you don't know or don't care what the value is for an option, just leave the line out. Don't worry about capitalization, extra spaces, or even extra blank lines. (However, each entry must be on a separate line or some may be ignored.) You can put the options and sections in any order ... the only requirement is that the [saved-setup] tag must come first and the [equations] section must come last, if there is one. Invalid options are also ignored.

If you want to create a file with no titles or options, simply type the "[equations]" header and then type all of your equations. Each equation must be on a separate line.

The GRAPHMAT.INI file, which is loaded whenever you start Graphmatica, uses the exact same format... when you choose the Save Setup Info command, Graphmatica simply saves the setup file as it would an equation list, except the [labels], [annotations], and [equations] sections are omitted.

On Mac OS X, the default values for these settings are persisted in the user defaults for domain "com.graphmatica.Graphmatica" using the key name section.key--for example "options.paper".

kSoft, Inc. ksoft@graphmatica.com Last updated: Sun 11 Jun 2017