1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
|
% Asymptote 1.79 listings syntex support
% 2008-07-06
\usepackage[hyperref]{xcolor}
\definecolor{bg-color}{rgb}{0.96,1,0.95}
\definecolor{shadecolor}{rgb}{0.96,1,0.95}
\definecolor{txt-color}{HTML}{000000}
\definecolor{builtin}{HTML}{DA70D6}
\definecolor{comment}{HTML}{B22222}
\definecolor{comment-delimiter}{HTML}{B22222}
\definecolor{constant}{HTML}{5F9EA0}
\definecolor{function-name}{HTML}{0000FF}
\definecolor{keyword}{HTML}{a020F0}
\definecolor{string}{HTML}{BC8F8F}
\definecolor{type}{HTML}{228B22}
\definecolor{variable-name}{HTML}{B8860B}
\definecolor{brick}{HTML}{7B0C00}
% keywords 对应 asy-keyword-name
% keywords=[2] 对应 asy-type-name
% keywords=[3] 对应 asy-function-name
% keywords=[4] 对应 asy-variable-name
\usepackage{listings}
% 语言定义
\lstdefinelanguage{Asymptote}{alsoletter={},
sensitive=true,% 大小写
keywords={and, controls, tension, atleast, curl, if, else, while, for, do,
return, break, continue, struct, typedef, new, access, import, unravel,
from, include, quote, static, public, private, restricted, this, explicit,
true, false, null, cycle, newframe, operator},
keywords=[2]{Braid, FitResult, Label, Legend, Rmf, TreeNode, abscissa, arc,
arrowhead, binarytree, binarytreeNode, block, bool, bool3, bounds, bqe,
circle, conic, coord, coordsys, cputime, ellipse, file, filltype, frame,
grid3, guide, horner, hsv, hyperbola, indexedTransform, int, inversion,
key, line, linefit, marginT, marker, mass, object, pair, parabola, path,
path3, pen, picture, point, position, projection, real, revolution, scaleT,
scientific, segment, side, slice, splitface, string, surface,
tensionSpecifier, ticklocate, ticksgridT, tickvalues, transform,
transformation, tree, triangle, trilinear, triple, vector, vertex, void},
keywords=[3]{AND, Arc, ArcArrow, ArcArrows, Arrow, Arrows, Automatic,
AvantGarde, BBox, BWRainbow, BWRainbow2, Bar, Bars, BeginArcArrow,
BeginArrow, BeginBar, BeginDotMargin, BeginMargin, BeginPenMargin, Blank,
Bookman, Bottom, BottomTop, Bounds, Break, Broken, BrokenLog, Ceil, Circle,
CircleBarIntervalMarker, Cos, Courier, CrossIntervalMarker, DefaultFormat,
DefaultLogFormat, Degrees, Dir, DotMargin, DotMargins, Dotted, Draw,
Drawline, Embed, EndArcArrow, EndArrow, EndBar, EndDotMargin, EndMargin,
EndPenMargin, Fill, FillDraw, Floor, Format, Full, Gaussian, Gaussrand,
Gaussrandpair, Gradient, Grayscale, Helvetica, Hermite, HookHead,
InOutTicks, InTicks, J, Label, Landscape, Left, LeftRight, LeftTicks,
Legend, Linear, Link, Log, LogFormat, Margin, Margins, Mark, MidArcArrow,
MidArrow, NOT, NewCenturySchoolBook, NoBox, NoMargin, NoModifier, NoTicks,
NoTicks3, NoZero, NoZeroFormat, None, OR, OmitFormat, OmitTick, OutTicks,
Ox, Oy, Palatino, PaletteTicks, Pen, PenMargin, PenMargins, Pentype,
Portrait, RadialShade, Rainbow, Range, Relative, Right, RightTicks, Rotate,
Round, SQR, Scale, ScaleX, ScaleY, ScaleZ, Seascape, Shift, Sin, Slant,
Spline, StickIntervalMarker, Straight, Symbol, Tan, TeXify, Ticks, Ticks3,
TildeIntervalMarker, TimesRoman, Top, TrueMargin, UnFill, UpsideDown,
Wheel, X, XEquals, XOR, XY, XYEquals, XYZero, XYgrid, XZEquals, XZZero,
XZero, XZgrid, Y, YEquals, YXgrid, YZ, YZEquals, YZZero, YZero, YZgrid, Z,
ZX, ZXgrid, ZYgrid, ZapfChancery, ZapfDingbats, _cputime, _draw, _eval,
_image, _labelpath, _strokepath, _texpath, aCos, aSin, aTan, abort, abs,
accel, acos, acosh, acot, acsc, add, addArrow, addMargins, addSaveFunction,
addnode, addnodes, addpenarc, addpenline, addseg, adjust, alias, align,
all, altitude, angabscissa, angle, angpoint, animate, annotate,
anticomplementary, antipedal, apply, approximate, arc, arcarrowsize,
arccircle, arcdir, arcfromcenter, arcfromfocus, arclength, arcnodesnumber,
arcpoint, arcsubtended, arcsubtendedcenter, arctime, arctopath, array,
arrow, arrow2, arrowbase, arrowbasepoints, arrowsize, asec, asin, asinh,
ask, assert, asy, asycode, asydir, asyfigure, asyfilecode, asyinclude,
asywrite, atan, atan2, atanh, atbreakpoint, atexit, atime, attach, attract,
atupdate, autoformat, autoscale, autoscale3, axes, axes3, axialshade, axis,
axiscoverage, azimuth, babel, background, bangles, bar, barmarksize,
barsize, basealign, baseline, bbox, beep, begin, beginclip, begingroup,
beginpoint, between, bevel, bezier, bezierP, bezierPP, bezierPPP, bezulate,
bibliography, bibliographystyle, binarytree, binarytreeNode, binomial,
binput, bins, bisector, bisectorpoint, bispline, blend, boutput, box, bqe,
breakpoint, breakpoints, brick, buildRestoreDefaults, buildRestoreThunk,
buildcycle, bulletcolor, canonical, canonicalcartesiansystem,
cartesiansystem, case1, case2, case3, cbrt, cd, ceil, center,
centerToFocus, centroid, cevian, change2, changecoordsys, checkSegment,
checkconditionlength, checker, checklengths, checkposition, checktriangle,
choose, circle, circlebarframe, circlemarkradius, circlenodesnumber,
circumcenter, circumcircle, clamped, clear, clip, clipdraw, close, cmyk,
code, colatitude, collect, collinear, color, colorless, colors, colorspace,
comma, compassmark, complement, complementary, concat, concurrent, cone,
conic, conicnodesnumber, conictype, conj, connect, containmentTree,
contains, contour, contour3, controlSpecifier, convert, coordinates,
coordsys, copy, cos, cosh, cot, countIntersections, cputime, crop,
cropcode, cross, crossframe, crosshatch, crossmarksize, csc, csv,
cubicroots, curabscissa, curlSpecifier, curpoint, currentarrow,
currentexitfunction, currentmomarrow, currentpolarconicroutine, curve, cut,
cutafter, cutbefore, cyclic, cylinder, debugger, deconstruct, defaultdir,
defaultformat, defaultpen, defaultspline, defined, degenerate, degrees,
delete, deletepreamble, determinant, diagonal, diamond, diffdiv, dimension,
dir, dirSpecifier, dirtime, display, distance, divisors, do_overpaint, dot,
dotframe, dotsize, downcase, draw, drawAll, drawDoubleLine, drawFermion,
drawGhost, drawGluon, drawMomArrow, drawPhoton, drawScalar, drawVertex,
drawVertexBox, drawVertexBoxO, drawVertexBoxX, drawVertexO, drawVertexOX,
drawVertexTriangle, drawVertexTriangleO, drawVertexX, drawarrow,
drawarrow2, drawline, drawtick, duplicate, elle, ellipse,
ellipsenodesnumber, embed, embed3, empty, enclose, end, endScript, endclip,
endgroup, endl, endpoint, endpoints, eof, eol, equation, equations, erase,
erf, erfc, error, errorbar, errorbars, eval, excenter, excircle, exit,
exitXasyMode, exitfunction, exp, expfactors, expi, expm1, exradius, extend,
extension, extouch, fabs, factorial, fermat, fft, fhorner, figure, file,
filecode, fill, filldraw, filloutside, fillrule, filltype, find, finite,
finiteDifferenceJacobian, firstcut, firstframe, fit, fixedscaling, floor,
flush, fmdefaults, fmod, focusToCenter, font, fontcommand, fontsize, foot,
format, frac, frequency, fromCenter, fromFocus, fspline, functionshade,
gamma, generate_random_backtrace, generateticks, gergonne, getc, getint,
getpair, getreal, getstring, gettriple, gluon, gouraudshade, graph,
graphic, gray, grestore, grid, grid3, gsave, halfbox, hatch, hdiffdiv,
hermite, hex, histogram, history, hline, hprojection, hsv, hyperbola,
hyperbolanodesnumber, hyperlink, hypot, identity, image, incenter,
incentral, incircle, increasing, incrementposition, indexedTransform,
initXasyMode, initdefaults, input, inradius, insert, inside, integrate,
interactive, interior, interp, interpolate, intersect, intersection,
intersectionpoint, intersectionpoints, intersections, intouch, inverse,
inversion, invisible, is3D, isDuplicate, isogonal, isogonalconjugate,
isotomic, isotomicconjugate, isparabola, italic, item, key, kurtosis,
kurtosisexcess, label, labelaxis, labelmargin, labelpath, labels,
labeltick, labelx, labelx3, labely, labely3, labelz, labelz3, lastcut,
latex, latitude, latticeshade, layer, layout, ldexp, leastsquares, legend,
legenditem, length, lift, limits, line, linear, linecap, linejoin,
linemargin, lineskip, linetype, linewidth, link, list, lm_enorm,
lm_evaluate_default, lm_lmdif, lm_lmpar, lm_minimize, lm_print_default,
lm_print_quiet, lm_qrfac, lm_qrsolv, locale, locate, locatefile, location,
log, log10, log1p, logaxiscoverage, longitude, lookup, magnetize, makeNode,
makedraw, makepen, map, margin, markangle, markangleradius, markanglespace,
markarc, marker, markinterval, marknodes, markrightangle, markuniform,
mass, masscenter, massformat, math, max, max3, maxbound, maxcoords,
maxlength, maxratio, maxtimes, mean, medial, median, midpoint, min, min3,
minbound, minipage, minratio, mintimes, miterlimit, momArrowPath,
momarrowsize, monotonic, nativeformat, natural, needshipout, newl, newpage,
newslide, newton, newtree, nextframe, nextnormal, nextpage, nib,
nodabscissa, none, normalvideo, notaknot, numberpage, nurb, object, offset,
onpath, opacity, opposite, orientation, orig_circlenodesnumber,
orig_circlenodesnumber1, orig_draw, orig_ellipsenodesnumber,
orig_ellipsenodesnumber1, orig_hyperbolanodesnumber,
orig_parabolanodesnumber, origin, orthic, orthocentercenter, outformat,
outline, outprefix, output, overwrite, pack, pad, pairs, palette, parabola,
parabolanodesnumber, parallel, partialsum, path, path3, pattern, pause,
pdf, pedal, periodic, perp, perpendicular, perpendicularmark, phantom,
phi1, phi2, phi3, photon, piecewisestraight, point, polar,
polarconicroutine, polargraph, polygon, postcontrol, postscript, pow10,
ppoint, prc, prc0, precision, precontrol, prepend, print_random_addresses,
project, projection, purge, pwhermite, quadrant, quadraticroots, quantize,
quarticroots, quotient, radialshade, radians, radicalcenter, radicalline,
radius, rand, randompath, rd, read1, read2, read3, readline, realmult,
realquarticroots, rectangle, rectangular, rectify, reflect, relabscissa,
relative, relativedistance, reldir, relpoint, reltime, remainder, remark,
removeDuplicates, rename, replace, report, rescale, rescale2,
resetdefaultpen, restore, restoredefaults, reverse, reversevideo, rf,
rfind, rgb, rgba, rgbint, rmf, rms, rotate, rotateO, rotation, round,
roundbox, roundedpath, roundrectangle, samecoordsys, sameside, sample,
save, savedefaults, saveline, scale, scale3, scaleO, scaleT, scaleless,
scientific, search, searchtree, sec, secondaryX, secondaryY, seconds,
section, sector, seek, seekeof, segment, sequence, setpens, sgn, sgnd,
sharpangle, sharpdegrees, shift, shiftless, shipout, shipout3, show, side,
simeq, simpson, sin, single, sinh, size, size3, skewness, skip, slant,
sleep, slope, slopefield, solve, solveBVP, sort, sourceline, sphere, split,
sqrt, square, srand, standardizecoordsys, startScript, startTrembling,
stdev, step, stickframe, stickmarksize, stickmarkspace, stop, straight,
straightness, string, stripdirectory, stripextension, stripfile,
strokepath, subdivide, subitem, subpath, substr, sum, surface, symmedial,
symmedian, system, tab, tableau, tan, tangent, tangential, tangents, tanh,
tell, tensionSpecifier, tensorshade, tex, texcolor, texify, texpath,
texpreamble, texreset, texshipout, texsize, textpath, thick, thin, tick,
tickMax, tickMax3, tickMin, tickMin3, ticklabelshift, ticklocate,
tildeframe, tildemarksize, tile, tiling, time, times, title, titlepage,
topbox, transform, transformation, transpose, tremble, trembleFuzz,
tremble_circlenodesnumber, tremble_circlenodesnumber1, tremble_draw,
tremble_ellipsenodesnumber, tremble_ellipsenodesnumber1,
tremble_hyperbolanodesnumber, tremble_marknodes, tremble_markuniform,
tremble_parabolanodesnumber, triangle, triangleAbc, triangleabc,
triangulate, tricoef, tridiagonal, trilinear, trim, trueMagnetize,
truepoint, tube, uncycle, unfill, uniform, unit, unitrand, unitsize,
unityroot, unstraighten, upcase, updatefunction, upscale, uptodate,
usepackage, usersetting, usetypescript, usleep, value, variance,
variancebiased, vbox, vector, vectorfield, verbatim, view, vline,
vprojection, windingnumber, word, write, xaxis, xaxis3, xaxis3At, xaxisAt,
xequals, xinput, xlimits, xoutput, xpart, xscale, xscaleO, xtick, xtick3,
xtrans, yaxis, yaxis3, yaxis3At, yaxisAt, yequals, ylimits, ypart, yscale,
yscaleO, ytick, ytick3, ytrans, zaxis3, zaxis3At, zero, zero3, zlimits,
zpart, ztick, ztick3, ztrans},
keywords=[4]{AliceBlue, Align, Allow, AntiqueWhite, Apricot, Aqua,
Aquamarine, Aspect, Azure, BeginPoint, Beige, Bisque, Bittersweet, Black,
BlanchedAlmond, Blue, BlueGreen, BlueViolet, Both, Break, BrickRed, Brown,
BurlyWood, BurntOrange, CCW, CW, CadetBlue, CarnationPink, Center,
Centered, Cerulean, Chartreuse, Chocolate, Coeff, Coral, CornflowerBlue,
Cornsilk, Crimson, Crop, Cyan, Dandelion, DarkBlue, DarkCyan,
DarkGoldenrod, DarkGray, DarkGreen, DarkKhaki, DarkMagenta, DarkOliveGreen,
DarkOrange, DarkOrchid, DarkRed, DarkSalmon, DarkSeaGreen, DarkSlateBlue,
DarkSlateGray, DarkTurquoise, DarkViolet, DeepPink, DeepSkyBlue,
DefaultHead, DimGray, DodgerBlue, Dotted, Draw, E, ENE, EPS, ESE, E_Euler,
E_PC, E_RK2, E_RK3BS, Emerald, EndPoint, Euler, Fill, FillDraw, FireBrick,
FloralWhite, ForestGreen, Fuchsia, Gainsboro, GhostWhite, Gold, Goldenrod,
Gray, Green, GreenYellow, Honeydew, HookHead, Horizontal, HotPink, I,
IgnoreAspect, IndianRed, Indigo, Ivory, JOIN_IN, JOIN_OUT, JungleGreen,
Khaki, LM_DWARF, LM_MACHEP, LM_SQRT_DWARF, LM_SQRT_GIANT, LM_USERTOL,
Label, Lavender, LavenderBlush, LawnGreen, LeftJustified, LeftSide,
LemonChiffon, LightBlue, LightCoral, LightCyan, LightGoldenrodYellow,
LightGreen, LightGrey, LightPink, LightSalmon, LightSeaGreen, LightSkyBlue,
LightSlateGray, LightSteelBlue, LightYellow, Lime, LimeGreen, Linear,
Linen, Log, Logarithmic, Magenta, Mahogany, Mark, MarkFill, Maroon, Max,
MediumAquamarine, MediumBlue, MediumOrchid, MediumPurple, MediumSeaGreen,
MediumSlateBlue, MediumSpringGreen, MediumTurquoise, MediumVioletRed,
Melon, MidPoint, MidnightBlue, Min, MintCream, MistyRose, Moccasin, Move,
MoveQuiet, Mulberry, N, NE, NNE, NNW, NW, NavajoWhite, Navy, NavyBlue,
NoAlign, NoCrop, NoFill, NoSide, OldLace, Olive, OliveDrab, OliveGreen,
Orange, OrangeRed, Orchid, Ox, Oy, PC, PaleGoldenrod, PaleGreen,
PaleTurquoise, PaleVioletRed, PapayaWhip, Peach, PeachPuff, Periwinkle,
Peru, PineGreen, Pink, Plum, PowderBlue, ProcessBlue, Purple, RK2, RK3,
RK3BS, RK4, RK5, RK5DP, RK5F, RawSienna, Red, RedOrange, RedViolet,
Rhodamine, RightJustified, RightSide, RosyBrown, RoyalBlue, RoyalPurple,
RubineRed, S, SE, SSE, SSW, SW, SaddleBrown, Salmon, SandyBrown, SeaGreen,
Seashell, Sepia, Sienna, Silver, SimpleHead, SkyBlue, SlateBlue, SlateGray,
Snow, SpringGreen, SteelBlue, Suppress, SuppressQuiet, Tan, TeXHead, Teal,
TealBlue, Thistle, Ticksize, Tomato, Turquoise, UnFill, VERSION, Value,
Vertical, Violet, VioletRed, W, WNW, WSW, Wheat, White, WhiteSmoke,
WildStrawberry, XYAlign, YAlign, Yellow, YellowGreen, YellowOrange,
addpenarc, addpenline, align, allowstepping, angularsystem, animationdelay,
appendsuffix, arcarrowangle, arcarrowfactor, arrow2sizelimit, arrowangle,
arrowbarb, arrowdir, arrowfactor, arrowhookfactor, arrowlength,
arrowsizelimit, arrowtexfactor, authorpen, axis, axiscoverage,
axislabelfactor, background, backgroundcolor, backgroundpen, barfactor,
barmarksizefactor, basealign, baselinetemplate, beveljoin, bigvertexpen,
bigvertexsize, black, blue, bm, bottom, bp, brown, bullet, byfoci,
byvertices, camerafactor, chartreuse, circlemarkradiusfactor,
circlenodesnumberfactor, circleprecision, circlescale, cm, codefile,
codepen, codeskip, colorPen, coloredNodes, coloredSegments,
conditionlength, conicnodesfactor, count, cputimeformat,
crossmarksizefactor, currentcoordsys, currentpatterns, currentpen,
currentpicture, currentposition, currentprojection, curvilinearsystem,
cuttings, cyan, darkblue, darkbrown, darkcyan, darkgray, darkgreen,
darkgrey, darkmagenta, darkolive, darkred, dashdotted, dashed, datepen,
dateskip, debuggerlines, debugging, deepblue, deepcyan, deepgray,
deepgreen, deepgrey, deepmagenta, deepred, default, defaultControl,
defaultS, defaultbackpen, defaultcoordsys, defaultfilename, defaultformat,
defaultmassformat, defaultpen, diagnostics, differentlengths, dot,
dotfactor, dotframe, dotted, doublelinepen, doublelinespacing, down,
duplicateFuzz, ellipsenodesnumberfactor, eps, epsgeo, epsilon, evenodd,
extendcap, fermionpen, figureborder, figuremattpen, firstnode, firststep,
foregroundcolor, fuchsia, fuzz, gapfactor, ghostpen, gluonamplitude,
gluonpen, gluonratio, gray, green, grey, hatchepsilon, havepagenumber,
heavyblue, heavycyan, heavygray, heavygreen, heavygrey, heavymagenta,
heavyred, hline, hwratio, hyperbolanodesnumberfactor, identity4, ignore,
inXasyMode, inch, inches, includegraphicscommand, inf, infinity,
institutionpen, intMax, intMin, invert, invisible, itempen, itemskip,
itemstep, labelmargin, landscape, lastnode, left, legendhskip,
legendlinelength, legendmargin, legendmarkersize, legendmaxrelativewidth,
legendvskip, lightblue, lightcyan, lightgray, lightgreen, lightgrey,
lightmagenta, lightolive, lightred, lightyellow, linemargin, lm_infmsg,
lm_shortmsg, longdashdotted, longdashed, magenta, magneticPoints,
magneticRadius, mantissaBits, markangleradius, markangleradiusfactor,
markanglespace, markanglespacefactor, mediumblue, mediumcyan, mediumgray,
mediumgreen, mediumgrey, mediummagenta, mediumred, mediumyellow, middle,
minDistDefault, minblockheight, minblockwidth, mincirclediameter,
minipagemargin, minipagewidth, minvertexangle, miterjoin, mm,
momarrowfactor, momarrowlength, momarrowmargin, momarrowoffset,
momarrowpen, monoPen, morepoints, nCircle, newbulletcolor, ngraph, nil,
nmesh, nobasealign, nodeMarginDefault, nodesystem, nomarker, nopoint,
noprimary, nullpath, nullpen, numarray, ocgindex, oldbulletcolor, olive,
orange, origin, overpaint, page, pageheight, pagemargin, pagenumberalign,
pagenumberpen, pagenumberposition, pagewidth, paleblue, palecyan, palegray,
palegreen, palegrey, palemagenta, palered, paleyellow,
parabolanodesnumberfactor, perpfactor, phi, photonamplitude, photonpen,
photonratio, pi, pink, plain, plus, preamblenodes, pt, purple, r3, r4a,
r4b, randMax, realDigits, realEpsilon, realMax, realMin, red,
relativesystem, reverse, right, roundcap, roundjoin, royalblue, salmon,
saveFunctions, scalarpen, sequencereal, settings, shipped,
signedtrailingzero, solid, springgreen, sqrtEpsilon, squarecap, squarepen,
startposition, stdin, stdout, stepfactor, stepfraction, steppagenumberpen,
stepping, stickframe, stickmarksizefactor, stickmarkspacefactor, textpen,
ticksize, tildeframe, tildemarksizefactor, tinv, titlealign, titlepagepen,
titlepageposition, titlepen, titleskip, top, trailingzero, treeLevelStep,
treeMinNodeWidth, treeNodeStep, trembleAngle, trembleFrequency,
trembleRandom, tremblingMode, undefined, unitcircle, unitsquare, up,
urlpen, urlskip, version, vertexpen, vertexsize, viewportmargin,
viewportsize, vline, white, wye, xformStack, yellow, ylabelwidth,
zerotickfuzz, zerowinding},
% otherkeywords={!,@,\$,\%,+,-,^,=,>,<,->,
% --,..,**,::,\@\@,\$\$,---,...},% 运算符等,但小心会与注释冲突
morecomment=[l]{//},% 注释
morecomment=[s]{/*}{*/},% 注释
morestring=[b]",% 字符串
morestring=[b]',% 字符串
}
% 定义别名
\lstalias{asy}{Asymptote}
\lstset{%extendedchars=false,% 解决中文跨页出错的问题;对 xetex 无用
language={Asymptote},
basewidth={.5em},
basicstyle={\ttfamily},
keywordstyle={\color{keyword}},
keywordstyle=[2]{\color{type}},
keywordstyle=[3]{\color{function-name}},
keywordstyle=[4]{\color{variable-name}},
commentstyle={\color{comment}},
stringstyle={\color{string}},
xleftmargin={2em},
xrightmargin={2em},
tabsize=8,
backgroundcolor={\color{shadecolor}},
% numbers=left,
numberstyle=\tiny,
stepnumber=1,
numbersep=5pt}
%
\lstdefinestyle{lesscolor}{keywordstyle={\color{keyword!50!black}},
keywordstyle=[2]{\color{type!50!black}},
keywordstyle=[3]{\color{function-name!50!black}},
keywordstyle=[4]{\color{variable-name!50!black}},
commentstyle={\color{comment!50!black}},
stringstyle={\color{string!50!black}}}
%
\def\oldvert{|} % 保存字符 | 的旧定义(其 catcode 在此定义读入时已确定)
\lstMakeShortInline[style=lesscolor]\|
\def\inlinecode{\expandafter\lstinline[style=lesscolor]}
\endinput
% vim:tw=77:
|