summaryrefslogtreecommitdiff
path: root/graphics/asymptote/doc/png/asymptote.info
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/doc/png/asymptote.info')
-rw-r--r--graphics/asymptote/doc/png/asymptote.info1504
1 files changed, 841 insertions, 663 deletions
diff --git a/graphics/asymptote/doc/png/asymptote.info b/graphics/asymptote/doc/png/asymptote.info
index be3ab4d28a..672c1369bd 100644
--- a/graphics/asymptote/doc/png/asymptote.info
+++ b/graphics/asymptote/doc/png/asymptote.info
@@ -1,7 +1,7 @@
-This is asymptote.info, produced by makeinfo version 7.0.2 from
+This is asymptote.info, produced by makeinfo version 7.1 from
asymptote.texi.
-This file documents ‘Asymptote’, version 2.89.
+This file documents ‘Asymptote’, version 2.90.
<https://asymptote.sourceforge.io>
@@ -22,7 +22,7 @@ File: asymptote.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
Asymptote
*********
-This file documents ‘Asymptote’, version 2.89.
+This file documents ‘Asymptote’, version 2.90.
<https://asymptote.sourceforge.io>
@@ -53,7 +53,7 @@ This file documents ‘Asymptote’, version 2.89.
* Credits:: Contributions and acknowledgments
* Index:: General index
- — The Detailed Node Listing —
+ -- The Detailed Node Listing --
Installation
@@ -65,6 +65,7 @@ Installation
* Compiling from UNIX source:: Building ‘Asymptote’ from scratch
* Editing modes:: Convenient ‘emacs’ and ‘vim’ modes
* Git:: Getting the latest development source
+* Building the documentation:: Building the documentation
* Uninstall:: Goodbye, ‘Asymptote’!
Tutorial
@@ -89,6 +90,7 @@ Programming
* Pens:: Colors, line types, line widths, font sizes
* Transforms:: Affine transforms
* Frames and pictures:: Canvases for immediate and deferred drawing
+* Deferred drawing:: Witholding drawing until all data is available
* Files:: Reading and writing your data
* Variable initializers:: Initialize your variables
* Structures:: Organize your data
@@ -125,7 +127,8 @@ Base modules
* plain:: Default ‘Asymptote’ base file
* simplex:: Linear programming: simplex method
-* math:: Extend ‘Asymptote’’s math capabilities
+* simplex2:: Two-variable simplex method
+* math:: Extend ‘Asymptote’'s math capabilities
* interpolate:: Interpolation routines
* geometry:: Geometry routines
* trembling:: Wavy lines
@@ -280,6 +283,7 @@ File: asymptote.info, Node: Installation, Next: Tutorial, Prev: Description,
* Compiling from UNIX source:: Building ‘Asymptote’ from scratch
* Editing modes:: Convenient ‘emacs’ and ‘vim’ modes
* Git:: Getting the latest development source
+* Building the documentation:: Building the documentation
* Uninstall:: Goodbye, ‘Asymptote’!
After following the instructions for your specific distribution, please
@@ -312,7 +316,7 @@ dnf --enablerepo=rawhide install asymptote
To install the latest version of ‘Asymptote’ on a Debian-based
distribution (e.g. Ubuntu, Mepis, Linspire) follow the instructions for
compiling from ‘UNIX’ source (*note Compiling from UNIX source::).
-Alternatively, Debian users can install one of Hubert Chan’s prebuilt
+Alternatively, Debian users can install one of Hubert Chan's prebuilt
‘Asymptote’ binaries from
<http://ftp.debian.org/debian/pool/main/a/asymptote>
@@ -358,7 +362,7 @@ PDF’ available from <https://www.sumatrapdfreader.org/>.
<https://www.imagemagick.org/script/binary-releases.php>
is required to support output formats other than HTML, PDF, SVG, and PNG
-(*note convert::). The ‘Python 3’ interpreter from
+(*note magick::). The ‘Python 3’ interpreter from
<https://www.python.org> is only required if you wish to try out the
graphical user interface (*note GUI::).
@@ -483,7 +487,7 @@ in the order listed:
by ‘:’ under UNIX and ‘;’ under ‘MSDOS’);
3. The directory specified by the environment variable
‘ASYMPTOTE_HOME’; if this variable is not set, the directory ‘.asy’
- in the user’s home directory (‘%USERPROFILE%\.asy’ under ‘MSDOS’)
+ in the user's home directory (‘%USERPROFILE%\.asy’ under ‘MSDOS’)
is used;
4. The ‘Asymptote’ system directory (by default,
‘/usr/local/share/asymptote’ under ‘UNIX’ and ‘C:\Program
@@ -559,7 +563,7 @@ able to take Fourier transforms of data (say, to compute an audio power
spectrum). The ‘GSL’ library is only required if you require the
special functions that it supports.
- If you don’t want to install ‘Asymptote’ system wide, just make sure
+ If you don't want to install ‘Asymptote’ system wide, just make sure
the compiled binary ‘asy’ and GUI script ‘xasy’ are in your path and set
the configuration variable ‘dir’ to point to the directory ‘base’ (in
the top level directory of the ‘Asymptote’ source code).
@@ -606,7 +610,7 @@ au BufNewFile,BufRead *.asy setf asy
augroup END
filetype plugin on
- If any of these directories or files don’t exist, just create them.
+ If any of these directories or files don't exist, just create them.
To set ‘vim’ up to run the current asymptote script using ‘:make’ just
add to ‘~/.vim/ftplugin/asy.vim’:
setlocal makeprg=asy\ %
@@ -639,10 +643,27 @@ dependencies:
apt-get build-dep asymptote

+File: asymptote.info, Node: Building the documentation, Next: Uninstall, Prev: Git, Up: Installation
+
+2.9 Building the documentation
+==============================
+
+Here are instructions for building the documentation:
+cd doc
+make # for both the PDF version doc/asymptote.pdf and the HTML version
+cd png
+make # for the HTML version only: doc/png/index.html
+ Note that the ‘HTML’ version cannot be built without executing ‘make’
+from ‘doc’ folder first.
+
+ The ‘asy’ executable is required for compiling the diagrams in the
+documentation.
+
+
File: asymptote.info, Node: Uninstall, Prev: Git, Up: Installation
-2.9 Uninstall
-=============
+2.10 Uninstall
+==============
To uninstall a ‘Linux x86_64’ binary distribution, use the commands
tar -zxvf asymptote-x.xx.x86_64.tgz | xargs --replace=% rm /%
@@ -711,12 +732,13 @@ File: asymptote.info, Node: Drawing in interactive mode, Next: Figure size, P
Another method is _interactive mode_, where ‘Asymptote’ reads individual
commands as they are entered by the user. To try this out, enter
-‘Asymptote’’s interactive mode by clicking on the ‘Asymptote’ icon or
+‘Asymptote’'s interactive mode by clicking on the ‘Asymptote’ icon or
typing the command ‘asy’. Then type
draw((0,0)--(100,100));
-followed by ‘Enter’, to obtain the above image. At this point you can
-type further ‘draw’ commands, which will be added to the displayed
-figure, ‘erase’ to clear the canvas,
+followed by ‘Enter’, to obtain the above image.
+
+ At this point you can type further ‘draw’ commands, which will be
+added to the displayed figure, ‘erase’ to clear the canvas,
input test;
to execute all of the commands contained in the file ‘test.asy’, or
‘quit’ to exit interactive mode. You can use the arrow keys in
@@ -871,7 +893,7 @@ File: asymptote.info, Node: Drawing commands, Next: Bezier curves, Prev: Tuto
4 Drawing commands
******************
-All of ‘Asymptote’’s graphical capabilities are based on four primitive
+All of ‘Asymptote’'s graphical capabilities are based on four primitive
commands. The three ‘PostScript’ drawing commands ‘draw’, ‘fill’, and
‘clip’ add objects to a picture in the order in which they are executed,
with the most recently drawn object appearing on top. The labeling
@@ -925,8 +947,8 @@ convenience, the arguments ‘arrow’ and ‘bar’ may be specified in either
order. The argument ‘legend’ is a Label to use in constructing an
optional legend entry.
- Bars are useful for indicating dimensions. The possible values of
-‘bar’ are ‘None’, ‘BeginBar’, ‘EndBar’ (or equivalently ‘Bar’), and
+ Bars ‘bar’ are useful for indicating dimensions. The possible values
+of ‘bar’ are ‘None’, ‘BeginBar’, ‘EndBar’ (or equivalently ‘Bar’), and
‘Bars’ (which draws a bar at both ends of the path). Each of these bar
specifiers (except for ‘None’) will accept an optional real argument
that denotes the length of the bar in ‘PostScript’ coordinates. The
@@ -935,37 +957,71 @@ default bar length is ‘barsize(pen)’.
The possible values of ‘arrow’ are ‘None’, ‘Blank’ (which draws no
arrows or path), ‘BeginArrow’, ‘MidArrow’, ‘EndArrow’ (or equivalently
‘Arrow’), and ‘Arrows’ (which draws an arrow at both ends of the path).
-All of the arrow specifiers except for ‘None’ and ‘Blank’ may be given
-the optional arguments arrowhead ‘arrowhead’ (one of the predefined
-arrowhead styles ‘DefaultHead’, ‘SimpleHead’, ‘HookHead’, ‘TeXHead’),
-real ‘size’ (arrowhead size in ‘PostScript’ coordinates), real ‘angle’
-(arrowhead angle in degrees), filltype ‘filltype’ (one of ‘FillDraw’,
-‘Fill’, ‘NoFill’, ‘UnFill’, ‘Draw’) and (except for ‘MidArrow’ and
-‘Arrows’) a real ‘position’ (in the sense of ‘point(path p, real t)’)
-along the path where the tip of the arrow should be placed. The default
-arrowhead size when drawn with a pen ‘p’ is ‘arrowsize(p)’. There are
-also arrow versions with slightly modified default values of ‘size’ and
-‘angle’ suitable for curved arrows: ‘BeginArcArrow’, ‘EndArcArrow’ (or
-equivalently ‘ArcArrow’), ‘MidArcArrow’, and ‘ArcArrows’.
-
- Margins can be used to shrink the visible portion of a path by
-‘labelmargin(p)’ to avoid overlap with other drawn objects. Typical
-values of ‘margin’ are ‘NoMargin’, ‘BeginMargin’, ‘EndMargin’ (or
-equivalently ‘Margin’), and ‘Margins’ (which leaves a margin at both
-ends of the path). One may use ‘Margin(real begin, real end=begin)’ to
-specify the size of the beginning and ending margin, respectively, in
-multiples of the units ‘labelmargin(p)’ used for aligning labels.
-Alternatively, ‘BeginPenMargin’, ‘EndPenMargin’ (or equivalently
-‘PenMargin’), ‘PenMargins’, ‘PenMargin(real begin, real end=begin)’
-specify a margin in units of the pen line width, taking account of the
-pen line width when drawing the path or arrow. For example, use
-‘DotMargin’, an abbreviation for
-‘PenMargin(-0.5*dotfactor,0.5*dotfactor)’, to draw from the usual
-beginning point just up to the boundary of an end dot of width
-‘dotfactor*linewidth(p)’. The qualifiers ‘BeginDotMargin’,
-‘EndDotMargin’, and ‘DotMargins’ work similarly. The qualifier
-‘TrueMargin(real begin, real end=begin)’ allows one to specify a margin
-directly in ‘PostScript’ units, independent of the pen line width.
+
+ There are also arrow versions with slightly modified default values
+of ‘size’ and ‘angle’ suitable for curved arrows: ‘BeginArcArrow’,
+‘EndArcArrow’ (or equivalently ‘ArcArrow’), ‘MidArcArrow’, and
+‘ArcArrows’.
+
+ For example:
+draw((0,0)--(1,1),arrow=Arrows);
+
+ All of the arrow specifiers except for ‘None’ and ‘Blank’ may be
+given optional arguments, for example:
+draw((0,0)--(1,1),arrow=Arrow(
+ arrowhead=HookHead,size=3mm,angle=20,filltype=Draw,position=0.9));
+
+ The function ‘Arrow’ has the signature
+arrowbar Arrow(arrowhead arrowhead=DefaultHead,
+ real size=0, real angle=arrowangle,
+ filltype filltype=null, position position=EndPoint)
+Calling ‘Arrow()’ returns ‘Arrow’, which is an ‘arrowbar’ object. The
+parameters are:
+
+ • ‘arrowhead’ can be one of the predefined arrowhead styles
+ ‘DefaultHead’, ‘SimpleHead’, ‘HookHead’, ‘TeXHead’.
+ • real ‘size’ is the arrowhead size in ‘PostScript’ coordinates.
+
+ The default arrowhead size when drawn with a pen ‘p’ is
+ ‘arrowsize(p)’.
+ • real ‘angle’ is the arrowhead angle in degrees.
+
+ • filltype ‘filltype’ (*note filltype::),
+ • (except for ‘MidArrow’ and ‘Arrows’) real ‘position’ (in the sense
+ of ‘point(path p, real t)’) along the path where the tip of the
+ arrow should be placed.
+
+ Margins ‘margin’ can be used to shrink the visible portion of a path
+by ‘labelmargin(p)’ to avoid overlap with other drawn objects.
+
+ Typical values of ‘margin’ are:
+‘NoMargin’
+‘BeginMargin’
+‘EndMargin’
+ (equivalently ‘Margin’)
+‘Margins’
+ leaves a margin at both ends of the path.
+‘Margin(real begin, real end=begin)’
+ specify the size of the beginning and ending margin, respectively,
+ in multiples of the units ‘labelmargin(p)’ used for aligning
+ labels.
+‘BeginPenMargin’
+‘EndPenMargin’
+ (equivalently ‘PenMargin’)
+‘PenMargins’
+‘PenMargin(real begin, real end=begin)’
+ specify a margin in units of the pen line width, taking account of
+ the pen line width when drawing the path or arrow.
+‘DotMargin’
+ an abbreviation for ‘PenMargin(-0.5*dotfactor,0.5*dotfactor)’, used
+ to draw from the usual beginning point just up to the boundary of
+ an end dot of width ‘dotfactor*linewidth(p)’.
+‘BeginDotMargin’
+‘DotMargins’
+ work similarly.
+‘TrueMargin(real begin, real end=begin)’
+ specify a margin directly in ‘PostScript’ units, independent of the
+ pen line width.
The use of arrows, bars, and margins is illustrated by the examples
‘Pythagoras.asy’ and ‘sqrtx01.asy’.
@@ -1170,9 +1226,16 @@ void label(picture pic=currentpicture, Label L, pair position,
Draw Label ‘L’ on picture ‘pic’ using pen ‘p’. If ‘align’ is
‘NoAlign’, the label will be centered at user coordinate ‘position’;
otherwise it will be aligned in the direction of ‘align’ and displaced
-from ‘position’ by the ‘PostScript’ offset ‘align*labelmargin(p)’. The
-constant ‘Align’ can be used to align the bottom-left corner of the
-label at ‘position’. The Label ‘L’ can either be a string or the
+from ‘position’ by the ‘PostScript’ offset ‘align*labelmargin(p)’.
+
+ Here, ‘real labelmargin(pen p=currentpen)’ is a quantity used to
+align labels. In the code below,
+label("abcdefg",(0,0),align=up,basealign);
+the baseline of the label will be exactly ‘labelmargin(currentpen)’
+‘PostScript’ units above the center.
+
+ The constant ‘Align’ can be used to align the bottom-left corner of
+the label at ‘position’. The Label ‘L’ can either be a string or the
structure obtained by calling one of the functions
Label Label(string s="", pair position, align align=NoAlign,
pen p=nullpen, embed embed=Rotate, filltype filltype=NoFill);
@@ -1249,9 +1312,11 @@ label(graphic("file.eps","width=1cm"),(0,0),NE);
layer();
The ‘string baseline(string s, string template="\strut")’ function
-can be used to enlarge the bounding box of labels to match a given
+can be used to enlarge the bounding box of a label to match a given
template, so that their baselines will be typeset on a horizontal line.
-See ‘Pythagoras.asy’ for an example.
+See ‘Pythagoras.asy’ for an example. Alternatively, the pen ‘basealign’
+may be used to force labels to respect the TeX baseline (*note
+basealign::).
One can prevent labels from overwriting one another with the
‘overwrite’ pen attribute (*note overwrite::).
@@ -1260,7 +1325,7 @@ See ‘Pythagoras.asy’ for an example.
frames to be treated in a uniform manner. A group of objects may be
packed together into single frame with the routine
frame pack(pair align=2S ... object inset[]);
-To draw or fill a box (or ellipse or other path) around a Label and
+To draw or fill a box (or ellipse or other path) around a ‘Label’ and
return the bounding object, use one of the routines
object draw(picture pic=currentpicture, Label L, envelope e,
real xmargin=0, real ymargin=xmargin, pen p=currentpen,
@@ -1269,7 +1334,7 @@ object draw(picture pic=currentpicture, Label L, envelope e, pair position,
real xmargin=0, real ymargin=xmargin, pen p=currentpen,
filltype filltype=NoFill, bool above=true);
Here ‘envelope’ is a boundary-drawing routine such as ‘box’, ‘roundbox’,
-or ‘ellipse’ defined in ‘plain_boxes.asy’ (*note envelope::).
+or ‘ellipse’ defined in ‘plain_boxes.asy’.
The function ‘path[] texpath(Label L)’ returns the path array that
TeX would fill to draw the Label ‘L’.
@@ -1347,7 +1412,7 @@ draw((0,0)..controls (0,100) and (100,100)..(100,0));
However, it is usually more convenient to just use the ‘..’ operator,
which tells ‘Asymptote’ to choose its own control points using the
-algorithms described in Donald Knuth’s monograph, The MetaFontbook,
+algorithms described in Donald Knuth's monograph, The MetaFontbook,
Chapter 14. The user can still customize the guide (or path) by
specifying direction, tension, and curl values.
@@ -1398,6 +1463,7 @@ File: asymptote.info, Node: Programming, Next: LaTeX usage, Prev: Bezier curv
* Pens:: Colors, line types, line widths, font sizes
* Transforms:: Affine transforms
* Frames and pictures:: Canvases for immediate and deferred drawing
+* Deferred drawing:: Witholding drawing until all data is available
* Files:: Reading and writing your data
* Variable initializers:: Initialize your variables
* Structures:: Organize your data
@@ -1665,7 +1731,7 @@ user-defined types):
Strings delimited by single quotes (‘'’) have the same mappings as
character strings in ANSI ‘C’:
- • \’ maps to ’
+ • \' maps to '
• \" maps to "
• \? maps to ?
• \\ maps to backslash
@@ -1738,14 +1804,14 @@ user-defined types):
returns a string containing ‘n’ formatted according to the
C-style format string ‘s’ using locale ‘locale’ (or the
current locale if an empty string is specified), following the
- behaviour of the C function ‘fprintf’), except that only one
+ behavior of the C function ‘fprintf’), except that only one
data field is allowed.
‘string format(string s=defaultformat, bool forcemath=false, string s=defaultseparator, real x, string locale="")’
returns a string containing ‘x’ formatted according to the
C-style format string ‘s’ using locale ‘locale’ (or the
current locale if an empty string is specified), following the
- behaviour of the C function ‘fprintf’), except that only one
+ behavior of the C function ‘fprintf’), except that only one
data field is allowed, trailing zeros are removed by default
(unless ‘#’ is specified), and if ‘s’ specifies math mode or
‘forcemath=true’, TeX is used to typeset scientific notation
@@ -1788,7 +1854,7 @@ user-defined types):
seconds(time("%b %d %r %z %Y"),"%b %d %r %z %Y");
seconds(time("%b %d %r %Z %Y"),"%b %d %r "+time("%Z")+" %Y");
1+(seconds()-seconds("Jan 1","%b %d"))/(24*60*60);
- The last example returns today’s ordinal date, measured from
+ The last example returns today's ordinal date, measured from
the beginning of the year.
‘string time(int seconds, string format="%a %b %d %T %Z %Y")’
@@ -2088,7 +2154,7 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
returns the portions of path ‘p’ before and after the ‘n’th
intersection of ‘p’ with path ‘knife’ as a structure ‘slice’
(if no intersection exist is found, the entire path is
- considered to be ‘before’ the intersection):
+ considered to be 'before' the intersection):
struct slice {
path before,after;
}
@@ -2106,7 +2172,7 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
‘path buildcycle(... path[] p);’
This returns the path surrounding a region bounded by a list
of two or more consecutively intersecting paths, following the
- behaviour of the ‘MetaPost buildcycle’ command.
+ behavior of the ‘MetaPost buildcycle’ command.
‘pair min(path p);’
returns the pair (left,bottom) for the path bounding box of
@@ -2139,8 +2205,9 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
otherwise.
‘pair inside(path p, pen fillrule=currentpen);’
- returns an arbitrary point strictly inside a cyclic path ‘p’
- according to the fill rule ‘fillrule’ (*note fillrule::).
+ returns an arbitrary point strictly inside a nondegenerate
+ cyclic path ‘p’ according to the fill rule ‘fillrule’ (*note
+ fillrule::).
‘path[] strokepath(path g, pen p=currentpen);’
returns the path array that ‘PostScript’ would fill in drawing
@@ -2340,7 +2407,7 @@ with one or more color components equal to 1.
definitions of some colors (e.g. ‘Green’) actually disagree.
‘Asymptote’ also comes with a ‘asycolors.sty’ ‘LaTeX’ package that
- defines to ‘LaTeX’ CMYK versions of ‘Asymptote’’s predefined
+ defines to ‘LaTeX’ CMYK versions of ‘Asymptote’'s predefined
colors, so that they can be used directly within ‘LaTeX’ strings.
Normally, such colors are passed to ‘LaTeX’ via a pen argument;
however, to change the color of only a portion of a string, say for
@@ -2442,12 +2509,65 @@ with one or more color components equal to 1.
pen nobasealign=basealign(0);
pen basealign=basealign(1);
- The default setting, ‘nobasealign’,which may be changed with
+ The default setting, ‘nobasealign’, which may be changed with
‘defaultpen(pen)’, causes the label alignment routines to use the
full label bounding box for alignment. In contrast, ‘basealign’
requests that the TeX baseline be respected. The base align
setting of a pen is returned by ‘int basealign(pen p=currentpen)’.
+ For example, in the following image, the baselines of green \pi and
+ \gamma are aligned, while the bottom border of red -\pi and -\gamma
+ are aligned.
+ import fontsize;
+ import three;
+
+ settings.autobillboard=false;
+ settings.embed=false;
+ currentprojection=orthographic(Z);
+
+ defaultpen(fontsize(100pt));
+
+ dot(O);
+
+ label("acg",O,align=N,basealign);
+ label("ace",O,align=N,red);
+ label("acg",O,align=S,basealign);
+ label("ace",O,align=S,red);
+ label("acg",O,align=E,basealign);
+ label("ace",O,align=E,red);
+ label("acg",O,align=W,basealign);
+ label("ace",O,align=W,red);
+
+ picture pic;
+ dot(pic,(labelmargin(),0,0),blue);
+ dot(pic,(-labelmargin(),0,0),blue);
+ dot(pic,(0,labelmargin(),0),blue);
+ dot(pic,(0,-labelmargin(),0),blue);
+ add(pic,O);
+
+ dot((0,0));
+
+ label("acg",(0,0),align=N,basealign);
+ label("ace",(0,0),align=N,red);
+ label("acg",(0,0),align=S,basealign);
+ label("ace",(0,0),align=S,red);
+ label("acg",(0,0),align=E,basealign);
+ label("ace",(0,0),align=E,red);
+ label("acg",(0,0),align=W,basealign);
+ label("ace",(0,0),align=W,red);
+
+ picture pic;
+ dot(pic,(labelmargin(),0),blue);
+ dot(pic,(-labelmargin(),0),blue);
+ dot(pic,(0,labelmargin()),blue);
+ dot(pic,(0,-labelmargin()),blue);
+ add(pic,(0,0));
+
+ [./basealign]
+
+ Another method for aligning baselines is provided by the ‘baseline’
+ function (*note baseline::).
+
• The font size is specified in TeX points (1 pt = 1/72.27 inches)
with the function ‘pen fontsize(real size, real
lineskip=1.2*size)’. The default font size, 12pt, may be changed
@@ -2514,7 +2634,7 @@ with one or more color components equal to 1.
pen opacity(real opacity=1, string blend="Compatible");
The opacity can be varied from ‘0’ (fully transparent) to the
default value of ‘1’ (opaque), and ‘blend’ specifies one of the
- following foreground–background blending operations:
+ following foreground-background blending operations:
"Compatible","Normal","Multiply","Screen","Overlay","SoftLight",
"HardLight","ColorDodge","ColorBurn","Darken","Lighten","Difference",
"Exclusion","Hue","Saturation","Color","Luminosity",
@@ -2523,7 +2643,7 @@ with one or more color components equal to 1.
Since ‘PostScript’ does not support transparency, this feature is
only effective with the ‘-f pdf’ output format option; other
formats can be produced from the resulting PDF file with the
- ‘ImageMagick’ ‘convert’ program. Labels are always drawn with an
+ ‘ImageMagick’ ‘magick’ program. Labels are always drawn with an
‘opacity’ of 1. A simple example of transparent filling is
provided in the example file ‘transparency.asy’.
@@ -2621,7 +2741,7 @@ with one or more color components equal to 1.
‘Allow’
Allow labels to overwrite one another. This is the default
- behaviour (unless overridden with ‘defaultpen(pen)’.
+ behavior (unless overridden with ‘defaultpen(pen)’.
‘Suppress’
Suppress, with a warning, each label that would overwrite
@@ -2685,7 +2805,7 @@ power with the ‘^’ operator.
‘transform scale(real x, real y);’
scale by ‘x’ in the x direction and by ‘y’ in the y direction;
‘transform slant(real s);’
- maps ‘(x,y)’ –> ‘(x+s*y,y)’;
+ maps ‘(x,y)’ -> ‘(x+s*y,y)’;
‘transform rotate(real angle, pair z=(0,0));’
rotates by ‘angle’ in degrees about ‘z’;
‘transform reflect(pair a, pair b);’
@@ -2700,7 +2820,7 @@ respectively. The function ‘bool isometry(transform t)’ can be used to
test if ‘t’ is an isometry (preserves distance).

-File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transforms, Up: Programming
+File: asymptote.info, Node: Frames and pictures, Next: Deferred drawing, Prev: Transforms, Up: Programming
6.5 Frames and pictures
=======================
@@ -2724,19 +2844,6 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform
label::), is returned by
frame align(frame f, pair align);
- To draw or fill a box or ellipse around a label or frame and return
- the boundary as a path, use one of the predefined ‘envelope’
- routines
- path box(frame f, Label L="", real xmargin=0,
- real ymargin=xmargin, pen p=currentpen,
- filltype filltype=NoFill, bool above=true);
- path roundbox(frame f, Label L="", real xmargin=0,
- real ymargin=xmargin, pen p=currentpen,
- filltype filltype=NoFill, bool above=true);
- path ellipse(frame f, Label L="", real xmargin=0,
- real ymargin=xmargin, pen p=currentpen,
- filltype filltype=NoFill, bool above=true);
-
‘picture’
Pictures are high-level structures (*note Structures::) defined in
the module ‘plain’ that provide canvases for drawing in user
@@ -2928,9 +3035,9 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform
optional background filling or clipping, and ‘above’ specifies
whether to add ‘src’ above or below existing objects.
- There are also routines to add a picture or frame ‘src’ specified
- in postscript coordinates to another picture ‘dest’ (or
- ‘currentpicture’) about the user coordinate ‘position’:
+ There are also routines to add a fixed-size picture or frame ‘src’
+ to another picture ‘dest’ (or ‘currentpicture’) about the user
+ coordinate ‘position’:
void add(picture src, pair position, bool group=true,
filltype filltype=NoFill, bool above=true);
void add(picture dest, picture src, pair position,
@@ -3027,9 +3134,86 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform
that can be used for importing ‘LaTeX’ packages.

-File: asymptote.info, Node: Files, Next: Variable initializers, Prev: Frames and pictures, Up: Programming
+File: asymptote.info, Node: Deferred drawing, Next: Files, Prev: Frames and pictures, Up: Programming
+
+6.6 Deferred drawing
+====================
+
+It is sometimes desirable to have elements of a fixed absolute size,
+independent of the picture scaling from user to ‘PostScript’
+coordinates. For example, normally one would want the size of a dot
+created with ‘dot’, the size of the arrowheads created with ‘arrow’
+(*note arrows::), and labels to be drawn independent of the scaling.
+
+ However, because of ‘Asymptote’'s automatic scaling feature (*note
+Figure size::), the translation between user coordinate and ‘PostScript’
+coordinate is not determined until shipout time:
+size(1cm);
+dot((0,0));
+dot((1,1));
+shipout("x"); // at this point, 1 unit coordinate = 1cm
+dot((2,2));
+shipout("y"); // at this point, 1 unit coordinate = 0.5cm
+It is therefore necessary to defer the drawing of these elements until
+shipout time.
+
+ For example, a frame can be added at a specified user coordinate of a
+picture with the deferred drawing routine ‘add(picture
+dest=currentpicture, frame src, pair position)’:
+frame f;
+fill(f,circle((0,0),1.5pt));
+add(f,position=(1,1),align=(0,0));
+
+ A deferred drawing routine is an object of type ‘drawer’, which is a
+function with signature ‘void(frame f, transform t)’. For example, if
+the drawing routine
+void d(frame f, transform t){
+ fill(f,shift(3cm,0)*circle(t*(1,1),2pt));
+}
+is added to ‘currentpicture’ with
+currentpicture.add(d);
+a filled circle of radius 2pt will be drawn on currentpicture centered
+3cm to the right of user coordinate ‘(1,1)’. The parameter ‘t’ is the
+affine transformation from user coordinates to ‘PostScript’ coordinates.
+
+ Even though the actual drawing is deferred, you still need to specify
+to the ‘Asymptote’ scaling routines that ultimately a fixed-size circle
+of radius 2pt will be drawn 3cm to the right of user-coordinate (1,1),
+by adding a frame about (1,1) that extends beyond (1,1) from
+‘(3cm-2pt,-2pt)+min(currentpen)’ to ‘(3cm+2pt,2pt)+max(currentpen)’,
+where we have even accounted for the pen linewidth. The following
+example will then produce a PDF file 10 cm wide:
+
+settings.outformat="pdf";
+size(10cm);
+dot((0,0));
+dot((1,1),red);
+add(new void(frame f, transform t) {
+ fill(f,shift(3cm,0)*circle(t*(1,1),2pt));
+});
+pair trueMin=(3cm-2pt,-2pt)+min(currentpen);
+pair trueMax=(3cm+2pt,2pt)+max(currentpen);
+currentpicture.addPoint((1,1),trueMin);
+currentpicture.addPoint((1,1),trueMax);
+Here we specified the minimum and maximum user and truesize (fixed)
+coordinates of the drawer with the ‘picture’ routine
+void addPoint(pair user, pair truesize);
+Alternatively, one can use
+void addBox(pair userMin, pair userMax, pair trueMin=0, pair trueMax=0) {
+to specify a bounding box with bottom-left corner ‘t*(1,1)+trueMin’ and
+top-right corner ‘t*(1,1)+trueMax’, where ‘t’ is the transformation that
+transforms from user coordinates to ‘PostScript’ coordinates.
+
+ For more details about deferred drawing, see "Asymptote: A vector
+graphics language," John C. Bowman and Andy Hammerlindl, TUGBOAT: The
+Communications of the TeX Users Group, 29:2, 288-294 (2008),
+
+<https://www.math.ualberta.ca/~bowman/publications/asyTUG.pdf>.
+
+
+File: asymptote.info, Node: Files, Next: Variable initializers, Prev: Deferred drawing, Up: Programming
-6.6 Files
+6.7 Files
=========
‘Asymptote’ can read and write text files (including comma-separated
@@ -3108,7 +3292,7 @@ write(fout,"List: ",1,2,3); // Writes "List: 1 2 3"
A file may be opened with ‘mode="xdr"’, to read or write double
precision (64-bit) reals and single precision (32-bit) integers in Sun
-Microsystem’s XDR (External Data Representation) portable binary format
+Microsystem's XDR (External Data Representation) portable binary format
(available on all ‘UNIX’ platforms). Alternatively, a file may also be
opened with ‘mode="binary"’ to read or write double precision reals and
single precision integers in the native (nonportable) machine binary
@@ -3188,14 +3372,14 @@ file ‘to’. Unless the ‘-globalwrite’ (or ‘-nosafe’) option is enabl
this operation is restricted to the current directory. The functions
int convert(string args="", string file="", string format="");
int animate(string args="", string file="", string format="");
-call the ‘ImageMagick’ commands ‘convert’ and ‘animate’, respectively,
+call the ‘ImageMagick’ commands ‘magick’ and ‘animate’, respectively,
with the arguments ‘args’ and the file name constructed from the strings
‘file’ and ‘format’.

File: asymptote.info, Node: Variable initializers, Next: Structures, Prev: Files, Up: Programming
-6.7 Variable initializers
+6.8 Variable initializers
=========================
A variable can be assigned a value when it is declared, as in ‘int x=3;’
@@ -3267,7 +3451,7 @@ for (var x : a)

File: asymptote.info, Node: Structures, Next: Operators, Prev: Variable initializers, Up: Programming
-6.8 Structures
+6.9 Structures
==============
Users may also define their own data types as structures, along with
@@ -3313,7 +3497,7 @@ form implicitly creates a new instance of ‘T’. That is, after the
definition of a structure ‘T’, a variable of type ‘T’ is initialized to
a new instance (‘new T’) by default. During the definition of the
structure, however, variables of type ‘T’ are initialized to ‘null’ by
-default. This special behaviour is to avoid infinite recursion of
+default. This special behavior is to avoid infinite recursion of
creating new instances in code such as
struct tree {
int value;
@@ -3366,55 +3550,10 @@ Person joe;
joe.firstname="Joe";
joe.lastname="Jones";
Creating a new Person is a chore; it takes three lines to create a new
-instance and to initialize its fields (that’s still considerably less
+instance and to initialize its fields (that's still considerably less
effort than creating a new person in real life, though).
- We can reduce the work by defining a constructor function
-‘Person(string,string)’:
-struct Person {
- string firstname;
- string lastname;
-
- static Person Person(string firstname, string lastname) {
- Person p=new Person;
- p.firstname=firstname;
- p.lastname=lastname;
- return p;
- }
-}
-
-Person joe=Person.Person("Joe", "Jones");
-
- While it is now easier than before to create a new instance, we still
-have to refer to the constructor by the qualified name ‘Person.Person’.
-If we add the line
-from Person unravel Person;
-immediately after the structure definition, then the constructor can be
-used without qualification: ‘Person joe=Person("Joe", "Jones");’.
-
- The constructor is now easy to use, but it is quite a hassle to
-define. If you write a lot of constructors, you will find that you are
-repeating a lot of code in each of them. Fortunately, your friendly
-neighbourhood Asymptote developers have devised a way to automate much
-of the process.
-
- If, in the body of a structure, Asymptote encounters the definition
-of a function of the form ‘void operator init(ARGS)’, it implicitly
-defines a constructor function of the arguments ‘ARGS’ that uses the
-‘void operator init’ function to initialize a new instance of the
-structure. That is, it essentially defines the following constructor
-(assuming the structure is called ‘Foo’):
-
- static Foo Foo(ARGS) {
- Foo instance=new Foo;
- instance.operator init(ARGS);
- return instance;
- }
-
- This constructor is also implicitly copied to the enclosing scope
-after the end of the structure definition, so that it can used
-subsequently without qualifying it by the structure name. Our ‘Person’
-example can thus be implemented as:
+ We can reduce the work by defining ‘operator init’:
struct Person {
string firstname;
string lastname;
@@ -3433,19 +3572,6 @@ not be confused with its use to define default values for variables
type of the ‘operator init’ must be ‘void’ while in the second, it must
be the (non-‘void’) type of the variable.
- The function ‘cputime()’ returns a structure ‘cputime’ with
-cumulative CPU times broken down into the fields ‘parent.user’,
-‘parent.system’, ‘child.user’, and ‘child.system’, along with the
-cumulative wall clock time in ‘parent.clock’, all measured in seconds.
-For convenience, the incremental fields ‘change.user’, ‘change.system’,
-and ‘change.clock’ indicate the change in the corresponding fields since
-the last call to ‘cputime()’. The function
-void write(file file=stdout, string s="", cputime c,
- string format=cputimeformat, suffix suffix=none);
-displays the incremental user cputime followed by “u”, the incremental
-system cputime followed by “s”, the total user cputime followed by “U”,
-and the total system cputime followed by “S”.
-
Much like in C++, casting (*note Casts::) provides for an elegant
implementation of structure inheritance, including a virtual function
‘v’:
@@ -3486,8 +3612,8 @@ write(c.y); // Outputs 3;

File: asymptote.info, Node: Operators, Next: Implicit scaling, Prev: Structures, Up: Programming
-6.9 Operators
-=============
+6.10 Operators
+==============
* Menu:
@@ -3498,8 +3624,8 @@ File: asymptote.info, Node: Operators, Next: Implicit scaling, Prev: Structur

File: asymptote.info, Node: Arithmetic & logical, Next: Self & prefix operators, Prev: Operators, Up: Operators
-6.9.1 Arithmetic & logical operators
-------------------------------------
+6.10.1 Arithmetic & logical operators
+-------------------------------------
‘Asymptote’ uses the standard binary arithmetic operators. However,
when one integer is divided by another, both arguments are converted to
@@ -3572,8 +3698,8 @@ a, int bits)’ (reverse bits within a word of length bits).

File: asymptote.info, Node: Self & prefix operators, Next: User-defined operators, Prev: Arithmetic & logical, Up: Operators
-6.9.2 Self & prefix operators
------------------------------
+6.10.2 Self & prefix operators
+------------------------------
As in C, each of the arithmetic operators ‘+’, ‘-’, ‘*’, ‘/’, ‘#’, ‘%’,
and ‘^’ can be used as a self operator. The prefix operators ‘++’
@@ -3597,8 +3723,8 @@ really needed, one can substitute the expressions ‘(++i-1)’ and

File: asymptote.info, Node: User-defined operators, Prev: Self & prefix operators, Up: Operators
-6.9.3 User-defined operators
-----------------------------
+6.10.3 User-defined operators
+-----------------------------
The following symbols may be used with ‘operator’ to define or redefine
operators on structures and built-in types:
@@ -3631,7 +3757,7 @@ write("g=",g);

File: asymptote.info, Node: Implicit scaling, Next: Functions, Prev: Operators, Up: Programming
-6.10 Implicit scaling
+6.11 Implicit scaling
=====================
If a numeric literal is in front of certain types of expressions, then
@@ -3668,7 +3794,7 @@ write(10cm);

File: asymptote.info, Node: Functions, Next: Arrays, Prev: Implicit scaling, Up: Programming
-6.11 Functions
+6.12 Functions
==============
* Menu:
@@ -3773,7 +3899,7 @@ segmentation fault, unless a fully working version of the GNU library

File: asymptote.info, Node: Default arguments, Next: Named arguments, Prev: Functions, Up: Functions
-6.11.1 Default arguments
+6.12.1 Default arguments
------------------------
‘Asymptote’ supports a more flexible mechanism for default function
@@ -3792,7 +3918,7 @@ defined.

File: asymptote.info, Node: Named arguments, Next: Rest arguments, Prev: Default arguments, Up: Functions
-6.11.2 Named arguments
+6.12.2 Named arguments
----------------------
It is sometimes difficult to remember the order in which arguments
@@ -3826,7 +3952,7 @@ x=3;
write(f(4,3));
and outputs 43.
- Parameters can be specified as “keyword-only” by putting ‘keyword’
+ Parameters can be specified as "keyword-only" by putting ‘keyword’
immediately before the parameter name, as in ‘int f(int keyword x)’ or
‘int f(int keyword x=77)’. This forces the caller of the function to
use a named argument to give a value for this parameter. That is,
@@ -3854,7 +3980,7 @@ would be allowed.

File: asymptote.info, Node: Rest arguments, Next: Mathematical functions, Prev: Named arguments, Up: Functions
-6.11.3 Rest arguments
+6.12.3 Rest arguments
---------------------
Rest arguments allow one to write functions that take a variable number
@@ -3942,7 +4068,7 @@ i(3,4); // ambiguous; the first candidate is better for the first argument,

File: asymptote.info, Node: Mathematical functions, Prev: Rest arguments, Up: Functions
-6.11.4 Mathematical functions
+6.12.4 Mathematical functions
-----------------------------
‘Asymptote’ has built-in versions of the standard ‘libm’ mathematical
@@ -4025,10 +4151,47 @@ write(Si(1.0));
returns the integral of ‘f’ from ‘a’ to ‘b’ using adaptive Simpson
integration.
+ Internally, ‘operator init’ implicitly defines a constructor
+ function ‘Person(string,string)’ as follows, where ARGS is ‘string
+ firstname, string lastname’ in this case:
+ struct Person {
+ string firstname;
+ string lastname;
+
+ static Person Person(ARGS) {
+ Person p=new Person;
+ p.operator init(ARGS);
+ return p;
+ }
+ }
+ which then can be used as:
+ Person joe=Person.Person("Joe", "Jones");
+
+ The following is also implicitly generated in the enclosing scope,
+ after the end of the structure definition.
+ from Person unravel Person;
+ It allows us to use the constructor without qualification,
+ otherwise we would have to refer to the constructor by the
+ qualified name ‘Person.Person’.
+
+‘cputime cputime()’
+ returns a structure ‘cputime’ with cumulative CPU times broken down
+ into the fields ‘parent.user’, ‘parent.system’, ‘child.user’, and
+ ‘child.system’, along with the cumulative wall clock time in
+ ‘parent.clock’, all measured in seconds. For convenience, the
+ incremental fields ‘change.user’, ‘change.system’, and
+ ‘change.clock’ indicate the change in the corresponding fields
+ since the last call to ‘cputime()’. The function
+ void write(file file=stdout, string s="", cputime c,
+ string format=cputimeformat, suffix suffix=none);
+ displays the incremental user cputime followed by "u", the
+ incremental system cputime followed by "s", the total user cputime
+ followed by "U", and the total system cputime followed by "S".
+

File: asymptote.info, Node: Arrays, Next: Casts, Prev: Functions, Up: Programming
-6.12 Arrays
+6.13 Arrays
===========
* Menu:
@@ -4445,7 +4608,7 @@ output with the functions ‘write(file,T[])’, ‘write(file,T[][])’,

File: asymptote.info, Node: Slices, Prev: Arrays, Up: Arrays
-6.12.1 Slices
+6.13.1 Slices
-------------
Asymptote allows a section of an array to be addressed as a slice using
@@ -4529,7 +4692,7 @@ of the cells.

File: asymptote.info, Node: Casts, Next: Import, Prev: Arrays, Up: Programming
-6.13 Casts
+6.14 Casts
==========
‘Asymptote’ implicitly casts ‘int’ to ‘real’, ‘int’ to ‘pair’, ‘real’ to
@@ -4596,7 +4759,7 @@ real operator cast(int x)=convert;

File: asymptote.info, Node: Import, Next: Static, Prev: Casts, Up: Programming
-6.14 Import
+6.15 Import
===========
While ‘Asymptote’ provides many features by default, some applications
@@ -4654,7 +4817,7 @@ name.
usually know all of the internal types and variables of a module, which
can also change as the module writer adds or changes features of the
module. As such, it is prudent to add ‘import’ commands at the start of
-an ‘Asymptote’ file, so that imported names won’t shadow locally defined
+an ‘Asymptote’ file, so that imported names won't shadow locally defined
functions. Still, imported names may shadow other imported names,
depending on the order in which they were imported, and imported
functions may cause overloading resolution problems if they have the
@@ -4744,7 +4907,7 @@ Imported global functions and variables are also listed if ‘imports’ is

File: asymptote.info, Node: Templated imports, Up: Import
-6.14.1 Templated imports
+6.15.1 Templated imports
------------------------
*Warning:* This feature is experimental: it has known issues and its
@@ -4765,10 +4928,9 @@ accessed for types ‘string’, ‘int[]’, and ‘real’ with the import com
access templatedModule(T=string, S=int[], Number=real)
as templatedModule_string_int_real;
Note that this is actually an _access_ command rather than an _import_
-command, so the names of types, functions, etc. would have to be stated
-as e.g. ‘templatedModule_string_int_real.Wrapper_Number’ rather than
-just ‘Wrapper_Number’ (where ‘Wrapper_Number’ is a type defined in
-‘templatedModule.asy’).
+command, so a type, function, or variable ‘A’ defined in
+‘templatedModule.asy’ would need to be accessed qualified as
+‘templatedModule_string_int_real.A’.
Alternatively, the module could be imported via a command like
from templatedModule(T=string, S=int[], Number=real) access
@@ -4778,18 +4940,17 @@ This command would automatically rename ‘Wrapper_Number’ to
‘Wrapper_real’ and would also allow the use of any ‘operator ==’
overloads defined in the module.
- For more information, see the examples in
-<https://github.com/vectorgraphics/asymptote/tree/647b6c5732ec94a48f0f0b2446f02c86888fe7e7/tests/template>.
+ Further examples can be found in the ‘tests/template’ subdirectory of
+the ‘Asymptote’ source directory.
- Issues: Certain standard features of almost any type (such as ‘==’,
-‘new’, and the ability to call static methods on the type) may only be
-available for type arguments that are builtin or defined in the ‘plain’
-module.
+ Issues: Certain expected operators (such as ‘operator ==’) may only
+be available for type arguments that are builtin or defined in module
+‘plain’.

File: asymptote.info, Node: Static, Prev: Import, Up: Programming
-6.15 Static
+6.16 Static
===========
Static qualifiers allocate the memory address of a variable in a higher
@@ -5099,7 +5260,8 @@ File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage,
* plain:: Default ‘Asymptote’ base file
* simplex:: Linear programming: simplex method
-* math:: Extend ‘Asymptote’’s math capabilities
+* simplex2:: Two-variable simplex method
+* math:: Extend ‘Asymptote’'s math capabilities
* interpolate:: Interpolation routines
* geometry:: Geometry routines
* trembling:: Wavy lines
@@ -5160,17 +5322,25 @@ File: asymptote.info, Node: simplex, Next: math, Prev: plain, Up: Base modul
8.2 ‘simplex’
=============
-This module solves the two-variable linear programming problem using the
-simplex method. It is used by the module ‘plain’ for automatic sizing
-of pictures.
+This module solves the general linear programming problem using the
+simplex method.
+
+
+File: asymptote.info, Node: simplex2, Next: math, Prev: plain, Up: Base modules
+
+8.3 ‘simplex2’
+==============
+
+This module solves a special case of the two-variable linear programming
+problem used by the module ‘plain’ for automatic sizing of pictures.

File: asymptote.info, Node: math, Next: interpolate, Prev: simplex, Up: Base modules
-8.3 ‘math’
+8.4 ‘math’
==========
-This module extends ‘Asymptote’’s mathematical capabilities with useful
+This module extends ‘Asymptote’'s mathematical capabilities with useful
functions such as
‘void drawline(picture pic=currentpicture, pair P, pair Q, pen p=currentpen);’
@@ -5236,7 +5406,7 @@ functions such as

File: asymptote.info, Node: interpolate, Next: geometry, Prev: math, Up: Base modules
-8.4 ‘interpolate’
+8.5 ‘interpolate’
=================
This module implements Lagrange, Hermite, and standard cubic spline
@@ -5246,7 +5416,7 @@ interpolation in ‘Asymptote’, as illustrated in the example

File: asymptote.info, Node: geometry, Next: trembling, Prev: interpolate, Up: Base modules
-8.5 ‘geometry’
+8.6 ‘geometry’
==============
This module, written by Philippe Ivaldi, provides an extensive set of
@@ -5261,7 +5431,7 @@ and an index:

File: asymptote.info, Node: trembling, Next: stats, Prev: geometry, Up: Base modules
-8.6 ‘trembling’
+8.7 ‘trembling’
===============
This module, written by Philippe Ivaldi and illustrated in the example
@@ -5270,7 +5440,7 @@ This module, written by Philippe Ivaldi and illustrated in the example

File: asymptote.info, Node: stats, Next: patterns, Prev: trembling, Up: Base modules
-8.7 ‘stats’
+8.8 ‘stats’
===========
This module implements a Gaussian random number generator and a
@@ -5280,7 +5450,7 @@ collection of statistics routines, including ‘histogram’ and

File: asymptote.info, Node: patterns, Next: markers, Prev: stats, Up: Base modules
-8.8 ‘patterns’
+8.9 ‘patterns’
==============
This module implements ‘PostScript’ tiling patterns and includes several
@@ -5289,8 +5459,8 @@ convenient pattern generation routines.

File: asymptote.info, Node: markers, Next: map, Prev: patterns, Up: Base modules
-8.9 ‘markers’
-=============
+8.10 ‘markers’
+==============
This module implements specialized routines for marking paths and
angles. The principal mark routine provided by this module is
@@ -5335,7 +5505,7 @@ as illustrated in the example ‘markers2.asy’.

File: asymptote.info, Node: map, Next: tree, Prev: markers, Up: Base modules
-8.10 ‘map’
+8.11 ‘map’
==========
This module creates a struct parameterized by the types specified in
@@ -5356,7 +5526,7 @@ write(M.lookup("y"));

File: asymptote.info, Node: tree, Next: binarytree, Prev: map, Up: Base modules
-8.11 ‘tree’
+8.12 ‘tree’
===========
This module implements an example of a dynamic binary search tree.
@@ -5364,7 +5534,7 @@ This module implements an example of a dynamic binary search tree.

File: asymptote.info, Node: binarytree, Next: drawtree, Prev: tree, Up: Base modules
-8.12 ‘binarytree’
+8.13 ‘binarytree’
=================
This module can be used to draw an arbitrary binary tree and includes an
@@ -5389,7 +5559,7 @@ add(pic2.fit(),(0,0),10S);

File: asymptote.info, Node: drawtree, Next: syzygy, Prev: binarytree, Up: Base modules
-8.13 ‘drawtree’
+8.14 ‘drawtree’
===============
This is a simple tree drawing module used by the example ‘treetest.asy’.
@@ -5397,7 +5567,7 @@ This is a simple tree drawing module used by the example ‘treetest.asy’.

File: asymptote.info, Node: syzygy, Next: feynman, Prev: drawtree, Up: Base modules
-8.14 ‘syzygy’
+8.15 ‘syzygy’
=============
This module automates the drawing of braids, relations, and syzygies,
@@ -5407,7 +5577,7 @@ along with the corresponding equations, as illustrated in the example

File: asymptote.info, Node: feynman, Next: roundedpath, Prev: syzygy, Up: Base modules
-8.15 ‘feynman’
+8.16 ‘feynman’
==============
This module, contributed by Martin Wiebusch, is useful for drawing
@@ -5417,7 +5587,7 @@ Feynman diagrams, as illustrated by the examples ‘eetomumu.asy’ and

File: asymptote.info, Node: roundedpath, Next: animation, Prev: feynman, Up: Base modules
-8.16 ‘roundedpath’
+8.17 ‘roundedpath’
==================
This module, contributed by Stefan Knorr, is useful for rounding the
@@ -5427,13 +5597,13 @@ sharp corners of paths, as illustrated in the example file

File: asymptote.info, Node: animation, Next: embed, Prev: roundedpath, Up: Base modules
-8.17 ‘animation’
+8.18 ‘animation’
================
This module allows one to generate animations, as illustrated by the
files ‘wheel.asy’, ‘wavepacket.asy’, and ‘cube.asy’ in the ‘animations’
subdirectory of the examples directory. These animations use the
-‘ImageMagick’ ‘convert’ program to merge multiple images into a GIF or
+‘ImageMagick’ ‘magick’ program to merge multiple images into a GIF or
MPEG movie.
The related ‘animate’ module, derived from the ‘animation’ module,
@@ -5459,7 +5629,7 @@ described here:

File: asymptote.info, Node: embed, Next: slide, Prev: animation, Up: Base modules
-8.18 ‘embed’
+8.19 ‘embed’
============
This module provides an interface to the ‘LaTeX’ package (included with
@@ -5484,7 +5654,7 @@ animate::).

File: asymptote.info, Node: slide, Next: MetaPost, Prev: embed, Up: Base modules
-8.19 ‘slide’
+8.20 ‘slide’
============
This module provides a simple yet high-quality facility for making
@@ -5495,7 +5665,7 @@ file ‘slidemovies.asy’). A simple example is provided in

File: asymptote.info, Node: MetaPost, Next: babel, Prev: slide, Up: Base modules
-8.20 ‘MetaPost’
+8.21 ‘MetaPost’
===============
This module provides some useful routines to help ‘MetaPost’ users
@@ -5513,7 +5683,7 @@ equation solver ‘solve’ instead.

File: asymptote.info, Node: babel, Next: labelpath, Prev: MetaPost, Up: Base modules
-8.21 ‘babel’
+8.22 ‘babel’
============
This module implements the ‘LaTeX’ ‘babel’ package in ‘Asymptote’. For
@@ -5524,7 +5694,7 @@ babel("german");

File: asymptote.info, Node: labelpath, Next: labelpath3, Prev: babel, Up: Base modules
-8.22 ‘labelpath’
+8.23 ‘labelpath’
================
This module uses the ‘PSTricks’ ‘pstextpath’ macro to fit labels along a
@@ -5542,7 +5712,7 @@ inherits the limitations of the ‘PSTricks’ ‘\pstextpath’ macro.

File: asymptote.info, Node: labelpath3, Next: annotate, Prev: labelpath, Up: Base modules
-8.23 ‘labelpath3’
+8.24 ‘labelpath3’
=================
This module, contributed by Jens Schwaiger, implements a 3D version of
@@ -5552,7 +5722,7 @@ provided in ‘curvedlabel3.asy’.

File: asymptote.info, Node: annotate, Next: CAD, Prev: labelpath3, Up: Base modules
-8.24 ‘annotate’
+8.25 ‘annotate’
===============
This module supports PDF annotations for viewing with ‘Adobe Reader’,
@@ -5566,7 +5736,7 @@ and ‘tex’ TeX engines.

File: asymptote.info, Node: CAD, Next: graph, Prev: annotate, Up: Base modules
-8.25 ‘CAD’
+8.26 ‘CAD’
==========
This module, contributed by Mark Henning, provides basic pen definitions
@@ -5576,7 +5746,7 @@ and measurement functions for simple 2D CAD drawings according to DIN

File: asymptote.info, Node: graph, Next: palette, Prev: CAD, Up: Base modules
-8.26 ‘graph’
+8.27 ‘graph’
============
This module implements two-dimensional linear and logarithmic graphs,
@@ -6066,7 +6236,7 @@ following routines:
bool above=true);
In the right-hand graph, the unit n-sided regular polygon
‘polygon(int n)’ and the unit n-point cyclic cross ‘cross(int n,
- bool round=true, real r=0)’ (where ‘r’ is an optional “inner”
+ bool round=true, real r=0)’ (where ‘r’ is an optional "inner"
radius) are used to build a custom marker frame. Here
‘markuniform(bool centered=false, int n, bool rotated=false)’ adds
this frame at ‘n’ uniformly spaced points along the arclength of
@@ -6655,7 +6825,7 @@ following routines:
[./vectorfield]
15. The following scientific graphs, which illustrate many features of
- ‘Asymptote’’s graphics routines, were generated from the examples
+ ‘Asymptote’'s graphics routines, were generated from the examples
‘diatom.asy’ and ‘westnile.asy’, using the comma-separated data in
‘diatom.csv’ and ‘westnile.csv’.
@@ -6667,7 +6837,7 @@ following routines:

File: asymptote.info, Node: palette, Next: three, Prev: graph, Up: Base modules
-8.27 ‘palette’
+8.28 ‘palette’
==============
‘Asymptote’ can also generate color density images and palettes. The
@@ -6880,7 +7050,7 @@ pen[][] palette(real[][] f, pen[] palette);

File: asymptote.info, Node: three, Next: obj, Prev: palette, Up: Base modules
-8.28 ‘three’
+8.29 ‘three’
============
This module fully extends the notion of guides and paths in ‘Asymptote’
@@ -6888,7 +7058,7 @@ to three dimensions. It introduces the new types guide3, path3, and
surface. Guides in three dimensions are specified with the same syntax
as in two dimensions except that triples ‘(x,y,z)’ are used in place of
pairs ‘(x,y)’ for the nodes and direction specifiers. This
-generalization of John Hobby’s spline algorithm is shape-invariant under
+generalization of John Hobby's spline algorithm is shape-invariant under
three-dimensional rotation, scaling, and shifting, and reduces in the
planar case to the two-dimensional algorithm used in ‘Asymptote’,
‘MetaPost’, and ‘MetaFont’ [cf. J. C. Bowman, Proceedings in Applied
@@ -6975,7 +7145,7 @@ currentlight=Headlamp;
light nolight;
The ‘currentlight.background’ (or ‘background’ member of the
-specified ‘light’) can be used to set the background colour for 2D (or
+specified ‘light’) can be used to set the background color for 2D (or
3D) images. The default background is white for ‘HTML’ images and
transparent for all other formats. One can request a completely
transparent background for 3D ‘WebGL’ images with
@@ -6999,7 +7169,7 @@ documented at the beginning of module ‘three’.
The examples ‘elevation.asy’ and ‘sphericalharmonic.asy’ illustrate
how to draw a surface with patch-dependent colors. The examples
‘vertexshading.asy’ and ‘smoothelevation.asy’ illustrate
-vertex-dependent colors, which are supported by ‘Asymptote’’s native
+vertex-dependent colors, which are supported by ‘Asymptote’'s native
‘OpenGL’/‘WebGL’ renderers and the two-dimensional vector output format
(‘settings.render=0’). Since the PRC output format does not currently
support vertex shading of Bezier surfaces, PRC patches are shaded with
@@ -7023,7 +7193,7 @@ from a two-dimensional cyclic path ‘g’ with the constructor
surface surface(path p, triple plane(pair)=XYplane);
and then filled:
draw(surface((0,0)--E+2N--2E--E+N..0.2E..cycle),red);
-Planar Bezier surfaces patches are constructed using Orest Shardt’s
+Planar Bezier surfaces patches are constructed using Orest Shardt's
‘bezulate’ routine, which decomposes (possibly nonsimply connected)
regions bounded (according to the ‘zerowinding’ fill rule) by simple
cyclic paths (intersecting only at the endpoints) into subregions
@@ -7590,7 +7760,7 @@ add(faces);

File: asymptote.info, Node: obj, Next: graph3, Prev: three, Up: Base modules
-8.29 ‘obj’
+8.30 ‘obj’
==========
This module allows one to construct surfaces from simple obj files, as
@@ -7599,7 +7769,7 @@ illustrated in the example files ‘galleon.asy’ and ‘triceratops.asy’.

File: asymptote.info, Node: graph3, Next: grid3, Prev: obj, Up: Base modules
-8.30 ‘graph3’
+8.31 ‘graph3’
=============
This module implements three-dimensional versions of the functions in
@@ -7775,7 +7945,7 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b,

File: asymptote.info, Node: grid3, Next: solids, Prev: graph3, Up: Base modules
-8.31 ‘grid3’
+8.32 ‘grid3’
============
This module, contributed by Philippe Ivaldi, can be used for drawing 3D
@@ -7805,7 +7975,7 @@ zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min),

File: asymptote.info, Node: solids, Next: tube, Prev: grid3, Up: Base modules
-8.32 ‘solids’
+8.33 ‘solids’
=============
This solid geometry module defines a structure ‘revolution’ that can be
@@ -7840,7 +8010,7 @@ struct skeleton {

File: asymptote.info, Node: tube, Next: flowchart, Prev: solids, Up: Base modules
-8.33 ‘tube’
+8.34 ‘tube’
===========
This module extends the ‘tube’ surfaces constructed in
@@ -7881,7 +8051,7 @@ the third case, the array of pens contains only one pen, which depends
of the relative time.
The casting of ‘path’ to ‘coloredpath’ allows the use of a ‘path’
-instead of a ‘coloredpath’; in this case the shading behaviour is the
+instead of a ‘coloredpath’; in this case the shading behavior is the
default shading behavior for a surface.
An example of ‘tube’ is provided in the file ‘trefoilknot.asy’.
@@ -7891,7 +8061,7 @@ Further examples can be found at

File: asymptote.info, Node: flowchart, Next: contour, Prev: tube, Up: Base modules
-8.34 ‘flowchart’
+8.35 ‘flowchart’
================
This module provides routines for drawing flowcharts. The primary
@@ -8007,7 +8177,7 @@ add(new void(picture pic, transform t) {

File: asymptote.info, Node: contour, Next: contour3, Prev: flowchart, Up: Base modules
-8.35 ‘contour’
+8.36 ‘contour’
==============
This module draws contour lines. To construct contours corresponding to
@@ -8222,14 +8392,14 @@ for(int i=0; i < np; ++i)
The example ‘Gouraudcontour.asy’ illustrates how to produce color
density images over such irregular triangular meshes. ‘Asymptote’ uses
-a robust version of Paul Bourke’s Delaunay triangulation algorithm based
+a robust version of Paul Bourke's Delaunay triangulation algorithm based
on the public-domain exact arithmetic predicates written by Jonathan
Shewchuk.

File: asymptote.info, Node: contour3, Next: smoothcontour3, Prev: contour, Up: Base modules
-8.36 ‘contour3’
+8.37 ‘contour3’
===============
This module draws surfaces described as the null space of real-valued
@@ -8239,7 +8409,7 @@ in the example file ‘magnetic.asy’.

File: asymptote.info, Node: smoothcontour3, Next: slopefield, Prev: contour3, Up: Base modules
-8.37 ‘smoothcontour3’
+8.38 ‘smoothcontour3’
=====================
This module, written by Charles Staats, draws implicitly defined
@@ -8265,17 +8435,17 @@ surface implicitsurface(real f(triple)=null,
int keyword maxdepth=8,
bool usetriangles=true);
The optional parameter ‘overlapedges’ attempts to compensate for an
-artifact that can cause the renderer to “see through” the boundary
+artifact that can cause the renderer to "see through" the boundary
between patches. Although it defaults to ‘false’, it should usually be
set to ‘true’. The example ‘genustwo.asy’ illustrates the use of this
function. Additional examples, together with a more in-depth
-explanation of the module’s usage and pitfalls, are available at
+explanation of the module's usage and pitfalls, are available at
<https://github.com/charlesstaats/smoothcontour3>.

File: asymptote.info, Node: slopefield, Next: ode, Prev: smoothcontour3, Up: Base modules
-8.38 ‘slopefield’
+8.39 ‘slopefield’
=================
To draw a slope field for the differential equation dy/dx=f(x,y) (or
@@ -8315,7 +8485,7 @@ draw(curve((0,0),func,(-3,-3),(3,3)),red);

File: asymptote.info, Node: ode, Prev: slopefield, Up: Base modules
-8.39 ‘ode’
+8.40 ‘ode’
==========
The ‘ode’ module, illustrated in the example ‘odetest.asy’, implements a
@@ -8486,7 +8656,7 @@ configuration file named ‘config.asy’ (or the file specified by the
environment variable ‘ASYMPTOTE_CONFIG’ or ‘-config’ option).
‘Asymptote’ will look for this file in its usual search path (*note
Search paths::). Typically the configuration file is placed in the
-‘.asy’ directory in the user’s home directory (‘%USERPROFILE%\.asy’
+‘.asy’ directory in the user's home directory (‘%USERPROFILE%\.asy’
under ‘MSDOS’). Configuration variables are accessed using the long
form of the option names:
import settings;
@@ -8522,16 +8692,14 @@ with the ‘graphic()’ function. The generated output is optimized with
the default setting ‘settings.dvisvgmOptions="--optimize"’.
‘Asymptote’ can also produce any output format supported by the
-‘ImageMagick’ ‘convert’ program (version 6.3.5 or later recommended; an
-‘Invalid Parameter’ error message indicates that the ‘MSDOS’ utility
-‘convert’ is being used instead of the one that comes with
-‘ImageMagick’). The optional setting ‘-render n’ requests an output
-resolution of ‘n’ pixels per ‘bp’. Antialiasing is controlled by the
-parameter ‘antialias’, which by default specifies a sampling width of 2
-pixels. To give other options to ‘convert’, use the ‘convertOptions’
-setting or call convert manually. This example emulates how ‘Asymptote’
-produces antialiased ‘tiff’ output at one pixel per ‘bp’:
-asy -o - venn | convert -alpha Off -density 144x144 -geometry 50%x eps:- venn.tiff
+‘ImageMagick’ ‘magick’ program (version 7 or later. The optional
+setting ‘-render n’ requests an output resolution of ‘n’ pixels per
+‘bp’. Antialiasing is controlled by the parameter ‘antialias’, which by
+default specifies a sampling width of 2 pixels. To give other options
+to ‘magick’, use the ‘convertOptions’ setting or call ‘magick convert’
+manually. This example emulates how ‘Asymptote’ produces antialiased
+‘tiff’ output at one pixel per ‘bp’:
+asy -o - venn | magick convert -alpha Off -density 144x144 -geometry 50%x eps:- venn.tiff
If the option ‘-nosafe’ is given, ‘Asymptote’ runs in unsafe mode.
This enables the ‘int system(string s)’ and ‘int system(string[] s)’
@@ -8643,7 +8811,7 @@ and must be entered immediately after the prompt:
also accepted unless there exists a top-level variable named ‘q’).
A history of the most recent 1000 (this number can be changed with
the ‘historylines’ configuration variable) previous commands will
- be retained in the file ‘.asy/history’ in the user’s home directory
+ be retained in the file ‘.asy/history’ in the user's home directory
(unless the command-line option ‘-localhistory’ was specified, in
which case the history will be stored in the file ‘.asy_history’ in
the current directory).
@@ -8832,13 +9000,14 @@ The excellent ‘PostScript’ editor ‘pstoedit’ (version 3.50 or later;
available from <https://sourceforge.net/projects/pstoedit/>) includes an
‘Asymptote’ backend. Unlike virtually all other ‘pstoedit’ backends,
this driver includes native clipping, even-odd fill rule, ‘PostScript’
-subpath, and full image support. Here is an example: ‘asy -V
-/usr/local/share/doc/asymptote/examples/venn.asy’
+subpath, and full image support. Here is an example:
+
+‘asy -V /usr/local/share/doc/asymptote/examples/venn.asy’
pstoedit -f asy venn.eps test.asy
asy -V test
-If the line widths aren’t quite correct, try giving ‘pstoedit’ the
-‘-dis’ option. If the fonts aren’t typeset correctly, try giving
+If the line widths aren't quite correct, try giving ‘pstoedit’ the
+‘-dis’ option. If the fonts aren't typeset correctly, try giving
‘pstoedit’ the ‘-dt’ option.

@@ -8962,7 +9131,7 @@ Prince. Sean Healy designed the ‘Asymptote’ logo. Other contributors
include Orest Shardt, Jesse Frohlich, Michail Vidiassov, Charles Staats,
Philippe Ivaldi, Olivier Guibé, Radoslav Marinov, Jeff Samuelson, Chris
Savage, Jacques Pienaar, Mark Henning, Steve Melenchuk, Martin Wiebusch,
-Stefan Knorr, Supakorn “Jamie” Rassameemasmuang, Jacob Skitsko, Joseph
+Stefan Knorr, Supakorn "Jamie" Rassameemasmuang, Jacob Skitsko, Joseph
Chaumont, and Oliver Cheng. Pedram Emami developed the ‘Asymptote Web
Application’ hosted at <http://asymptote.ualberta.ca>:
@@ -8977,11 +9146,48 @@ Index
* Menu:
+* -: Arithmetic & logical.
+ (line 14)
+* --: Paths. (line 16)
+* -- <1>: Self & prefix operators.
+ (line 6)
+* ---: Bezier curves. (line 84)
+* -=: Self & prefix operators.
+ (line 6)
+* -c: Options. (line 222)
+* -l: Options. (line 241)
+* -u: Options. (line 232)
+* -V: Configuring. (line 6)
+* -V <1>: Drawing in batch mode.
+ (line 16)
+* :: Arithmetic & logical.
+ (line 61)
+* ::: Bezier curves. (line 70)
* !: Arithmetic & logical.
(line 57)
* !=: Structures. (line 62)
* != <1>: Arithmetic & logical.
(line 37)
+* ?: Arithmetic & logical.
+ (line 61)
+* ..: Paths. (line 16)
+* .asy: Search paths. (line 12)
+* *: Pens. (line 15)
+* * <1>: Arithmetic & logical.
+ (line 16)
+* **: Arithmetic & logical.
+ (line 31)
+* *=: Self & prefix operators.
+ (line 6)
+* /: Arithmetic & logical.
+ (line 18)
+* /=: Self & prefix operators.
+ (line 6)
+* &: Bezier curves. (line 84)
+* & <1>: Arithmetic & logical.
+ (line 49)
+* &&: Arithmetic & logical.
+ (line 47)
* #: Arithmetic & logical.
(line 20)
* %: Arithmetic & logical.
@@ -8989,17 +9195,12 @@ Index
* % <1>: Interactive mode. (line 16)
* %=: Self & prefix operators.
(line 6)
-* &: Bezier curves. (line 84)
-* & <1>: Arithmetic & logical.
- (line 49)
-* &&: Arithmetic & logical.
- (line 47)
-* *: Pens. (line 15)
-* * <1>: Arithmetic & logical.
- (line 16)
-* **: Arithmetic & logical.
- (line 31)
-* *=: Self & prefix operators.
+* ^: Arithmetic & logical.
+ (line 29)
+* ^ <1>: Arithmetic & logical.
+ (line 55)
+* ^^: Paths. (line 23)
+* ^=: Self & prefix operators.
(line 6)
* +: Pens. (line 15)
* + <1>: Arithmetic & logical.
@@ -9008,33 +9209,6 @@ Index
(line 6)
* +=: Self & prefix operators.
(line 6)
-* -: Arithmetic & logical.
- (line 14)
-* --: Paths. (line 16)
-* -- <1>: Self & prefix operators.
- (line 6)
-* ---: Bezier curves. (line 84)
-* -=: Self & prefix operators.
- (line 6)
-* -c: Options. (line 224)
-* -l: Options. (line 243)
-* -u: Options. (line 234)
-* -V: Configuring. (line 6)
-* -V <1>: Drawing in batch mode.
- (line 16)
-* ..: Paths. (line 16)
-* .asy: Search paths. (line 12)
-* /: Arithmetic & logical.
- (line 18)
-* /=: Self & prefix operators.
- (line 6)
-* 2D graphs: graph. (line 6)
-* 3D graphs: graph3. (line 6)
-* 3D grids: grid3. (line 6)
-* 3D PostScript: three. (line 665)
-* :: Arithmetic & logical.
- (line 61)
-* ::: Bezier curves. (line 70)
* <: Arithmetic & logical.
(line 39)
* <=: Arithmetic & logical.
@@ -9046,19 +9220,14 @@ Index
(line 45)
* >=: Arithmetic & logical.
(line 43)
-* ?: Arithmetic & logical.
- (line 61)
-* ^: Arithmetic & logical.
- (line 29)
-* ^ <1>: Arithmetic & logical.
- (line 55)
-* ^=: Self & prefix operators.
- (line 6)
-* ^^: Paths. (line 23)
* |: Arithmetic & logical.
(line 53)
* ||: Arithmetic & logical.
(line 51)
+* 2D graphs: graph. (line 6)
+* 3D graphs: graph3. (line 6)
+* 3D grids: grid3. (line 6)
+* 3D PostScript: three. (line 665)
* a4: Configuring. (line 63)
* abort: Data types. (line 364)
* abs: Data types. (line 65)
@@ -9082,24 +9251,24 @@ Index
* acosh: Mathematical functions.
(line 6)
* add: Frames and pictures.
- (line 217)
+ (line 204)
* add <1>: Frames and pictures.
- (line 231)
+ (line 218)
* add <2>: three. (line 342)
* addViews: three. (line 459)
* adjust: Pens. (line 123)
* Ai: Mathematical functions.
(line 48)
-* Airy: Mathematical functions.
- (line 48)
* Ai_deriv: Mathematical functions.
(line 48)
+* Airy: Mathematical functions.
+ (line 48)
* alias: Structures. (line 62)
* alias <1>: Arrays. (line 183)
-* Align: label. (line 12)
-* aligndir: Options. (line 216)
+* Align: label. (line 20)
+* aligndir: Options. (line 214)
* all: Arrays. (line 350)
-* Allow: Pens. (line 363)
+* Allow: Pens. (line 416)
* and: Bezier curves. (line 56)
* AND: Arithmetic & logical.
(line 68)
@@ -9117,9 +9286,9 @@ Index
* arc: Paths and guides. (line 24)
* Arc: Paths and guides. (line 37)
* arc <1>: three. (line 353)
-* ArcArrow: draw. (line 26)
+* ArcArrow: draw. (line 30)
* ArcArrow3: three. (line 632)
-* ArcArrows: draw. (line 26)
+* ArcArrows: draw. (line 30)
* ArcArrows3: three. (line 632)
* arclength: Paths and guides. (line 153)
* arclength <1>: three. (line 566)
@@ -9131,15 +9300,17 @@ Index
(line 6)
* array: Data types. (line 284)
* array <1>: Arrays. (line 112)
-* array iteration: Programming. (line 52)
+* array iteration: Programming. (line 53)
* arrays: Arrays. (line 6)
* arrow: Drawing commands. (line 34)
* Arrow: draw. (line 26)
-* arrow <1>: label. (line 70)
+* arrow <1>: label. (line 77)
* arrow keys: Drawing in interactive mode.
(line 11)
* arrow keys <1>: GUI usage. (line 6)
* Arrow3: three. (line 632)
+* arrowbar: draw. (line 26)
+* arrowhead: draw. (line 50)
* arrows: draw. (line 26)
* Arrows: draw. (line 26)
* Arrows3: three. (line 632)
@@ -9153,9 +9324,9 @@ Index
* asinh: Mathematical functions.
(line 6)
* Aspect: Frames and pictures.
- (line 59)
+ (line 46)
* assert: Data types. (line 369)
-* assignment: Programming. (line 26)
+* assignment: Programming. (line 27)
* asy: Data types. (line 359)
* asy <1>: Import. (line 106)
* asy-mode: Editing modes. (line 6)
@@ -9163,9 +9334,9 @@ Index
* asygl: Configuring. (line 69)
* asyinclude: LaTeX usage. (line 42)
* Asymptote Web Application: Description. (line 6)
+* ASYMPTOTE_CONFIG: Options. (line 159)
* asymptote.sty: LaTeX usage. (line 6)
* asymptote.xml: Editing modes. (line 48)
-* ASYMPTOTE_CONFIG: Options. (line 159)
* atan: Mathematical functions.
(line 6)
* aTan: Mathematical functions.
@@ -9176,7 +9347,7 @@ Index
(line 6)
* atleast: Bezier curves. (line 56)
* attach: Frames and pictures.
- (line 276)
+ (line 263)
* attach <1>: LaTeX usage. (line 47)
* attach <2>: graph. (line 407)
* autoadjust: three. (line 428)
@@ -9193,7 +9364,7 @@ Index
* background: three. (line 76)
* background <1>: three. (line 97)
* background color: Frames and pictures.
- (line 180)
+ (line 167)
* BackView: three. (line 452)
* Bar: draw. (line 19)
* Bar3: three. (line 632)
@@ -9202,24 +9373,24 @@ Index
* barsize: draw. (line 19)
* base modules: Base modules. (line 6)
* basealign: Pens. (line 181)
-* baseline: label. (line 90)
+* baseline: label. (line 97)
* batch mode: Drawing in batch mode.
(line 6)
* beep: Data types. (line 382)
-* BeginArcArrow: draw. (line 26)
+* BeginArcArrow: draw. (line 30)
* BeginArcArrow3: three. (line 632)
* BeginArrow: draw. (line 26)
* BeginArrow3: three. (line 632)
* BeginBar: draw. (line 19)
* BeginBar3: three. (line 632)
-* BeginDotMargin: draw. (line 42)
+* BeginDotMargin: draw. (line 87)
* BeginDotMargin3: three. (line 648)
-* BeginMargin: draw. (line 42)
+* BeginMargin: draw. (line 68)
* BeginMargin3: three. (line 648)
-* BeginPenMargin: draw. (line 42)
+* BeginPenMargin: draw. (line 76)
* BeginPenMargin2: three. (line 648)
* BeginPenMargin3: three. (line 648)
-* BeginPoint: label. (line 55)
+* BeginPoint: label. (line 62)
* Bessel: Mathematical functions.
(line 48)
* bevel: flowchart. (line 72)
@@ -9230,14 +9401,14 @@ Index
* bezulate: three. (line 146)
* Bi: Mathematical functions.
(line 48)
+* Bi_deriv: Mathematical functions.
+ (line 48)
* Billboard: three. (line 536)
* binary: Files. (line 80)
* binary format: Files. (line 80)
* binary operators: Arithmetic & logical.
(line 6)
* binarytree: binarytree. (line 6)
-* Bi_deriv: Mathematical functions.
- (line 48)
* black stripes: three. (line 261)
* Blank: draw. (line 26)
* block.bottom: flowchart. (line 19)
@@ -9259,21 +9430,19 @@ Index
* BottomTop: graph. (line 139)
* BottomView: three. (line 452)
* bounding box: Frames and pictures.
- (line 180)
+ (line 167)
* bounds: palette. (line 43)
* Bounds: graph3. (line 21)
* box: Frames and pictures.
- (line 25)
-* box <1>: Frames and pictures.
- (line 130)
-* box <2>: three. (line 375)
-* box <3>: three. (line 377)
+ (line 117)
+* box <1>: three. (line 375)
+* box <2>: three. (line 377)
* bp: Drawing in batch mode.
(line 23)
* brace: Paths and guides. (line 51)
-* break: Programming. (line 48)
+* break: Programming. (line 49)
* breakpoints: Debugger. (line 21)
-* brick: Pens. (line 285)
+* brick: Pens. (line 338)
* broken axis: graph. (line 822)
* bug reports: Help. (line 19)
* buildcycle: Paths and guides. (line 270)
@@ -9283,8 +9452,6 @@ Index
* BWRainbow2: palette. (line 18)
* C string: Data types. (line 217)
* CAD: CAD. (line 6)
-* calculateTransform: Frames and pictures.
- (line 118)
* camera: three. (line 422)
* casts: Casts. (line 6)
* cbrt: Mathematical functions.
@@ -9292,10 +9459,10 @@ Index
* cd: Files. (line 26)
* ceil: Mathematical functions.
(line 26)
-* Center: label. (line 60)
+* Center: label. (line 67)
* center: three. (line 405)
-* checker: Pens. (line 285)
-* Chinese: Pens. (line 244)
+* checker: Pens. (line 338)
+* Chinese: Pens. (line 297)
* choose: Mathematical functions.
(line 39)
* Ci: Mathematical functions.
@@ -9305,7 +9472,7 @@ Index
* circle <1>: three. (line 349)
* circle <2>: flowchart. (line 61)
* circlebarframe: markers. (line 18)
-* CJK: Pens. (line 244)
+* CJK: Pens. (line 297)
* clamped: graph. (line 36)
* clang: Compiling from UNIX source.
(line 48)
@@ -9337,7 +9504,7 @@ Index
(line 6)
* complement: Arrays. (line 149)
* concat: Arrays. (line 179)
-* conditional: Programming. (line 26)
+* conditional: Programming. (line 27)
* conditional <1>: Arithmetic & logical.
(line 61)
* config: Configuring. (line 69)
@@ -9348,17 +9515,14 @@ Index
* conj: Data types. (line 62)
* constructors: Structures. (line 91)
* context: Options. (line 188)
-* continue: Programming. (line 48)
+* continue: Programming. (line 49)
* continue <1>: Debugger. (line 31)
* contour: contour. (line 6)
* contour3: contour3. (line 6)
* controls: Bezier curves. (line 45)
* controls <1>: three. (line 6)
-* controlSpecifier: Paths and guides. (line 396)
-* convert: Configuring. (line 69)
-* convert <1>: Files. (line 159)
-* convert <2>: animation. (line 6)
-* convert <3>: Options. (line 188)
+* controlSpecifier: Paths and guides. (line 397)
+* convert: Files. (line 159)
* convertOptions: Options. (line 174)
* Coons shading: fill. (line 78)
* copy: Arrays. (line 176)
@@ -9368,21 +9532,22 @@ Index
(line 20)
* cosh: Mathematical functions.
(line 6)
-* cputime: Structures. (line 169)
+* cputime: Mathematical functions.
+ (line 109)
* crop: graph. (line 640)
* cropping graphs: graph. (line 640)
* cross: Data types. (line 106)
* cross <1>: Data types. (line 197)
* cross <2>: graph. (line 481)
* crossframe: markers. (line 22)
-* crosshatch: Pens. (line 302)
+* crosshatch: Pens. (line 355)
* csv: Arrays. (line 382)
* CTZ: Arithmetic & logical.
(line 68)
* cubicroots: Arrays. (line 339)
* curl: Bezier curves. (line 66)
* curl <1>: three. (line 6)
-* curlSpecifier: Paths and guides. (line 408)
+* curlSpecifier: Paths and guides. (line 409)
* currentlight: three. (line 76)
* currentpen: Pens. (line 6)
* currentprojection: three. (line 449)
@@ -9395,10 +9560,10 @@ Index
* cycle <1>: Paths. (line 16)
* cycle <2>: three. (line 6)
* cyclic: Paths and guides. (line 85)
-* cyclic <1>: Paths and guides. (line 376)
+* cyclic <1>: Paths and guides. (line 377)
* cyclic <2>: Arrays. (line 39)
* cyclic <3>: three. (line 566)
-* Cyrillic: Pens. (line 238)
+* Cyrillic: Pens. (line 291)
* dashdotted: Pens. (line 102)
* dashed: Pens. (line 102)
* data types: Data types. (line 6)
@@ -9406,21 +9571,22 @@ Index
* Debian: UNIX binary distributions.
(line 19)
* debugger: Debugger. (line 6)
-* declaration: Programming. (line 26)
+* declaration: Programming. (line 27)
* deconstruct: GUI usage. (line 6)
* default arguments: Default arguments. (line 6)
* defaultformat: graph. (line 176)
-* DefaultHead: draw. (line 26)
+* DefaultHead: draw. (line 50)
* DefaultHead3: three. (line 632)
* defaultpen: Pens. (line 49)
* defaultpen <1>: Pens. (line 122)
* defaultpen <2>: Pens. (line 127)
* defaultpen <3>: Pens. (line 139)
-* defaultpen <4>: Pens. (line 192)
-* defaultpen <5>: Pens. (line 363)
-* defaultpen <6>: Pens. (line 387)
+* defaultpen <4>: Pens. (line 245)
+* defaultpen <5>: Pens. (line 416)
+* defaultpen <6>: Pens. (line 440)
* defaultrender: three. (line 46)
* deferred drawing: simplex. (line 6)
+* deferred drawing <1>: simplex2. (line 6)
* degrees: Data types. (line 78)
* degrees <1>: Mathematical functions.
(line 17)
@@ -9442,31 +9608,31 @@ Index
* dir <4>: three. (line 566)
* direction specifier: Bezier curves. (line 6)
* directory: Files. (line 26)
-* dirSpecifier: Paths and guides. (line 390)
+* dirSpecifier: Paths and guides. (line 391)
* dirtime: Paths and guides. (line 166)
* display: Configuring. (line 15)
-* do: Programming. (line 48)
+* do: Programming. (line 49)
* DOSendl: Files. (line 65)
* DOSnewl: Files. (line 65)
-* dot: draw. (line 83)
+* dot: draw. (line 117)
* dot <1>: Data types. (line 103)
* dot <2>: Data types. (line 194)
* dot <3>: Arrays. (line 279)
* dot <4>: Arrays. (line 282)
-* DotMargin: draw. (line 42)
+* DotMargin: draw. (line 83)
* DotMargin3: three. (line 648)
-* DotMargins: draw. (line 42)
+* DotMargins: draw. (line 89)
* DotMargins3: three. (line 648)
* dotted: Pens. (line 102)
* double deferred drawing: three. (line 327)
* double precision: Files. (line 80)
* draw: Drawing commands. (line 34)
* draw <1>: draw. (line 6)
-* Draw: draw. (line 26)
-* draw <2>: draw. (line 113)
-* Draw <1>: Frames and pictures.
- (line 160)
+* draw <2>: draw. (line 147)
+* Draw: Frames and pictures.
+ (line 147)
* draw <3>: three. (line 154)
+* drawer: Deferred drawing. (line 31)
* drawing commands: Drawing commands. (line 6)
* drawline: math. (line 9)
* drawtree: drawtree. (line 6)
@@ -9483,40 +9649,37 @@ Index
* Ei: Mathematical functions.
(line 48)
* ellipse: Paths and guides. (line 45)
-* ellipse <1>: Frames and pictures.
- (line 25)
* elliptic functions: Mathematical functions.
(line 48)
-* else: Programming. (line 26)
+* else: Programming. (line 27)
* emacs: Editing modes. (line 6)
* embed: embed. (line 6)
* Embedded: three. (line 536)
* emissivepen: three. (line 66)
* empty: Frames and pictures.
(line 7)
-* EndArcArrow: draw. (line 26)
+* EndArcArrow: draw. (line 30)
* EndArcArrow3: three. (line 632)
* EndArrow: draw. (line 26)
* EndArrow3: three. (line 632)
* EndBar: draw. (line 19)
* EndBar3: three. (line 632)
-* EndDotMargin: draw. (line 42)
+* EndDotMargin: draw. (line 89)
* EndDotMargin3: three. (line 648)
* endl: Files. (line 65)
-* EndMargin: draw. (line 42)
+* EndMargin: draw. (line 69)
* EndMargin3: three. (line 648)
-* EndPenMargin: draw. (line 42)
+* EndPenMargin: draw. (line 78)
* EndPenMargin2: three. (line 648)
* EndPenMargin3: three. (line 648)
-* EndPoint: label. (line 55)
-* envelope: Frames and pictures.
- (line 25)
+* EndPoint: label. (line 62)
+* envelope: label. (line 111)
* environment variables: Configuring. (line 90)
* eof: Files. (line 97)
* eof <1>: Arrays. (line 364)
* eol: Files. (line 97)
* eol <1>: Arrays. (line 364)
-* EPS: label. (line 78)
+* EPS: label. (line 85)
* EPS <1>: Options. (line 188)
* erase: Drawing in interactive mode.
(line 11)
@@ -9524,7 +9687,7 @@ Index
* erase <2>: Frames and pictures.
(line 7)
* erase <3>: Frames and pictures.
- (line 284)
+ (line 271)
* erf: Mathematical functions.
(line 6)
* erfc: Mathematical functions.
@@ -9572,27 +9735,25 @@ Index
(line 62)
* file: Files. (line 6)
* file <1>: Debugger. (line 44)
-* Fill: draw. (line 26)
-* fill: draw. (line 118)
+* fill: draw. (line 152)
* fill <1>: fill. (line 6)
* fill <2>: fill. (line 17)
-* Fill <1>: Frames and pictures.
- (line 146)
-* FillDraw: draw. (line 26)
+* Fill: Frames and pictures.
+ (line 133)
* filldraw: fill. (line 11)
-* FillDraw <1>: Frames and pictures.
- (line 136)
+* FillDraw: Frames and pictures.
+ (line 123)
* filloutside: fill. (line 27)
* fillrule: Pens. (line 164)
+* filltype: Frames and pictures.
+ (line 122)
* find: Data types. (line 242)
* find <1>: Arrays. (line 158)
* findall: Arrays. (line 163)
* firstcut: Paths and guides. (line 262)
-* fit: Frames and pictures.
- (line 113)
* fit3: three. (line 340)
* fixedscaling: Frames and pictures.
- (line 81)
+ (line 68)
* floor: Mathematical functions.
(line 26)
* flowchart: flowchart. (line 6)
@@ -9600,13 +9761,13 @@ Index
* flush <1>: Files. (line 97)
* fmod: Mathematical functions.
(line 6)
-* font: Pens. (line 206)
-* font <1>: Pens. (line 206)
-* font <2>: Pens. (line 235)
-* font encoding: Pens. (line 235)
-* fontcommand: Pens. (line 219)
-* fontsize: Pens. (line 192)
-* for: Programming. (line 26)
+* font: Pens. (line 259)
+* font <1>: Pens. (line 259)
+* font <2>: Pens. (line 288)
+* font encoding: Pens. (line 288)
+* fontcommand: Pens. (line 272)
+* fontsize: Pens. (line 245)
+* for: Programming. (line 27)
* format: Data types. (line 290)
* format <1>: Options. (line 188)
* forum: Help. (line 6)
@@ -9645,14 +9806,14 @@ Index
* gradient shading: fill. (line 32)
* graph: graph. (line 6)
* graph3: graph3. (line 6)
-* graphic: label. (line 78)
+* graphic: label. (line 85)
* graphic <1>: Options. (line 193)
* graphical user interface: GUI. (line 6)
* graphwithderiv: graph. (line 671)
* gray: Pens. (line 25)
* grayscale: Pens. (line 25)
* Grayscale: palette. (line 9)
-* grid: Pens. (line 285)
+* grid: Pens. (line 338)
* grid <1>: graph. (line 767)
* grid3: grid3. (line 6)
* gs: Configuring. (line 15)
@@ -9664,9 +9825,9 @@ Index
* GUI: GUI. (line 6)
* GUI installation: GUI installation. (line 6)
* GUI usage: GUI usage. (line 6)
-* guide: Paths and guides. (line 314)
+* guide: Paths and guides. (line 315)
* guide3: three. (line 6)
-* hatch: Pens. (line 302)
+* hatch: Pens. (line 355)
* Headlamp: three. (line 76)
* height: LaTeX usage. (line 47)
* help: Interactive mode. (line 42)
@@ -9684,7 +9845,7 @@ Index
* history: Files. (line 147)
* history <1>: Interactive mode. (line 54)
* historylines: Interactive mode. (line 58)
-* HookHead: draw. (line 26)
+* HookHead: draw. (line 50)
* HookHead3: three. (line 632)
* Horizontal: flowchart. (line 77)
* HTML5: three. (line 233)
@@ -9696,6 +9857,8 @@ Index
(line 6)
* I: Mathematical functions.
(line 48)
+* i_scaled: Mathematical functions.
+ (line 48)
* ibl: three. (line 104)
* iconify: three. (line 261)
* identity: Transforms. (line 24)
@@ -9703,9 +9866,9 @@ Index
(line 6)
* identity <2>: Arrays. (line 321)
* identity4: three. (line 504)
-* if: Programming. (line 26)
+* if: Programming. (line 27)
* IgnoreAspect: Frames and pictures.
- (line 63)
+ (line 50)
* image: palette. (line 33)
* image <1>: palette. (line 61)
* image-based lighting: three. (line 104)
@@ -9722,10 +9885,10 @@ Index
* inches: Figure size. (line 18)
* incircle: Data types. (line 120)
* include: Import. (line 131)
-* including images: label. (line 78)
+* including images: label. (line 85)
* increasing: math. (line 55)
* inf: Data types. (line 35)
-* inheritance: Structures. (line 182)
+* inheritance: Structures. (line 124)
* initialized: Arrays. (line 39)
* initializers: Variable initializers.
(line 6)
@@ -9735,7 +9898,7 @@ Index
* input <1>: Files. (line 12)
* input <2>: Interactive mode. (line 45)
* input <3>: Interactive mode. (line 49)
-* input encoding: Pens. (line 235)
+* input encoding: Pens. (line 288)
* insert: Data types. (line 253)
* insert <1>: Arrays. (line 39)
* inside: Paths and guides. (line 294)
@@ -9779,49 +9942,48 @@ Index
* invert: three. (line 494)
* invisible: Pens. (line 43)
* isnan: Data types. (line 35)
-* i_scaled: Mathematical functions.
- (line 48)
* J: Mathematical functions.
(line 6)
* J <1>: Mathematical functions.
(line 48)
-* Japanese: Pens. (line 244)
+* Japanese: Pens. (line 297)
* K: Mathematical functions.
(line 48)
+* k_scaled: Mathematical functions.
+ (line 48)
* Kate: Editing modes. (line 48)
* KDE editor: Editing modes. (line 48)
* keepAspect: Frames and pictures.
- (line 59)
+ (line 46)
* keepAspect <1>: Frames and pictures.
- (line 63)
+ (line 50)
* keepAspect <2>: LaTeX usage. (line 47)
* keyboard bindings:: three. (line 211)
* keys: Arrays. (line 39)
* keyword: Named arguments. (line 37)
* keyword-only: Named arguments. (line 37)
* keywords: Named arguments. (line 6)
-* Korean: Pens. (line 244)
-* k_scaled: Mathematical functions.
- (line 48)
+* Korean: Pens. (line 297)
* label: Labels. (line 6)
-* Label: draw. (line 101)
+* Label: draw. (line 135)
* label <1>: label. (line 6)
-* Label <1>: label. (line 14)
+* Label <1>: label. (line 21)
* Label <2>: graph. (line 331)
* label <2>: three. (line 530)
+* labelmargin: label. (line 6)
* labelpath: labelpath. (line 6)
* labelpath3: labelpath3. (line 6)
* labelx: graph. (line 331)
* labely: graph. (line 331)
* Landscape: Frames and pictures.
- (line 103)
-* language context: Pens. (line 235)
+ (line 90)
+* language context: Pens. (line 288)
* language server protocol: Language server protocol.
(line 6)
* lastcut: Paths and guides. (line 266)
* lasy-mode: Editing modes. (line 6)
* latex: Options. (line 188)
-* LaTeX NFSS fonts: Pens. (line 206)
+* LaTeX NFSS fonts: Pens. (line 259)
* LaTeX usage: LaTeX usage. (line 6)
* latexmk: LaTeX usage. (line 30)
* latitude: Data types. (line 164)
@@ -9831,12 +9993,12 @@ Index
* leastsquares <1>: graph. (line 948)
* Left: graph. (line 270)
* LeftRight: graph. (line 276)
-* LeftSide: label. (line 60)
+* LeftSide: label. (line 67)
* LeftTicks: graph. (line 161)
* LeftTicks <1>: graph. (line 234)
* LeftView: three. (line 452)
* legend: Drawing commands. (line 34)
-* legend <1>: draw. (line 65)
+* legend <1>: draw. (line 99)
* legend <2>: graph. (line 425)
* Legendre: Mathematical functions.
(line 48)
@@ -9844,7 +10006,7 @@ Index
* length <1>: Data types. (line 144)
* length <2>: Data types. (line 239)
* length <3>: Paths and guides. (line 76)
-* length <4>: Paths and guides. (line 373)
+* length <4>: Paths and guides. (line 374)
* length <5>: Arrays. (line 39)
* length <6>: three. (line 566)
* letter: Configuring. (line 63)
@@ -9864,7 +10026,7 @@ Index
* Linear: graph. (line 711)
* linecap: Pens. (line 139)
* linejoin: Pens. (line 149)
-* lineskip: Pens. (line 192)
+* lineskip: Pens. (line 245)
* linetype: Pens. (line 123)
* linewidth: Pens. (line 127)
* locale: Data types. (line 316)
@@ -9883,7 +10045,7 @@ Index
* longdashdotted: Pens. (line 102)
* longdashed: Pens. (line 102)
* longitude: Data types. (line 169)
-* loop: Programming. (line 26)
+* loop: Programming. (line 27)
* LSP: Language server protocol.
(line 6)
* lualatex: Options. (line 188)
@@ -9892,15 +10054,18 @@ Index
(line 6)
* MacOS X configuration: Compiling from UNIX source.
(line 48)
-* makepen: Pens. (line 338)
+* magick: Configuring. (line 69)
+* magick <1>: Files. (line 159)
+* magick <2>: animation. (line 6)
+* magick <3>: Options. (line 188)
+* makepen: Pens. (line 391)
* map: Arrays. (line 135)
* map <1>: Arrays. (line 140)
* map <2>: map. (line 6)
-* Margin: draw. (line 42)
-* Margin <1>: draw. (line 42)
+* Margin: draw. (line 69)
* Margin3: three. (line 648)
* Margin3 <1>: three. (line 648)
-* Margins: draw. (line 42)
+* Margins: draw. (line 70)
* margins: three. (line 333)
* Margins3: three. (line 648)
* mark: graph. (line 481)
@@ -9933,11 +10098,11 @@ Index
* MetaPost pickup: Pens. (line 6)
* MetaPost whatever: MetaPost. (line 10)
* Microsoft Windows: Microsoft Windows. (line 6)
-* MidArcArrow: draw. (line 26)
+* MidArcArrow: draw. (line 30)
* MidArcArrow3: three. (line 632)
* MidArrow: draw. (line 26)
* MidArrow3: three. (line 632)
-* MidPoint: label. (line 55)
+* MidPoint: label. (line 62)
* midpoint: Paths and guides. (line 180)
* min: Paths and guides. (line 275)
* min <1>: Frames and pictures.
@@ -9947,7 +10112,7 @@ Index
* min <4>: three. (line 566)
* minbound: Data types. (line 131)
* minbound <1>: Data types. (line 202)
-* minipage: label. (line 116)
+* minipage: label. (line 125)
* mintimes: Paths and guides. (line 228)
* miterjoin: Pens. (line 149)
* miterlimit: Pens. (line 159)
@@ -9960,8 +10125,8 @@ Index
* mouse: GUI. (line 6)
* mouse bindings: three. (line 192)
* mouse wheel: GUI usage. (line 6)
-* Move: Pens. (line 375)
-* MoveQuiet: Pens. (line 381)
+* Move: Pens. (line 428)
+* MoveQuiet: Pens. (line 434)
* multisample: three. (line 184)
* N: Labels. (line 18)
* name: Files. (line 93)
@@ -9981,58 +10146,58 @@ Index
(line 73)
* next: Debugger. (line 41)
* nobasealign: Pens. (line 181)
-* NoFill: draw. (line 26)
-* NoFill <1>: Frames and pictures.
- (line 154)
+* NoFill: Frames and pictures.
+ (line 141)
* noglobalread: Files. (line 26)
* noglobalread <1>: Files. (line 40)
* nolight: three. (line 76)
-* NoMargin: draw. (line 42)
+* NoMargin: draw. (line 67)
* NoMargin3: three. (line 648)
* None: draw. (line 19)
* None <1>: draw. (line 26)
* none: Files. (line 65)
* normal: three. (line 552)
-* nosafe: Options. (line 211)
+* nosafe: Options. (line 209)
* NOT: Arithmetic & logical.
(line 68)
* notaknot: graph. (line 36)
* NoTicks: graph. (line 161)
* NoTicks3: graph3. (line 35)
* null: Structures. (line 6)
-* nullpen: label. (line 14)
+* nullpen: label. (line 21)
* nullpen <1>: Frames and pictures.
- (line 140)
+ (line 127)
* nullpen <2>: Frames and pictures.
- (line 149)
+ (line 136)
* NURBS: three. (line 432)
* O: three. (line 345)
* obj: obj. (line 6)
+* object: label. (line 111)
* oblique: three. (line 388)
* obliqueX: three. (line 395)
* obliqueY: three. (line 401)
* obliqueZ: three. (line 388)
* ode: ode. (line 6)
* offset: Pens. (line 123)
-* offset <1>: Options. (line 216)
+* offset <1>: Options. (line 214)
* OmitTick: graph. (line 224)
* OmitTickInterval: graph. (line 224)
* OmitTickIntervals: graph. (line 224)
-* opacity: Pens. (line 254)
+* opacity: Pens. (line 307)
* opacity <1>: three. (line 66)
* open: Files. (line 12)
* OpenGL: three. (line 184)
* operator: User-defined operators.
(line 6)
-* operator +(...string[] a).: Data types. (line 284)
* operator --: graph. (line 30)
* operator ..: graph. (line 33)
+* operator +(...string[] a).: Data types. (line 284)
* operator answer: Interactive mode. (line 35)
* operator cast: Casts. (line 38)
* operator ecast: Casts. (line 65)
* operator init: Variable initializers.
(line 6)
-* operator init <1>: Structures. (line 134)
+* operator init <1>: Structures. (line 105)
* operators: Operators. (line 6)
* options: Options. (line 6)
* OR: Arithmetic & logical.
@@ -10040,22 +10205,22 @@ Index
* orient: Data types. (line 108)
* orient <1>: three. (line 583)
* orientation: Frames and pictures.
- (line 103)
+ (line 90)
* orthographic: three. (line 405)
* outformat: three. (line 184)
* outprefix: Frames and pictures.
- (line 91)
+ (line 78)
* output: Files. (line 38)
* output <1>: Options. (line 188)
* OutTicks: graph3. (line 35)
* overloading functions: Functions. (line 55)
-* overwrite: Pens. (line 360)
+* overwrite: Pens. (line 413)
* P: Mathematical functions.
(line 48)
-* pack: label. (line 100)
+* pack: label. (line 109)
* packing: Rest arguments. (line 30)
* pad: Frames and pictures.
- (line 186)
+ (line 173)
* pair: Figure size. (line 6)
* pair <1>: Data types. (line 46)
* pairs: Arrays. (line 245)
@@ -10073,10 +10238,10 @@ Index
* path <2>: three. (line 42)
* path <3>: flowchart. (line 77)
* path markers: graph. (line 481)
+* path[]: Paths. (line 23)
* path3: three. (line 6)
* path3 <1>: three. (line 42)
-* path[]: Paths. (line 23)
-* patterns: Pens. (line 271)
+* patterns: Pens. (line 324)
* patterns <1>: patterns. (line 6)
* PBR: three. (line 74)
* PDF: Options. (line 188)
@@ -10085,10 +10250,10 @@ Index
* pdfviewer: Configuring. (line 15)
* pdfviewerOptions: Options. (line 174)
* pen: Pens. (line 6)
-* PenMargin: draw. (line 42)
+* PenMargin: draw. (line 78)
* PenMargin2: three. (line 648)
* PenMargin3: three. (line 648)
-* PenMargins: draw. (line 42)
+* PenMargins: draw. (line 79)
* PenMargins2: three. (line 648)
* PenMargins3: three. (line 648)
* periodic: graph. (line 36)
@@ -10097,9 +10262,17 @@ Index
* perspective: three. (line 432)
* physically based rendering: three. (line 74)
* picture: Frames and pictures.
- (line 39)
+ (line 26)
* picture alignment: Frames and pictures.
- (line 231)
+ (line 218)
+* picture.add: Deferred drawing. (line 31)
+* picture.addPoint: Deferred drawing. (line 51)
+* picture.calculateTransform: Frames and pictures.
+ (line 105)
+* picture.fit: Frames and pictures.
+ (line 100)
+* picture.scale: Frames and pictures.
+ (line 110)
* piecewisestraight: Paths and guides. (line 92)
* pixel: three. (line 655)
* Pl: Mathematical functions.
@@ -10109,14 +10282,14 @@ Index
* plane: three. (line 371)
* planeproject: three. (line 549)
* point: Paths and guides. (line 95)
-* point <1>: Paths and guides. (line 379)
+* point <1>: Paths and guides. (line 380)
* point <2>: three. (line 566)
* polar: Data types. (line 149)
* polargraph: graph. (line 89)
* polygon: graph. (line 481)
* pop: Arrays. (line 39)
* Portrait: Frames and pictures.
- (line 103)
+ (line 90)
* position: three. (line 76)
* position <1>: three. (line 184)
* postcontrol: Paths and guides. (line 146)
@@ -10124,8 +10297,8 @@ Index
* postfix operators: Self & prefix operators.
(line 19)
* postscript: Frames and pictures.
- (line 297)
-* PostScript fonts: Pens. (line 222)
+ (line 284)
+* PostScript fonts: Pens. (line 275)
* PostScript subpath: Paths. (line 23)
* pow10: Mathematical functions.
(line 6)
@@ -10158,9 +10331,9 @@ Index
(line 6)
* radialshade: fill. (line 52)
* RadialShade: Frames and pictures.
- (line 172)
+ (line 159)
* RadialShadeDraw: Frames and pictures.
- (line 176)
+ (line 163)
* radians: Mathematical functions.
(line 17)
* radius: Paths and guides. (line 135)
@@ -10185,8 +10358,8 @@ Index
* recursion: Functions. (line 100)
* reference: Description. (line 92)
* reflect: Transforms. (line 42)
-* Relative: label. (line 50)
-* Relative <1>: label. (line 60)
+* Relative: label. (line 57)
+* Relative <1>: label. (line 67)
* relpoint: Paths and guides. (line 176)
* reltime: Paths and guides. (line 172)
* remainder: Mathematical functions.
@@ -10196,15 +10369,15 @@ Index
* render <1>: three. (line 184)
* render <2>: Options. (line 188)
* replace: Data types. (line 270)
-* resetdefaultpen: Pens. (line 387)
+* resetdefaultpen: Pens. (line 440)
* rest arguments: Rest arguments. (line 6)
* restore: Frames and pictures.
- (line 291)
+ (line 278)
* restricted: Structures. (line 6)
* return: Debugger. (line 47)
* reverse: Data types. (line 266)
* reverse <1>: Paths and guides. (line 183)
-* reverse <2>: Paths and guides. (line 382)
+* reverse <2>: Paths and guides. (line 383)
* reverse <3>: Arrays. (line 145)
* reverse <4>: three. (line 566)
* rewind: Files. (line 97)
@@ -10215,13 +10388,13 @@ Index
* Riemann zeta function: Mathematical functions.
(line 48)
* Right: graph. (line 273)
-* RightSide: label. (line 60)
+* RightSide: label. (line 67)
* RightTicks: graph. (line 161)
* RightTicks <1>: graph. (line 234)
* RightView: three. (line 452)
-* Rotate: label. (line 36)
+* Rotate: label. (line 43)
* rotate: three. (line 520)
-* Rotate(pair z): label. (line 39)
+* Rotate(pair z): label. (line 46)
* round: Mathematical functions.
(line 26)
* roundcap: Pens. (line 139)
@@ -10231,13 +10404,13 @@ Index
* RPM: UNIX binary distributions.
(line 6)
* runtime imports: Import. (line 102)
-* Russian: Pens. (line 238)
+* Russian: Pens. (line 291)
* S: Labels. (line 18)
-* safe: Options. (line 211)
+* safe: Options. (line 209)
* save: Frames and pictures.
- (line 288)
+ (line 275)
* saveline: Files. (line 139)
-* Scale: label. (line 45)
+* Scale: label. (line 52)
* scale: Pens. (line 123)
* scale <1>: Transforms. (line 34)
* scale <2>: Transforms. (line 36)
@@ -10254,7 +10427,7 @@ Index
* search <1>: Arrays. (line 172)
* search paths: Search paths. (line 6)
* Seascape: Frames and pictures.
- (line 110)
+ (line 97)
* secondary axis: graph. (line 854)
* secondaryX: graph. (line 854)
* secondaryY: graph. (line 854)
@@ -10271,7 +10444,7 @@ Index
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
-* Shift: label. (line 33)
+* Shift: label. (line 40)
* shift: Transforms. (line 26)
* shift <1>: Transforms. (line 28)
* shift <2>: Transforms. (line 46)
@@ -10279,14 +10452,15 @@ Index
* shiftless: Transforms. (line 46)
* shininess: three. (line 66)
* shipout: Frames and pictures.
- (line 91)
+ (line 78)
* showtarget: three. (line 405)
* Si: Mathematical functions.
(line 48)
* signedint: Files. (line 80)
* signedint <1>: Files. (line 93)
-* SimpleHead: draw. (line 26)
+* SimpleHead: draw. (line 50)
* simplex: simplex. (line 6)
+* simplex2: simplex2. (line 6)
* simpson: Mathematical functions.
(line 82)
* sin: Mathematical functions.
@@ -10305,15 +10479,15 @@ Index
* SixViewsUS: three. (line 467)
* size: Figure size. (line 6)
* size <1>: Paths and guides. (line 81)
-* size <2>: Paths and guides. (line 370)
+* size <2>: Paths and guides. (line 371)
* size <3>: Frames and pictures.
- (line 48)
+ (line 35)
* size <4>: Frames and pictures.
- (line 74)
+ (line 61)
* size <5>: three. (line 566)
* size <6>: Options. (line 188)
* size3: three. (line 330)
-* Slant: label. (line 42)
+* Slant: label. (line 49)
* slant: Transforms. (line 38)
* sleep: Data types. (line 376)
* slice: Paths and guides. (line 251)
@@ -10363,19 +10537,19 @@ Index
* string <1>: Data types. (line 312)
* stroke: fill. (line 36)
* stroke <1>: clip. (line 6)
-* strokepath: Paths and guides. (line 309)
+* strokepath: Paths and guides. (line 310)
* strptime: Data types. (line 330)
* struct: Structures. (line 6)
* structures: Structures. (line 6)
* subpath: Paths and guides. (line 186)
* subpath <1>: three. (line 566)
* subpictures: Frames and pictures.
- (line 113)
+ (line 100)
* substr: Data types. (line 262)
* sum: Arrays. (line 220)
* superpath: Paths. (line 23)
-* Suppress: Pens. (line 367)
-* SuppressQuiet: Pens. (line 371)
+* Suppress: Pens. (line 420)
+* SuppressQuiet: Pens. (line 424)
* surface: three. (line 46)
* surface <1>: three. (line 104)
* surface <2>: three. (line 128)
@@ -10384,7 +10558,7 @@ Index
* surface <5>: graph3. (line 128)
* SVG: Options. (line 193)
* system: Data types. (line 354)
-* system <1>: Options. (line 211)
+* system <1>: Options. (line 209)
* syzygy: syzygy. (line 6)
* tab: Files. (line 65)
* tab completion: Drawing in interactive mode.
@@ -10400,24 +10574,24 @@ Index
* template: Templated imports. (line 6)
* tension: Bezier curves. (line 56)
* tension <1>: three. (line 6)
-* tensionSpecifier: Paths and guides. (line 402)
+* tensionSpecifier: Paths and guides. (line 403)
* tensor product shading: fill. (line 78)
* tensorshade: fill. (line 78)
* tessellation: three. (line 154)
* tex: Frames and pictures.
- (line 305)
+ (line 292)
* tex <1>: Options. (line 188)
-* TeX fonts: Pens. (line 213)
+* TeX fonts: Pens. (line 266)
* TeX string: Data types. (line 208)
* texcommand: Configuring. (line 69)
-* TeXHead: draw. (line 26)
+* TeXHead: draw. (line 50)
* TeXHead3: three. (line 632)
* texpath: Configuring. (line 69)
-* texpath <1>: label. (line 113)
+* texpath <1>: label. (line 122)
* texpreamble: Frames and pictures.
- (line 314)
+ (line 301)
* texreset: Frames and pictures.
- (line 318)
+ (line 305)
* textbook graph: graph. (line 361)
* tgz: UNIX binary distributions.
(line 6)
@@ -10433,8 +10607,8 @@ Index
* Ticks: graph. (line 161)
* Ticks <1>: graph. (line 234)
* tildeframe: markers. (line 24)
-* tile: Pens. (line 285)
-* tilings: Pens. (line 271)
+* tile: Pens. (line 338)
+* tilings: Pens. (line 324)
* time: Data types. (line 321)
* time <1>: Data types. (line 346)
* time <2>: math. (line 26)
@@ -10448,7 +10622,7 @@ Index
* transform: Transforms. (line 6)
* transform <1>: three. (line 541)
* transform3: three. (line 504)
-* transparency: Pens. (line 254)
+* transparency: Pens. (line 307)
* transparent: three. (line 97)
* transpose: Arrays. (line 212)
* transpose <1>: Arrays. (line 215)
@@ -10461,22 +10635,21 @@ Index
* trigonometric integrals: Mathematical functions.
(line 48)
* triple: Data types. (line 137)
-* TrueMargin: draw. (line 42)
+* TrueMargin: draw. (line 90)
* TrueMargin3: three. (line 648)
* tube: three. (line 166)
* tube <1>: tube. (line 6)
* tutorial: Tutorial. (line 6)
-* type1cm: Pens. (line 192)
+* type1cm: Pens. (line 245)
* typedef: Data types. (line 385)
* typedef <1>: Functions. (line 46)
* U3D: embed. (line 22)
* undefined: Paths and guides. (line 283)
-* UnFill: draw. (line 26)
* unfill: fill. (line 110)
+* UnFill: Frames and pictures.
+ (line 152)
* UnFill <1>: Frames and pictures.
- (line 165)
-* UnFill <2>: Frames and pictures.
- (line 168)
+ (line 155)
* uniform: Arrays. (line 154)
* uninstall: Uninstall. (line 6)
* unique: math. (line 59)
@@ -10491,7 +10664,7 @@ Index
(line 39)
* unitsize: Figure size. (line 39)
* unitsize <1>: Frames and pictures.
- (line 69)
+ (line 56)
* UNIX binary distributions: UNIX binary distributions.
(line 6)
* unpacking: Rest arguments. (line 39)
@@ -10499,12 +10672,12 @@ Index
* up: three. (line 405)
* update: Files. (line 38)
* UpsideDown: Frames and pictures.
- (line 103)
+ (line 90)
* UpsideDown <1>: Frames and pictures.
- (line 111)
+ (line 98)
* URL: Import. (line 94)
* usepackage: Frames and pictures.
- (line 321)
+ (line 308)
* user coordinates: Figure size. (line 39)
* user-defined operators: User-defined operators.
(line 6)
@@ -10521,7 +10694,7 @@ Index
* vectorfield3: graph3. (line 167)
* vectorization: Arrays. (line 343)
* verbatim: Frames and pictures.
- (line 297)
+ (line 284)
* vertex-dependent colors: three. (line 119)
* Vertical: flowchart. (line 77)
* Viewport: three. (line 76)
@@ -10531,14 +10704,15 @@ Index
* viewportwidth: LaTeX usage. (line 47)
* views: three. (line 279)
* vim: Editing modes. (line 32)
-* virtual functions: Structures. (line 182)
+* virtual functions: Structures. (line 124)
* void: Data types. (line 10)
* W: Labels. (line 18)
+* warn: Configuring. (line 79)
* WebGL: three. (line 233)
* whatever: Paths and guides. (line 246)
* Wheel: palette. (line 22)
* wheel mouse: GUI. (line 6)
-* while: Programming. (line 48)
+* while: Programming. (line 49)
* White: three. (line 76)
* white-space string delimiter mode: Arrays. (line 374)
* width: LaTeX usage. (line 47)
@@ -10589,8 +10763,6 @@ Index
* YZZero: graph3. (line 21)
* Z: three. (line 345)
* zaxis3: graph3. (line 7)
-* zeroTransform: Transforms. (line 44)
-* zerowinding: Pens. (line 164)
* zero_Ai: Mathematical functions.
(line 48)
* zero_Ai_deriv: Mathematical functions.
@@ -10601,6 +10773,8 @@ Index
(line 48)
* zero_J: Mathematical functions.
(line 48)
+* zeroTransform: Transforms. (line 44)
+* zerowinding: Pens. (line 164)
* zeta: Mathematical functions.
(line 48)
* zpart: Data types. (line 191)
@@ -10612,154 +10786,158 @@ Index

Tag Table:
-Node: Top575
-Node: Description7476
-Node: Installation11883
-Node: UNIX binary distributions12969
-Node: MacOS X binary distributions14146
-Node: Microsoft Windows14758
-Node: Configuring15999
-Node: Search paths20514
-Node: Compiling from UNIX source21608
-Node: Editing modes24913
-Node: Git27493
-Node: Uninstall28016
-Node: Tutorial28370
-Node: Drawing in batch mode29241
-Node: Drawing in interactive mode30165
-Node: Figure size31235
-Node: Labels32922
-Node: Paths33814
-Ref: unitcircle34454
-Node: Drawing commands36447
-Node: draw38317
-Ref: arrows39583
-Node: fill45454
-Ref: gradient shading46536
-Node: clip51382
-Node: label52159
-Ref: Label52807
-Node: Bezier curves58904
-Node: Programming62874
-Ref: array iteration64655
-Node: Data types64822
-Ref: format76484
-Node: Paths and guides81156
-Ref: circle81418
-Ref: extension91770
-Node: Pens98944
-Ref: fillrule107085
-Ref: basealign108043
-Ref: transparency111833
-Ref: makepen115557
-Ref: overwrite116463
-Node: Transforms117723
-Node: Frames and pictures119820
-Ref: envelope121038
-Ref: size122155
-Ref: unitsize123222
-Ref: shipout124351
-Ref: filltype126737
-Ref: add130366
-Ref: add about131364
-Ref: tex134482
-Node: Files135393
-Ref: cd136486
-Ref: scroll141634
-Node: Variable initializers144744
-Node: Structures147625
-Node: Operators155455
-Node: Arithmetic & logical155769
-Node: Self & prefix operators158323
-Node: User-defined operators159181
-Node: Implicit scaling160118
-Node: Functions160681
-Ref: stack overflow163826
-Node: Default arguments164112
-Node: Named arguments164884
-Node: Rest arguments167538
-Node: Mathematical functions170695
-Node: Arrays175856
-Ref: sort183954
-Ref: tridiagonal187512
-Ref: solve188827
-Node: Slices193147
-Node: Casts197167
-Node: Import199581
-Node: Templated imports205225
-Node: Static207316
-Node: LaTeX usage210274
-Node: Base modules216875
-Node: plain219382
-Node: simplex220088
-Node: math220369
-Node: interpolate223302
-Node: geometry223593
-Node: trembling224289
-Node: stats224566
-Node: patterns224837
-Node: markers225080
-Node: map226978
-Node: tree227414
-Node: binarytree227598
-Node: drawtree228273
-Node: syzygy228482
-Node: feynman228764
-Node: roundedpath229050
-Node: animation229340
-Ref: animate229789
-Node: embed230965
-Node: slide231975
-Node: MetaPost232318
-Node: babel233094
-Node: labelpath233342
-Node: labelpath3234206
-Node: annotate234533
-Node: CAD235023
-Node: graph235341
-Ref: ticks242957
-Ref: pathmarkers257145
-Ref: marker257619
-Ref: markuniform257989
-Ref: errorbars259896
-Ref: automatic scaling265073
-Node: palette276895
-Ref: images277017
-Ref: image281481
-Ref: logimage282002
-Ref: penimage283112
-Ref: penfunctionimage283375
-Node: three284151
-Ref: PostScript3D316547
-Node: obj318341
-Node: graph3318602
-Ref: GaussianSurface324473
-Node: grid3325651
-Node: solids326487
-Node: tube327511
-Node: flowchart329895
-Node: contour334614
-Node: contour3341216
-Node: smoothcontour3341540
-Node: slopefield343313
-Node: ode344858
-Node: Options345127
-Ref: configuration file353565
-Ref: settings353565
-Ref: texengines354915
-Ref: convert354915
-Node: Interactive mode358471
-Ref: history360700
-Node: GUI362073
-Node: GUI installation362643
-Node: GUI usage363639
-Node: Command-Line Interface364706
-Node: Language server protocol366194
-Node: PostScript to Asymptote367675
-Node: Help368505
-Node: Debugger370235
-Node: Credits372083
-Node: Index373344
+Node: Top573
+Node: Description7668
+Node: Installation12075
+Node: UNIX binary distributions13220
+Node: MacOS X binary distributions14395
+Node: Microsoft Windows15007
+Node: Configuring16247
+Node: Search paths20762
+Node: Compiling from UNIX source21854
+Node: Editing modes25157
+Node: Git27735
+Node: Building the documentation28258
+Node: Uninstall28824
+Node: Tutorial29180
+Node: Drawing in batch mode30051
+Node: Drawing in interactive mode30975
+Node: Figure size32046
+Node: Labels33733
+Node: Paths34625
+Ref: unitcircle35265
+Node: Drawing commands37258
+Node: draw39126
+Ref: arrows40402
+Node: fill46708
+Ref: gradient shading47790
+Node: clip52636
+Node: label53413
+Ref: Label54327
+Ref: baseline58241
+Ref: envelope58977
+Node: Bezier curves60529
+Node: Programming64497
+Ref: array iteration66357
+Node: Data types66524
+Ref: format78182
+Node: Paths and guides82850
+Ref: circle83112
+Ref: extension93464
+Node: Pens100657
+Ref: fillrule108796
+Ref: basealign109754
+Ref: transparency115119
+Ref: makepen118840
+Ref: overwrite119746
+Node: Transforms121005
+Node: Frames and pictures123100
+Ref: size124772
+Ref: unitsize125839
+Ref: shipout126968
+Ref: filltype129354
+Ref: add132983
+Ref: add about133956
+Ref: tex137074
+Node: Deferred drawing137985
+Node: Files141276
+Ref: cd142366
+Ref: scroll147512
+Node: Variable initializers150621
+Node: Structures153502
+Node: Operators158816
+Node: Arithmetic & logical159132
+Node: Self & prefix operators161688
+Node: User-defined operators162548
+Node: Implicit scaling163487
+Node: Functions164050
+Ref: stack overflow167195
+Node: Default arguments167481
+Node: Named arguments168253
+Node: Rest arguments170903
+Node: Mathematical functions174060
+Node: Arrays180924
+Ref: sort189022
+Ref: tridiagonal192580
+Ref: solve193895
+Node: Slices198215
+Node: Casts202235
+Node: Import204649
+Node: Templated imports210291
+Node: Static212185
+Node: LaTeX usage215143
+Node: Base modules221744
+Node: plain224309
+Node: simplex225015
+Node: simplex2225219
+Node: math225488
+Node: interpolate228419
+Node: geometry228710
+Node: trembling229406
+Node: stats229683
+Node: patterns229954
+Node: markers230197
+Node: map232097
+Node: tree232533
+Node: binarytree232717
+Node: drawtree233392
+Node: syzygy233601
+Node: feynman233883
+Node: roundedpath234169
+Node: animation234459
+Ref: animate234907
+Node: embed236083
+Node: slide237093
+Node: MetaPost237436
+Node: babel238212
+Node: labelpath238460
+Node: labelpath3239324
+Node: annotate239651
+Node: CAD240141
+Node: graph240459
+Ref: ticks248075
+Ref: pathmarkers262263
+Ref: marker262737
+Ref: markuniform263103
+Ref: errorbars265010
+Ref: automatic scaling270187
+Node: palette282007
+Ref: images282129
+Ref: image286593
+Ref: logimage287114
+Ref: penimage288224
+Ref: penfunctionimage288487
+Node: three289263
+Ref: PostScript3D321652
+Node: obj323446
+Node: graph3323707
+Ref: GaussianSurface329578
+Node: grid3330756
+Node: solids331592
+Node: tube332616
+Node: flowchart334999
+Node: contour339718
+Node: contour3346318
+Node: smoothcontour3346642
+Node: slopefield348409
+Node: ode349954
+Node: Options350223
+Ref: configuration file358661
+Ref: settings358661
+Ref: texengines360009
+Ref: magick360009
+Node: Interactive mode363404
+Ref: history365633
+Node: GUI367004
+Node: GUI installation367574
+Node: GUI usage368570
+Node: Command-Line Interface369637
+Node: Language server protocol371125
+Node: PostScript to Asymptote372606
+Node: Help373433
+Node: Debugger375163
+Node: Credits377011
+Node: Index378268

End Tag Table