# HG changeset patch
# User Pantxo Diribarne <pantxo.diribarne@gmail.com>
# Date 1617134924 -7200
#      Tue Mar 30 22:08:44 2021 +0200
# Node ID fade650e869d9a9570278aae69de3e5a7270e982
# Parent  11a8c8e0ad14b6843e5d19b1897979b013e5aafd
[mq]: doc_single_page

diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/arith.txi
--- a/doc/interpreter/arith.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/arith.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -47,33 +47,34 @@
 @node Exponents and Logarithms
 @section Exponents and Logarithms
 
-@DOCSTRING(exp)
+@ref{XREFexp, , @code{exp}}: Compute 'e^x' for each element of X.
 
-@DOCSTRING(expm1)
+@ref{XREFexpm1, , @code{expm1}}: Compute 'exp (X) - 1' accurately in the neighborhood of zero.
 
-@DOCSTRING(log)
+@ref{XREFlog, , @code{log}}: Compute the natural logarithm, 'ln (X)', for each element of X.
 
-@DOCSTRING(reallog)
+@ref{XREFreallog, , @code{reallog}}: Return the real-valued natural logarithm of each element of X.
 
-@DOCSTRING(log1p)
+@ref{XREFlog1p, , @code{log1p}}: Compute 'log (1 + X)' accurately in the neighborhood of zero.
 
-@DOCSTRING(log10)
+@ref{XREFlog10, , @code{log10}}: Compute the base-10 logarithm of each element of X.
 
-@DOCSTRING(log2)
+@ref{XREFlog2, , @code{log2}}: Compute the base-2 logarithm of each element of X.
 
-@DOCSTRING(pow2)
+@ref{XREFpow2, , @code{pow2}}: With one input argument, compute 2 .^ x for each element of X.
 
-@DOCSTRING(nextpow2)
+@ref{XREFnextpow2, , @code{nextpow2}}: Compute the exponent for the smallest power of two larger than the
+input.
 
-@DOCSTRING(realpow)
+@ref{XREFrealpow, , @code{realpow}}: Compute the real-valued, element-by-element power operator.
 
-@DOCSTRING(sqrt)
+@ref{XREFsqrt, , @code{sqrt}}: Compute the square root of each element of X.
 
-@DOCSTRING(realsqrt)
+@ref{XREFrealsqrt, , @code{realsqrt}}: Return the real-valued square root of each element of X.
 
-@DOCSTRING(cbrt)
+@ref{XREFcbrt, , @code{cbrt}}: Compute the real cube root of each element of X.
 
-@DOCSTRING(nthroot)
+@ref{XREFnthroot, , @code{nthroot}}: Compute the real (non-complex) N-th root of X.
 
 @node Complex Arithmetic
 @section Complex Arithmetic
@@ -88,17 +89,18 @@
 defined as @code{sqrt (-1)}.
 @end ifnottex
 
-@DOCSTRING(abs)
+@ref{XREFabs, , @code{abs}}: Compute the magnitude of Z.
 
-@DOCSTRING(arg)
+@ref{XREFarg, , @code{arg}}: Compute the argument, i.e., angle of Z.
 
-@DOCSTRING(conj)
+@ref{XREFconj, , @code{conj}}: Return the complex conjugate of Z.
 
-@DOCSTRING(cplxpair)
+@ref{XREFcplxpair, , @code{cplxpair}}: Sort the numbers Z into complex conjugate pairs ordered by increasing
+real pa...
 
-@DOCSTRING(imag)
+@ref{XREFimag, , @code{imag}}: Return the imaginary part of Z as a real number.
 
-@DOCSTRING(real)
+@ref{XREFreal, , @code{real}}: Return the real part of Z.
 
 @node Trigonometry
 @section Trigonometry
@@ -136,38 +138,38 @@
 It should be noted that @sc{matlab} uses different definitions which apparently
 do not distinguish -0.
 
-@DOCSTRING(deg2rad)
-@DOCSTRING(rad2deg)
+@ref{XREFdeg2rad, , @code{deg2rad}}: Convert degrees to radians.
+@ref{XREFrad2deg, , @code{rad2deg}}: Convert radians to degrees.
 
-@DOCSTRING(sin)
-@DOCSTRING(cos)
-@DOCSTRING(tan)
-@DOCSTRING(sec)
-@DOCSTRING(csc)
-@DOCSTRING(cot)
+@ref{XREFsin, , @code{sin}}: Compute the sine for each element of X in radians.
+@ref{XREFcos, , @code{cos}}: Compute the cosine for each element of X in radians.
+@ref{XREFtan, , @code{tan}}: Compute the tangent for each element of X in radians.
+@ref{XREFsec, , @code{sec}}: Compute the secant for each element of X in radians.
+@ref{XREFcsc, , @code{csc}}: Compute the cosecant for each element of X in radians.
+@ref{XREFcot, , @code{cot}}: Compute the cotangent for each element of X in radians.
 
-@DOCSTRING(asin)
-@DOCSTRING(acos)
-@DOCSTRING(atan)
-@DOCSTRING(asec)
-@DOCSTRING(acsc)
-@DOCSTRING(acot)
+@ref{XREFasin, , @code{asin}}: Compute the inverse sine in radians for each element of X.
+@ref{XREFacos, , @code{acos}}: Compute the inverse cosine in radians for each element of X.
+@ref{XREFatan, , @code{atan}}: Compute the inverse tangent in radians for each element of X.
+@ref{XREFasec, , @code{asec}}: Compute the inverse secant in radians for each element of X.
+@ref{XREFacsc, , @code{acsc}}: Compute the inverse cosecant in radians for each element of X.
+@ref{XREFacot, , @code{acot}}: Compute the inverse cotangent in radians for each element of X.
 
-@DOCSTRING(sinh)
-@DOCSTRING(cosh)
-@DOCSTRING(tanh)
-@DOCSTRING(sech)
-@DOCSTRING(csch)
-@DOCSTRING(coth)
+@ref{XREFsinh, , @code{sinh}}: Compute the hyperbolic sine for each element of X.
+@ref{XREFcosh, , @code{cosh}}: Compute the hyperbolic cosine for each element of X.
+@ref{XREFtanh, , @code{tanh}}: Compute hyperbolic tangent for each element of X.
+@ref{XREFsech, , @code{sech}}: Compute the hyperbolic secant of each element of X.
+@ref{XREFcsch, , @code{csch}}: Compute the hyperbolic cosecant of each element of X.
+@ref{XREFcoth, , @code{coth}}: Compute the hyperbolic cotangent of each element of X.
 
-@DOCSTRING(asinh)
-@DOCSTRING(acosh)
-@DOCSTRING(atanh)
-@DOCSTRING(asech)
-@DOCSTRING(acsch)
-@DOCSTRING(acoth)
+@ref{XREFasinh, , @code{asinh}}: Compute the inverse hyperbolic sine for each element of X.
+@ref{XREFacosh, , @code{acosh}}: Compute the inverse hyperbolic cosine for each element of X.
+@ref{XREFatanh, , @code{atanh}}: Compute the inverse hyperbolic tangent for each element of X.
+@ref{XREFasech, , @code{asech}}: Compute the inverse hyperbolic secant of each element of X.
+@ref{XREFacsch, , @code{acsch}}: Compute the inverse hyperbolic cosecant of each element of X.
+@ref{XREFacoth, , @code{acoth}}: Compute the inverse hyperbolic cotangent of each element of X.
 
-@DOCSTRING(atan2)
+@ref{XREFatan2, , @code{atan2}}: Compute atan (Y / X) for corresponding elements of Y and X.
 
 Octave provides the following trigonometric functions where angles are
 specified in degrees.  These functions produce true zeros at the appropriate
@@ -183,194 +185,214 @@
 @end group
 @end example
 
-@DOCSTRING(sind)
-@DOCSTRING(cosd)
-@DOCSTRING(tand)
-@DOCSTRING(secd)
-@DOCSTRING(cscd)
-@DOCSTRING(cotd)
+@ref{XREFsind, , @code{sind}}: Compute the sine for each element of X in degrees.
+@ref{XREFcosd, , @code{cosd}}: Compute the cosine for each element of X in degrees.
+@ref{XREFtand, , @code{tand}}: Compute the tangent for each element of X in degrees.
+@ref{XREFsecd, , @code{secd}}: Compute the secant for each element of X in degrees.
+@ref{XREFcscd, , @code{cscd}}: Compute the cosecant for each element of X in degrees.
+@ref{XREFcotd, , @code{cotd}}: Compute the cotangent for each element of X in degrees.
 
-@DOCSTRING(asind)
-@DOCSTRING(acosd)
-@DOCSTRING(atand)
-@DOCSTRING(atan2d)
-@DOCSTRING(asecd)
-@DOCSTRING(acscd)
-@DOCSTRING(acotd)
+@ref{XREFasind, , @code{asind}}: Compute the inverse sine in degrees for each element of X.
+@ref{XREFacosd, , @code{acosd}}: Compute the inverse cosine in degrees for each element of X.
+@ref{XREFatand, , @code{atand}}: Compute the inverse tangent in degrees for each element of X.
+@ref{XREFatan2d, , @code{atan2d}}: Compute atan (Y / X) in degrees for corresponding elements from Y and X.
+@ref{XREFasecd, , @code{asecd}}: Compute the inverse secant in degrees for each element of X.
+@ref{XREFacscd, , @code{acscd}}: Compute the inverse cosecant in degrees for each element of X.
+@ref{XREFacotd, , @code{acotd}}: Compute the inverse cotangent in degrees for each element of X.
 
 Finally, there are two trigonometric functions that calculate special
 arguments with increased accuracy.
 
-@DOCSTRING(sinpi)
-@DOCSTRING(cospi)
+@ref{XREFsinpi, , @code{sinpi}}: Compute sine (X * pi) for each element of X accurately.
+@ref{XREFcospi, , @code{cospi}}: Compute cosine (X * pi) for each element of X accurately.
 
 @node Sums and Products
 @section Sums and Products
 
-@DOCSTRING(sum)
+@ref{XREFsum, , @code{sum}}: Sum of elements along dimension DIM.
 
-@DOCSTRING(prod)
+@ref{XREFprod, , @code{prod}}: Product of elements along dimension DIM.
 
-@DOCSTRING(cumsum)
+@ref{XREFcumsum, , @code{cumsum}}: Cumulative sum of elements along dimension DIM.
 
-@DOCSTRING(cumprod)
+@ref{XREFcumprod, , @code{cumprod}}: Cumulative product of elements along dimension DIM.
 
-@DOCSTRING(sumsq)
+@ref{XREFsumsq, , @code{sumsq}}: Sum of squares of elements along dimension DIM.
 
 @node Utility Functions
 @section Utility Functions
 
-@DOCSTRING(ceil)
+@ref{XREFceil, , @code{ceil}}: Return the smallest integer not less than X.
 
-@DOCSTRING(fix)
+@ref{XREFfix, , @code{fix}}: Truncate fractional portion of X and return the integer portion.
 
-@DOCSTRING(floor)
+@ref{XREFfloor, , @code{floor}}: Return the largest integer not greater than X.
 
-@DOCSTRING(round)
+@ref{XREFround, , @code{round}}: Return the integer nearest to X.
 
-@DOCSTRING(roundb)
+@ref{XREFroundb, , @code{roundb}}: Return the integer nearest to X.
 
-@DOCSTRING(max)
+@ref{XREFmax, , @code{max}}: Find maximum values in the array X.
 
-@DOCSTRING(min)
+@ref{XREFmin, , @code{min}}: Find minimum values in the array X.
 
-@DOCSTRING(cummax)
+@ref{XREFcummax, , @code{cummax}}: Return the cumulative maximum values along dimension DIM.
 
-@DOCSTRING(cummin)
+@ref{XREFcummin, , @code{cummin}}: Return the cumulative minimum values along dimension DIM.
 
-@DOCSTRING(hypot)
-
-@DOCSTRING(gradient)
+@ref{XREFhypot, , @code{hypot}}: Compute the element-by-element square root of the sum of the squares of
+X and...
 
-@DOCSTRING(dot)
+@ref{XREFgradient, , @code{gradient}}: Calculate the gradient of sampled data or a function.
 
-@DOCSTRING(cross)
+@ref{XREFdot, , @code{dot}}: Compute the dot product of two vectors.
+
+@ref{XREFcross, , @code{cross}}: Compute the vector cross product of two 3-dimensional vectors X and Y.
 
-@DOCSTRING(divergence)
+@ref{XREFdivergence, , @code{divergence}}: Calculate divergence of a vector field given by the arrays FX, FY, and
+FZ or ...
 
-@DOCSTRING(curl)
-
-@DOCSTRING(del2)
+@ref{XREFcurl, , @code{curl}}: Calculate curl of vector field given by the arrays FX, FY, and FZ or FX,
+FY r...
 
-@DOCSTRING(factorial)
+@ref{XREFdel2, , @code{del2}}: Calculate the discrete Laplace operator.
+
+@ref{XREFfactorial, , @code{factorial}}: Return the factorial of N where N is a real non-negative integer.
 
-@DOCSTRING(factor)
+@ref{XREFfactor, , @code{factor}}: Return the prime factorization of Q.
 
-@DOCSTRING(gcd)
+@ref{XREFgcd, , @code{gcd}}: Compute the greatest common divisor of A1, A2, ....
 
-@DOCSTRING(lcm)
+@ref{XREFlcm, , @code{lcm}}: Compute the least common multiple of X and Y, or of the list of all
+arguments.
 
-@DOCSTRING(rem)
+@ref{XREFrem, , @code{rem}}: Return the remainder of the division 'X / Y'.
 
-@DOCSTRING(mod)
+@ref{XREFmod, , @code{mod}}: Compute the modulo of X and Y.
 
-@DOCSTRING(primes)
+@ref{XREFprimes, , @code{primes}}: Return all primes up to N.
 
-@DOCSTRING(list_primes)
+@ref{XREFlist_primes, , @code{list_primes}}: List the first N primes.
 
-@DOCSTRING(sign)
+@ref{XREFsign, , @code{sign}}: Compute the "signum" function.
 
-@DOCSTRING(signbit)
+@ref{XREFsignbit, , @code{signbit}}: Return logical true if the value of X has its sign bit set and false
+otherwise.
 
 @node Special Functions
 @section Special Functions
 
-@DOCSTRING(airy)
+@ref{XREFairy, , @code{airy}}: Compute Airy functions of the first and second kind, and their
+derivatives.
 
-@DOCSTRING(besselj)
-
-@DOCSTRING(bessely)
+@ref{XREFbesselj, , @code{besselj}}: Compute Bessel functions of the first kind.
 
-@DOCSTRING(besseli)
+@ref{XREFbessely, , @code{bessely}}: Compute Bessel functions of the second kind.
 
-@DOCSTRING(besselk)
+@ref{XREFbesseli, , @code{besseli}}: Compute modified Bessel functions of the first kind.
 
-@DOCSTRING(besselh)
+@ref{XREFbesselk, , @code{besselk}}: Compute modified Bessel functions of the second kind.
 
-@DOCSTRING(beta)
+@ref{XREFbesselh, , @code{besselh}}: Compute Bessel functions of the third kind (Hankel functions).
 
-@DOCSTRING(betainc)
+@ref{XREFbeta, , @code{beta}}: Compute the Beta function for real inputs A and B.
 
-@DOCSTRING(betaincinv)
+@ref{XREFbetainc, , @code{betainc}}: Compute the incomplete beta function.
 
-@DOCSTRING(betaln)
+@ref{XREFbetaincinv, , @code{betaincinv}}: Compute the inverse of the normalized incomplete beta function.
 
-@DOCSTRING(bincoeff)
+@ref{XREFbetaln, , @code{betaln}}: Compute the natural logarithm of the Beta function for real inputs A and
+B.
 
-@DOCSTRING(commutation_matrix)
+@ref{XREFbincoeff, , @code{bincoeff}}: Return the binomial coefficient of N and K.
 
-@DOCSTRING(cosint)
+@ref{XREFcommutation_matrix, , @code{commutation_matrix}}: Return the commutation matrix K(m,n) which is the unique M*N by M*N
+matrix su...
 
-@DOCSTRING(duplication_matrix)
+@ref{XREFcosint, , @code{cosint}}: Compute the cosine integral function:
 
-@DOCSTRING(dawson)
+@ref{XREFduplication_matrix, , @code{duplication_matrix}}: Return the duplication matrix Dn which is the unique n^2 by n*(n+1)/2
+matrix ...
 
-@DOCSTRING(ellipj)
-
-@DOCSTRING(ellipke)
+@ref{XREFdawson, , @code{dawson}}: Compute the Dawson (scaled imaginary error) function.
 
-@DOCSTRING(erf)
-
-@DOCSTRING(erfc)
+@ref{XREFellipj, , @code{ellipj}}: Compute the Jacobi elliptic functions SN, CN, and DN of complex argument
+U an...
 
-@DOCSTRING(erfcx)
+@ref{XREFellipke, , @code{ellipke}}: Compute complete elliptic integrals of the first K(M) and second E(M)
+kind.
 
-@DOCSTRING(erfi)
+@ref{XREFerf, , @code{erf}}: Compute the error function.
+
+@ref{XREFerfc, , @code{erfc}}: Compute the complementary error function.
 
-@DOCSTRING(erfinv)
+@ref{XREFerfcx, , @code{erfcx}}: Compute the scaled complementary error function.
+
+@ref{XREFerfi, , @code{erfi}}: Compute the imaginary error function.
 
-@DOCSTRING(erfcinv)
+@ref{XREFerfinv, , @code{erfinv}}: Compute the inverse error function.
 
-@DOCSTRING(expint)
+@ref{XREFerfcinv, , @code{erfcinv}}: Compute the inverse complementary error function.
 
-@DOCSTRING(gamma)
+@ref{XREFexpint, , @code{expint}}: Compute the exponential integral.
 
-@DOCSTRING(gammainc)
+@ref{XREFgamma, , @code{gamma}}: Compute the Gamma function.
 
-@DOCSTRING(gammaincinv)
+@ref{XREFgammainc, , @code{gammainc}}: Compute the normalized incomplete gamma function.
 
-@DOCSTRING(legendre)
+@ref{XREFgammaincinv, , @code{gammaincinv}}: Compute the inverse of the normalized incomplete gamma function.
+
+@ref{XREFlegendre, , @code{legendre}}: Compute the associated Legendre function of degree N and order M = 0 ...
 
 @anchor{XREFgammaln}
-@DOCSTRING(lgamma)
+@ref{XREFlgamma, , @code{lgamma}}: Return the natural logarithm of the gamma function of X.
 
-@DOCSTRING(psi)
+@ref{XREFpsi, , @code{psi}}: Compute the psi (polygamma) function.
 
-@DOCSTRING(sinint)
+@ref{XREFsinint, , @code{sinint}}: Compute the sine integral function:
 
 @node Rational Approximations
 @section Rational Approximations
 
-@DOCSTRING(rat)
+@ref{XREFrat, , @code{rat}}: Find a rational approximation of X to within the tolerance defined by
+TOL.
 
-@DOCSTRING(rats)
+@ref{XREFrats, , @code{rats}}: Convert X into a rational approximation represented as a string.
 
 @node Coordinate Transformations
 @section Coordinate Transformations
 
-@DOCSTRING(cart2pol)
+@ref{XREFcart2pol, , @code{cart2pol}}: Transform Cartesian coordinates to polar or cylindrical coordinates.
 
-@DOCSTRING(pol2cart)
+@ref{XREFpol2cart, , @code{pol2cart}}: Transform polar or cylindrical coordinates to Cartesian coordinates.
 
-@DOCSTRING(cart2sph)
+@ref{XREFcart2sph, , @code{cart2sph}}: Transform Cartesian coordinates to spherical coordinates.
 
-@DOCSTRING(sph2cart)
+@ref{XREFsph2cart, , @code{sph2cart}}: Transform spherical coordinates to Cartesian coordinates.
 
 @node Mathematical Constants
 @section Mathematical Constants
 
-@DOCSTRING(e)
+@ref{XREFe, , @code{e}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
 
-@DOCSTRING(pi)
+@ref{XREFpi, , @code{pi}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
 
-@DOCSTRING(I)
+@ref{XREFI, , @code{I}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
 
-@DOCSTRING(Inf)
+@ref{XREFInf, , @code{Inf}}: Return a scalar, matrix or N-dimensional array whose elements are all
+equal t...
 
-@DOCSTRING(NaN)
+@ref{XREFNaN, , @code{NaN}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
 
-@DOCSTRING(eps)
+@ref{XREFeps, , @code{eps}}: Return a scalar, matrix or N-dimensional array whose elements are all
+eps, th...
 
-@DOCSTRING(realmax)
+@ref{XREFrealmax, , @code{realmax}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
 
-@DOCSTRING(realmin)
+@ref{XREFrealmin, , @code{realmin}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/audio.txi
--- a/doc/interpreter/audio.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/audio.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -36,18 +36,21 @@
 information about audio files.  Various formats are supported including
 wav, flac and ogg vorbis.
 
-@DOCSTRING(audioinfo)
+@ref{XREFaudioinfo, , @code{audioinfo}}: Return information about an audio file specified by FILENAME.
 
-@DOCSTRING(audioread)
+@ref{XREFaudioread, , @code{audioread}}: Read the audio file FILENAME and return the audio data Y and sampling
+rate FS.
 
-@DOCSTRING(audiowrite)
+@ref{XREFaudiowrite, , @code{audiowrite}}: Write audio data from the matrix Y to FILENAME at sampling rate FS with
+the f...
 
-@DOCSTRING(audioformats)
+@ref{XREFaudioformats, , @code{audioformats}}: Display information about all supported audio formats.
 
 @node Audio Device Information
 @section Audio Device Information
 
-@DOCSTRING(audiodevinfo)
+@ref{XREFaudiodevinfo, , @code{audiodevinfo}}: Return a structure describing the available audio input and output
+devices.
 
 @node Audio Player
 @section Audio Player
@@ -58,7 +61,8 @@
 from various devices available to the system, blocking and non-blocking
 playback, convenient pausing and resuming and much more.
 
-@DOCSTRING(@audioplayer/audioplayer)
+@ref{XREF@@audioplayer/audioplayer, , @code{@@audioplayer/audioplayer}}: Create an audioplayer object that will play back data Y at sample rate
+FS.
 
 @menu
 * Playback::
@@ -70,17 +74,19 @@
 
 The following methods are used to control player playback.
 
-@DOCSTRING(@audioplayer/play)
+@ref{XREF@@audioplayer/play, , @code{@@audioplayer/play}}: Play audio stored in the audioplayer object PLAYER without blocking.
 
-@DOCSTRING(@audioplayer/playblocking)
+@ref{XREF@@audioplayer/playblocking, , @code{@@audioplayer/playblocking}}: Play audio stored in the audioplayer object PLAYER with blocking.
 
-@DOCSTRING(@audioplayer/pause)
+@ref{XREF@@audioplayer/pause, , @code{@@audioplayer/pause}}: Pause the audioplayer PLAYER.
 
-@DOCSTRING(@audioplayer/resume)
+@ref{XREF@@audioplayer/resume, , @code{@@audioplayer/resume}}: Resume playback for the paused audioplayer object PLAYER.
 
-@DOCSTRING(@audioplayer/stop)
+@ref{XREF@@audioplayer/stop, , @code{@@audioplayer/stop}}: Stop the playback for the audioplayer PLAYER and reset the relevant
+variables...
 
-@DOCSTRING(@audioplayer/isplaying)
+@ref{XREF@@audioplayer/isplaying, , @code{@@audioplayer/isplaying}}: Return true if the audioplayer object PLAYER is currently playing back
+audio ...
 
 @node Player Properties
 @subsection Properties
@@ -88,9 +94,9 @@
 The remaining couple of methods are used to get and set various
 properties of the audioplayer object.
 
-@DOCSTRING(@audioplayer/get)
+@ref{XREF@@audioplayer/get, , @code{@@audioplayer/get}}: Return the VALUE of the property identified by NAME.
 
-@DOCSTRING(@audioplayer/set)
+@ref{XREF@@audioplayer/set, , @code{@@audioplayer/set}}: Set the value of property specified by NAME to a given VALUE.
 
 @node Audio Recorder
 @section Audio Recorder
@@ -102,7 +108,8 @@
 data.  Methods for blocking and non-blocking recording, pausing and
 resuming recording and much more is available.
 
-@DOCSTRING(@audiorecorder/audiorecorder)
+@ref{XREF@@audiorecorder/audiorecorder, , @code{@@audiorecorder/audiorecorder}}: Create an audiorecorder object recording 8 bit mono audio at 8000 Hz
+sample r...
 
 @menu
 * Recording::
@@ -115,17 +122,19 @@
 
 The following methods control the recording process.
 
-@DOCSTRING(@audiorecorder/record)
+@ref{XREF@@audiorecorder/record, , @code{@@audiorecorder/record}}: Record audio without blocking using the audiorecorder object RECORDER
+until s...
 
-@DOCSTRING(@audiorecorder/recordblocking)
+@ref{XREF@@audiorecorder/recordblocking, , @code{@@audiorecorder/recordblocking}}: Record audio with blocking (synchronous I/O).
 
-@DOCSTRING(@audiorecorder/pause)
+@ref{XREF@@audiorecorder/pause, , @code{@@audiorecorder/pause}}: Pause recording with audiorecorder object RECORDER.
 
-@DOCSTRING(@audiorecorder/resume)
+@ref{XREF@@audiorecorder/resume, , @code{@@audiorecorder/resume}}: Resume recording with the paused audiorecorder object RECORDER.
 
-@DOCSTRING(@audiorecorder/stop)
+@ref{XREF@@audiorecorder/stop, , @code{@@audiorecorder/stop}}: Stop the audiorecorder object RECORDER and clean up any audio streams.
 
-@DOCSTRING(@audiorecorder/isrecording)
+@ref{XREF@@audiorecorder/isrecording, , @code{@@audiorecorder/isrecording}}: Return true if the audiorecorder object RECORDER is currently recording
+audio...
 
 @node Data Retrieval
 @subsection Data Retrieval
@@ -133,11 +142,14 @@
 The following methods allow you to retrieve recorded audio data in
 various ways.
 
-@DOCSTRING(@audiorecorder/getaudiodata)
+@ref{XREF@@audiorecorder/getaudiodata, , @code{@@audiorecorder/getaudiodata}}: Return recorder audio data as a matrix with values between -1.0 and 1.0
+and w...
 
-@DOCSTRING(@audiorecorder/getplayer)
+@ref{XREF@@audiorecorder/getplayer, , @code{@@audiorecorder/getplayer}}: Return an audioplayer object with data recorded by the audiorecorder
+object R...
 
-@DOCSTRING(@audiorecorder/play)
+@ref{XREF@@audiorecorder/play, , @code{@@audiorecorder/play}}: Play the audio recorded in RECORDER and return a corresponding
+audioplayer ob...
 
 @node Recorder Properties
 @subsection Properties
@@ -145,9 +157,9 @@
 The remaining two methods allow you to read or alter the properties of
 audiorecorder objects.
 
-@DOCSTRING(@audiorecorder/get)
+@ref{XREF@@audiorecorder/get, , @code{@@audiorecorder/get}}: Return the VALUE of the property identified by NAME.
 
-@DOCSTRING(@audiorecorder/set)
+@ref{XREF@@audiorecorder/set, , @code{@@audiorecorder/set}}: Set the value of property specified by NAME to a given VALUE.
 
 @node Audio Data Processing
 @section Audio Data Processing
@@ -174,12 +186,14 @@
 files holding data in mu-law encoding end in @file{au}, @file{mu}, or
 @file{snd}.
 
-@DOCSTRING(lin2mu)
+@ref{XREFlin2mu, , @code{lin2mu}}: Convert audio data from linear to mu-law.
 
-@DOCSTRING(mu2lin)
+@ref{XREFmu2lin, , @code{mu2lin}}: Convert audio data from mu-law to linear.
 
-@DOCSTRING(record)
+@ref{XREFrecord, , @code{record}}: Record SEC seconds of audio from the system's default audio input at a
+sampli...
 
-@DOCSTRING(sound)
+@ref{XREFsound, , @code{sound}}: Play audio data Y at sample rate FS to the default audio device.
 
-@DOCSTRING(soundsc)
+@ref{XREFsoundsc, , @code{soundsc}}: Scale the audio data Y and play it at sample rate FS to the default
+audio dev...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/basics.txi
--- a/doc/interpreter/basics.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/basics.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -301,11 +301,12 @@
 about the command line, including the number of arguments and all of the
 options.
 
-@DOCSTRING(argv)
+@ref{XREFargv, , @code{argv}}: Return the command line arguments passed to Octave.
 
-@DOCSTRING(program_name)
+@ref{XREFprogram_name, , @code{program_name}}: Return the last component of the value returned by
+'program_invocation_name'.
 
-@DOCSTRING(program_invocation_name)
+@ref{XREFprogram_invocation_name, , @code{program_invocation_name}}: Return the name that was typed at the shell prompt to run Octave.
 
 Here is an example of using these functions to reproduce the command
 line which invoked Octave.
@@ -423,9 +424,9 @@
 workspace variables or cleanup temporary files may be placed there.  Additional
 functions to execute on shutdown may be registered with @code{atexit}.
 
-@DOCSTRING(quit)
+@ref{XREFquit, , @code{quit}}: Quit the current Octave session.
 
-@DOCSTRING(atexit)
+@ref{XREFatexit, , @code{atexit}}: Register a function to be called when Octave exits.
 
 @node Getting Help
 @section Commands for Getting Help
@@ -440,50 +441,59 @@
 functions and variables.  @xref{Function Files}, for more information
 about how to document the functions you write.
 
-@DOCSTRING(help)
+@ref{XREFhelp, , @code{help}}: Display the help text for NAME.
 
-@DOCSTRING(doc)
+@ref{XREFdoc, , @code{doc}}: Display documentation for the function FUNCTION_NAME directly from an
+online ...
 
-@DOCSTRING(lookfor)
+@ref{XREFlookfor, , @code{lookfor}}: Search for the string STR in the documentation of all functions in the
+curren...
 
 To see what is new in the current release of Octave, use the @code{news}
 function.
 
-@DOCSTRING(news)
+@ref{XREFnews, , @code{news}}: Display the current NEWS file for Octave or an installed package.
 
-@DOCSTRING(info)
+@ref{XREFinfo, , @code{info}}: Display contact information for the GNU Octave community.
 
-@DOCSTRING(warranty)
+@ref{XREFwarranty, , @code{warranty}}: Describe the conditions for copying and distributing Octave.
 
 The following functions can be used to change which programs are used
 for displaying the documentation, and where the documentation can be
 found.
 
-@DOCSTRING(info_file)
+@ref{XREFinfo_file, , @code{info_file}}: Query or set the internal variable that specifies the name of the Octave
+info...
 
-@DOCSTRING(info_program)
+@ref{XREFinfo_program, , @code{info_program}}: Query or set the internal variable that specifies the name of the info
+progra...
 
-@DOCSTRING(makeinfo_program)
+@ref{XREFmakeinfo_program, , @code{makeinfo_program}}: Query or set the internal variable that specifies the name of the
+program tha...
 
-@DOCSTRING(texi_macros_file)
+@ref{XREFtexi_macros_file, , @code{texi_macros_file}}: Query or set the internal variable that specifies the name of the file
+contai...
 
-@DOCSTRING(doc_cache_file)
+@ref{XREFdoc_cache_file, , @code{doc_cache_file}}: Query or set the internal variable that specifies the name of the Octave
+docu...
 
-@DOCSTRING(built_in_docstrings_file)
+@ref{XREFbuilt_in_docstrings_file, , @code{built_in_docstrings_file}}: Query or set the internal variable that specifies the name of the file
+contai...
 
-@DOCSTRING(suppress_verbose_help_message)
+@ref{XREFsuppress_verbose_help_message, , @code{suppress_verbose_help_message}}: Query or set the internal variable that controls whether Octave will add
+addi...
 
 The following functions are principally used internally by Octave for
 generating the documentation.  They are documented here for completeness
 and because they may occasionally be useful for users.
 
-@DOCSTRING(doc_cache_create)
+@ref{XREFdoc_cache_create, , @code{doc_cache_create}}: Generate documentation cache for all functions in DIRECTORY.
 
-@DOCSTRING(get_help_text)
+@ref{XREFget_help_text, , @code{get_help_text}}: Return the raw help text of function NAME.
 
-@DOCSTRING(get_help_text_from_file)
+@ref{XREFget_help_text_from_file, , @code{get_help_text_from_file}}: Return the raw help text from the file FNAME.
 
-@DOCSTRING(get_first_help_sentence)
+@ref{XREFget_first_help_sentence, , @code{get_first_help_sentence}}: Return the first sentence of a function's help text.
 
 @node Command Line Editing
 @section Command Line Editing
@@ -589,7 +599,7 @@
 The function @code{clc} will allow you to clear the screen from within
 Octave programs.
 
-@DOCSTRING(clc)
+@ref{XREFclc, , @code{clc}}: Clear the terminal screen and move the cursor to the upper left corner.
 
 @node Killing and Yanking
 @subsection Killing and Yanking
@@ -693,9 +703,10 @@
 List the possible completions of the text before the cursor.
 @end table
 
-@DOCSTRING(completion_append_char)
+@ref{XREFcompletion_append_char, , @code{completion_append_char}}: Query or set the internal character variable that is appended to
+successful c...
 
-@DOCSTRING(completion_matches)
+@ref{XREFcompletion_matches, , @code{completion_matches}}: Generate possible completions given HINT.
 
 @node Commands for History
 @subsection Commands for Manipulating the History
@@ -748,27 +759,34 @@
 list, Octave provides three functions for viewing, editing, and
 re-running chunks of commands from the history list.
 
-@DOCSTRING(history)
+@ref{XREFhistory, , @code{history}}: If invoked with no arguments, 'history' displays a list of commands that
+you ...
 
-@DOCSTRING(edit_history)
+@ref{XREFedit_history, , @code{edit_history}}: Edit the history list using the editor named by the variable 'EDITOR'.
 
-@DOCSTRING(run_history)
+@ref{XREFrun_history, , @code{run_history}}: Run commands from the history list.
 
 @noindent
 Octave also allows you customize the details of when, where, and how history
 is saved.
 
-@DOCSTRING(history_save)
+@ref{XREFhistory_save, , @code{history_save}}: Query or set the internal variable that controls whether commands
+entered on ...
 
-@DOCSTRING(history_control)
+@ref{XREFhistory_control, , @code{history_control}}: Query or set the internal variable that specifies how commands are saved
+to t...
 
-@DOCSTRING(history_file)
+@ref{XREFhistory_file, , @code{history_file}}: Query or set the internal variable that specifies the name of the file
+used t...
 
-@DOCSTRING(history_size)
+@ref{XREFhistory_size, , @code{history_size}}: Query or set the internal variable that specifies how many entries to
+store i...
 
-@DOCSTRING(history_timestamp_format_string)
+@ref{XREFhistory_timestamp_format_string, , @code{history_timestamp_format_string}}: Query or set the internal variable that specifies the format string for
+the c...
 
-@DOCSTRING(EDITOR)
+@ref{XREFEDITOR, , @code{EDITOR}}: Query or set the internal variable that specifies the default text
+editor.
 
 @node Customizing readline
 @subsection Customizing @code{readline}
@@ -785,9 +803,9 @@
 Octave provides two commands for initializing Readline and thereby changing
 the command line behavior.
 
-@DOCSTRING(readline_read_init_file)
+@ref{XREFreadline_read_init_file, , @code{readline_read_init_file}}: Read the readline library initialization file FILE.
 
-@DOCSTRING(readline_re_read_init_file)
+@ref{XREFreadline_re_read_init_file, , @code{readline_re_read_init_file}}: Re-read the last readline library initialization file that was read.
 
 @node Customizing the Prompt
 @subsection Customizing the Prompt
@@ -845,11 +863,12 @@
 A backslash.
 @end table
 
-@DOCSTRING(PS1)
+@ref{XREFPS1, , @code{PS1}}: Query or set the primary prompt string.
 
-@DOCSTRING(PS2)
+@ref{XREFPS2, , @code{PS2}}: Query or set the secondary prompt string.
 
-@DOCSTRING(PS4)
+@ref{XREFPS4, , @code{PS4}}: Query or set the character string used to prefix output produced when
+echoing...
 
 @node Diary and Echo Commands
 @subsection Diary and Echo Commands
@@ -863,13 +882,14 @@
 interactive session by recording the input you type and the output that
 Octave produces in a separate file.
 
-@DOCSTRING(diary)
+@ref{XREFdiary, , @code{diary}}: Record a list of all commands _and_ the output they produce, mixed
+together j...
 
 Sometimes it is useful to see the commands in a function or script as
 they are being evaluated.  This can be especially helpful for debugging
 some kinds of problems.
 
-@DOCSTRING(echo)
+@ref{XREFecho, , @code{echo}}: Control whether commands are displayed as they are executed.
 
 @node Errors
 @section How Octave Reports Errors
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/container.txi
--- a/doc/interpreter/container.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/container.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -176,9 +176,11 @@
 @code{print_struct_array_contents} may be used to enable printing of the
 contents of structure arrays.
 
-@DOCSTRING(struct_levels_to_print)
+@ref{XREFstruct_levels_to_print, , @code{struct_levels_to_print}}: Query or set the internal variable that specifies the number of
+structure lev...
 
-@DOCSTRING(print_struct_array_contents)
+@ref{XREFprint_struct_array_contents, , @code{print_struct_array_contents}}: Query or set the internal variable that specifies whether to print
+struct arr...
 
 Functions can return structures.  For example, the following function
 separates the real and complex parts of a matrix and stores them in two
@@ -505,33 +507,38 @@
 @end group
 @end example
 
-@DOCSTRING(struct)
+@ref{XREFstruct, , @code{struct}}: Create a scalar or array structure and initialize its values.
 
 The function @code{isstruct} can be used to test if an object is a
 structure or a structure array.
 
-@DOCSTRING(isstruct)
+@ref{XREFisstruct, , @code{isstruct}}: Return true if X is a structure or a structure array.
 
 @node Manipulating Structures
 @subsection Manipulating Structures
 
 Other functions that can manipulate the fields of a structure are given below.
 
-@DOCSTRING(numfields)
-
-@DOCSTRING(fieldnames)
+@ref{XREFnumfields, , @code{numfields}}: Return the number of fields of the structure S.
 
-@DOCSTRING(isfield)
+@ref{XREFfieldnames, , @code{fieldnames}}: Return a cell array of strings with the names of the fields in the
+specified ...
 
-@DOCSTRING(setfield)
+@ref{XREFisfield, , @code{isfield}}: Return true if the X is a structure and it includes an element named
+NAME.
 
-@DOCSTRING(getfield)
+@ref{XREFsetfield, , @code{setfield}}: Return a _copy_ of the structure S with the field member FIELD set to
+the val...
 
-@DOCSTRING(rmfield)
+@ref{XREFgetfield, , @code{getfield}}: Get the value of the field named FIELD from a structure or nested
+structure S.
 
-@DOCSTRING(orderfields)
+@ref{XREFrmfield, , @code{rmfield}}: Return a _copy_ of the structure (array) S with the field F removed.
 
-@DOCSTRING(substruct)
+@ref{XREForderfields, , @code{orderfields}}: Return a _copy_ of S1 with fields arranged alphabetically, or as
+specified by...
+
+@ref{XREFsubstruct, , @code{substruct}}: Create a subscript structure for use with 'subsref' or 'subsasgn'.
 
 @node Processing Data in Structures
 @subsection Processing Data in Structures
@@ -545,9 +552,9 @@
 Alternatively, to process the data in a structure, the structure might
 be converted to another type of container before being treated.
 
-@DOCSTRING(struct2cell)
+@ref{XREFstruct2cell, , @code{struct2cell}}: Create a new cell array from the objects stored in the struct object.
 
-@DOCSTRING(namedargs2cell)
+@ref{XREFnamedargs2cell, , @code{namedargs2cell}}: Create a cell array of field name/value pairs from a scalar structure.
 
 @node containers.Map
 @section containers.Map
@@ -559,7 +566,8 @@
 @c        other container types, how to perform basic operations with a Map.
 
 @c FIXME: Currently have trouble getting documentation for classdef functions.
-@DOCSTRING(containers.Map)
+@ref{XREFcontainers_Map, , @code{containers.Map}}: Create an object of the containers.Map class that stores a list of
+key/value ...
 
 @node Cell Arrays
 @section Cell Arrays
@@ -645,7 +653,7 @@
 them by their index, and this can be performed by the @code{celldisp}
 function.
 
-@DOCSTRING(celldisp)
+@ref{XREFcelldisp, , @code{celldisp}}: Recursively display the contents of a cell array.
 
 To test if an object is a cell array, use the @code{iscell}
 function.  For example:
@@ -661,7 +669,7 @@
 @end group
 @end example
 
-@DOCSTRING(iscell)
+@ref{XREFiscell, , @code{iscell}}: Return true if X is a cell array object.
 
 @node Creating Cell Arrays
 @subsection Creating Cell Arrays
@@ -713,17 +721,18 @@
 object, such as @ref{XREFlength,,length}, @ref{XREFnumel,, numel},
 @ref{XREFrows,,rows}, and @ref{XREFcolumns,,columns}.
 
-@DOCSTRING(cell)
+@ref{XREFcell, , @code{cell}}: Create a new cell array object.
 
 As an alternative to creating empty cell arrays, and then filling them, it
 is possible to convert numerical arrays into cell arrays using the
 @code{num2cell}, @code{mat2cell} and @code{cellslices} functions.
 
-@DOCSTRING(num2cell)
+@ref{XREFnum2cell, , @code{num2cell}}: Convert the numeric matrix A to a cell array.
 
-@DOCSTRING(mat2cell)
+@ref{XREFmat2cell, , @code{mat2cell}}: Convert the matrix A to a cell array.
 
-@DOCSTRING(cellslices)
+@ref{XREFcellslices, , @code{cellslices}}: Given an array X, this function produces a cell array of slices from the
+arra...
 
 @node Indexing Cell Arrays
 @subsection Indexing Cell Arrays
@@ -862,7 +871,7 @@
 indexing to the objects within each cell array entry and returns the requested
 values.
 
-@DOCSTRING(cellindexmat)
+@ref{XREFcellindexmat, , @code{cellindexmat}}: Perform indexing of matrices in a cell array.
 
 @node Cell Arrays of Strings
 @subsection Cell Arrays of Strings
@@ -891,7 +900,8 @@
 @end group
 @end example
 
-@DOCSTRING(cellstr)
+@ref{XREFcellstr, , @code{cellstr}}: Create a new cell array object from the elements of the string array
+STRMAT.
 
 One further advantage of using cell arrays to store multiple strings is
 that most functions for string manipulations included with Octave
@@ -923,7 +933,8 @@
 The function @code{iscellstr} can be used to test if an object is a
 cell array of strings.
 
-@DOCSTRING(iscellstr)
+@ref{XREFiscellstr, , @code{iscellstr}}: Return true if every element of the cell array CELL is a character
+string.
 
 @node Processing Data in Cell Arrays
 @subsection Processing Data in Cell Arrays
@@ -939,9 +950,10 @@
 a matrix or a data structure.  Depending on the data this is possible
 using the @code{cell2mat} and @code{cell2struct} functions.
 
-@DOCSTRING(cell2mat)
+@ref{XREFcell2mat, , @code{cell2mat}}: Convert the cell array C into a matrix by concatenating all elements of
+C int...
 
-@DOCSTRING(cell2struct)
+@ref{XREFcell2struct, , @code{cell2struct}}: Convert CELL to a structure.
 
 @node Comma Separated Lists
 @section Comma Separated Lists
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/data.txi
--- a/doc/interpreter/data.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/data.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -32,7 +32,7 @@
 @ref{User-defined Data Types} describes what you must do to define a
 new data type for Octave.
 
-@DOCSTRING(typeinfo)
+@ref{XREFtypeinfo, , @code{typeinfo}}: Return the type of the expression EXPR, as a string.
 
 @menu
 * Built-in Data Types::
@@ -55,19 +55,23 @@
 The data type of a variable can be determined and changed through the
 use of the following functions.
 
-@DOCSTRING(class)
+@ref{XREFclass, , @code{class}}: Return the class of the object OBJ, or create a class with fields from
+struct...
 
-@DOCSTRING(isa)
+@ref{XREFisa, , @code{isa}}: Return true if OBJ is an object from the class CLASSNAME.
 
-@DOCSTRING(cast)
+@ref{XREFcast, , @code{cast}}: Convert VAL to data type TYPE.
 
-@DOCSTRING(typecast)
-
-@DOCSTRING(swapbytes)
+@ref{XREFtypecast, , @code{typecast}}: Return a new array Y resulting from interpreting the data of X in memory
+as d...
 
-@DOCSTRING(bitpack)
+@ref{XREFswapbytes, , @code{swapbytes}}: Swap the byte order on values, converting from little endian to big
+endian an...
 
-@DOCSTRING(bitunpack)
+@ref{XREFbitpack, , @code{bitpack}}: Return a new array Y resulting from interpreting the logical array X as
+raw b...
+
+@ref{XREFbitunpack, , @code{bitunpack}}: Return a logical array Y corresponding to the raw bit patterns of X.
 
 @menu
 * Numeric Objects::
@@ -118,9 +122,11 @@
 case missing data is represented as a special case of the representation
 of @code{NaN}.
 
-@DOCSTRING(NA)
+@ref{XREFNA, , @code{NA}}: Return a scalar, matrix, or N-dimensional array whose elements are all
+equal ...
 
-@DOCSTRING(isna)
+@ref{XREFisna, , @code{isna}}: Return a logical array which is true where the elements of X are NA
+(missing)...
 
 @node String Objects
 @subsection String Objects
@@ -177,24 +183,26 @@
 data structure type doesn't have rows or columns, so the @code{rows} and
 @code{columns} functions return @minus{}1 for structure arguments.
 
-@DOCSTRING(ndims)
+@ref{XREFndims, , @code{ndims}}: Return the number of dimensions of A.
 
-@DOCSTRING(columns)
+@ref{XREFcolumns, , @code{columns}}: Return the number of columns of A.
 
-@DOCSTRING(rows)
+@ref{XREFrows, , @code{rows}}: Return the number of rows of A.
 
-@DOCSTRING(numel)
+@ref{XREFnumel, , @code{numel}}: Return the number of elements in the object A.
 
-@DOCSTRING(length)
+@ref{XREFlength, , @code{length}}: Return the length of the object A.
 
-@DOCSTRING(size)
+@ref{XREFsize, , @code{size}}: Return a row vector with the size (number of elements) of each dimension
+for ...
 
-@DOCSTRING(isempty)
-
-@DOCSTRING(isnull)
+@ref{XREFisempty, , @code{isempty}}: Return true if A is an empty matrix (any one of its dimensions is zero).
 
-@DOCSTRING(sizeof)
+@ref{XREFisnull, , @code{isnull}}: Return true if X is a special null matrix, string, or single quoted
+string.
 
-@DOCSTRING(size_equal)
+@ref{XREFsizeof, , @code{sizeof}}: Return the size of VAL in bytes.
 
-@DOCSTRING(squeeze)
+@ref{XREFsize_equal, , @code{size_equal}}: Return true if the dimensions of all arguments agree.
+
+@ref{XREFsqueeze, , @code{squeeze}}: Remove singleton dimensions from X and return the result.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/debug.txi
--- a/doc/interpreter/debug.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/debug.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -50,11 +50,14 @@
 the functions @code{debug_on_interrupt}, @code{debug_on_warning}, and
 @code{debug_on_error}.
 
-@DOCSTRING(debug_on_interrupt)
+@ref{XREFdebug_on_interrupt, , @code{debug_on_interrupt}}: Query or set the internal variable that controls whether Octave will try
+to e...
 
-@DOCSTRING(debug_on_warning)
+@ref{XREFdebug_on_warning, , @code{debug_on_warning}}: Query or set the internal variable that controls whether Octave will try
+to e...
 
-@DOCSTRING(debug_on_error)
+@ref{XREFdebug_on_error, , @code{debug_on_error}}: Query or set the internal variable that controls whether Octave will try
+to e...
 
 @node Leaving Debug Mode
 @section Leaving Debug Mode
@@ -62,12 +65,12 @@
 Use either @code{dbcont} or @code{return} to leave the debug mode and
 continue the normal execution of the script.
 
-@DOCSTRING(dbcont)
+@ref{XREFdbcont, , @code{dbcont}}: Leave command-line debugging mode and continue code execution normally.
 
 To quit debug mode and return directly to the prompt without executing
 any additional code use @code{dbquit}.
 
-@DOCSTRING(dbquit)
+@ref{XREFdbquit, , @code{dbquit}}: Quit debugging mode immediately without further code execution.
 
 Finally, typing @code{exit} or @code{quit} at the debug prompt will
 result in Octave terminating normally.
@@ -78,7 +81,7 @@
 Breakpoints can be set in any m-file function by using the @code{dbstop}
 function.
 
-@DOCSTRING(dbstop)
+@ref{XREFdbstop, , @code{dbstop}}: Set breakpoints for the built-in debugger.
 
 @noindent
 Breakpoints in class methods are also supported (e.g.,
@@ -103,14 +106,14 @@
 effectively set to line 29.  The status of breakpoints in a function can
 be queried with @code{dbstatus}.
 
-@DOCSTRING(dbstatus)
+@ref{XREFdbstatus, , @code{dbstatus}}: Report the location of active breakpoints.
 
 @noindent
 Reusing the previous example, @code{dbstatus ("asind")} will return
 29.  The breakpoints listed can then be cleared with the @code{dbclear}
 function.
 
-@DOCSTRING(dbclear)
+@ref{XREFdbclear, , @code{dbclear}}: Delete a breakpoint at line number LINE in the function FUNC.
 
 @noindent
 
@@ -144,7 +147,7 @@
 Another simple way of setting a breakpoint in an Octave script is the
 use of the @code{keyboard} function.
 
-@DOCSTRING(keyboard)
+@ref{XREFkeyboard, , @code{keyboard}}: Stop m-file execution and enter debug mode.
 
 @noindent
 The @code{keyboard} function is placed in a script at the point where the user
@@ -159,21 +162,23 @@
 mode, and to print the code in the script surrounding the point where
 Octave entered debug mode.
 
-@DOCSTRING(dbwhere)
+@ref{XREFdbwhere, , @code{dbwhere}}: In debugging mode, report the current file and line number where
+execution is...
 
-@DOCSTRING(dbtype)
+@ref{XREFdbtype, , @code{dbtype}}: Display a script file with line numbers.
 
-@DOCSTRING(dblist)
+@ref{XREFdblist, , @code{dblist}}: In debugging mode, list N lines of the function being debugged centered
+aroun...
 
 You may also use @code{isdebugmode} to determine whether the debugger is
 currently active.
 
-@DOCSTRING(isdebugmode)
+@ref{XREFisdebugmode, , @code{isdebugmode}}: Return true if in debugging mode, otherwise false.
 
 Debug mode also allows single line stepping through a function using
 the command @code{dbstep}.
 
-@DOCSTRING(dbstep)
+@ref{XREFdbstep, , @code{dbstep}}: In debugging mode, execute the next N lines of code.
 
 When in debug mode the @key{RETURN} key will execute the last entered command.
 This is useful, for example, after hitting a breakpoint and entering
@@ -181,7 +186,8 @@
 with only a single key stroke.  This feature may be disabled using the
 @code{auto_repeat_debug_command} function.
 
-@DOCSTRING(auto_repeat_debug_command)
+@ref{XREFauto_repeat_debug_command, , @code{auto_repeat_debug_command}}: Query or set the internal variable that controls whether debugging
+commands a...
 
 @node Call Stack
 @section Call Stack
@@ -193,11 +199,11 @@
 variables first took on the wrong values.  @code{dbstack} shows the entire
 series of function calls and at what level debugging is currently taking place.
 
-@DOCSTRING(dbstack)
+@ref{XREFdbstack, , @code{dbstack}}: Display or return current debugging function stack information.
 
-@DOCSTRING(dbup)
+@ref{XREFdbup, , @code{dbup}}: In debugging mode, move up the execution stack N frames.
 
-@DOCSTRING(dbdown)
+@ref{XREFdbdown, , @code{dbdown}}: In debugging mode, move down the execution stack N frames.
 
 @node Profiling
 @section Profiling
@@ -218,7 +224,7 @@
 The data is returned in an Octave data structure which can then be
 examined or further processed by other routines or tools.
 
-@DOCSTRING(profile)
+@ref{XREFprofile, , @code{profile}}: Control the built-in profiler.
 
 An easy way to get an overview over the collected data is
 @code{profshow}.  This function takes the profiler data returned by
@@ -240,11 +246,11 @@
 operators.  Furthermore, it is shown how often the function was called
 and the profiler also records that it is recursive.
 
-@DOCSTRING(profshow)
+@ref{XREFprofshow, , @code{profshow}}: Display flat per-function profiler results.
 
-@DOCSTRING(profexport)
+@ref{XREFprofexport, , @code{profexport}}: Export profiler data as HTML.
 
-@DOCSTRING(profexplore)
+@ref{XREFprofexplore, , @code{profexplore}}: Interactively explore hierarchical profiler output.
 
 @node Profiler Example
 @section Profiler Example
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/diagperm.txi
--- a/doc/interpreter/diagperm.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/diagperm.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -63,9 +63,11 @@
 treatment may be disabled by using the functions @dfn{disable_diagonal_matrix}
 and @dfn{disable_permutation_matrix}.
 
-@DOCSTRING(disable_diagonal_matrix)
+@ref{XREFdisable_diagonal_matrix, , @code{disable_diagonal_matrix}}: Query or set the internal variable that controls whether diagonal
+matrices ar...
 
-@DOCSTRING(disable_permutation_matrix)
+@ref{XREFdisable_permutation_matrix, , @code{disable_permutation_matrix}}: Query or set the internal variable that controls whether permutation
+matrices...
 
 The space savings are significant as demonstrated by the following code.
 
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/diffeq.txi
--- a/doc/interpreter/diffeq.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/diffeq.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -56,9 +56,9 @@
 @noindent
 using @nospell{Hindmarsh's} ODE solver @sc{lsode}.
 
-@DOCSTRING(lsode)
+@ref{XREFlsode, , @code{lsode}}: Ordinary Differential Equation (ODE) solver.
 
-@DOCSTRING(lsode_options)
+@ref{XREFlsode_options, , @code{lsode_options}}: Query or set options for the function 'lsode'.
 
 Here is an example of solving a set of three differential equations using
 @code{lsode}.  Given the function
@@ -171,23 +171,31 @@
 @nospell{M. W. Reichelt}, @cite{The MATLAB ODE Suite}, SIAM Journal on
 Scientific Computing, Vol. 18, 1997, pp. 1–22.
 
-@DOCSTRING(ode45)
+@ref{XREFode45, , @code{ode45}}: Solve a set of non-stiff Ordinary Differential Equations (non-stiff
+ODEs) wit...
 
-@DOCSTRING(ode23)
+@ref{XREFode23, , @code{ode23}}: Solve a set of non-stiff Ordinary Differential Equations (non-stiff
+ODEs) wit...
 
-@DOCSTRING(ode23s)
+@ref{XREFode23s, , @code{ode23s}}: Solve a set of stiff Ordinary Differential Equations (stiff ODEs) with a
+Rose...
 
-@DOCSTRING(ode15s)
+@ref{XREFode15s, , @code{ode15s}}: Solve a set of stiff Ordinary Differential Equations (ODEs) or stiff
+semi-exp...
 
-@DOCSTRING(ode15i)
+@ref{XREFode15i, , @code{ode15i}}: Solve a set of fully-implicit Ordinary Differential Equations (ODEs) or
+index...
 
-@DOCSTRING(decic)
+@ref{XREFdecic, , @code{decic}}: Compute consistent implicit ODE initial conditions Y0_NEW and YP0_NEW
+given i...
 
-@DOCSTRING(odeset)
+@ref{XREFodeset, , @code{odeset}}: Create or modify an ODE options structure.
 
-@DOCSTRING(odeget)
+@ref{XREFodeget, , @code{odeget}}: Query the value of the property FIELD in the ODE options structure
+ODE_OPT.
 
-@DOCSTRING(odeplot)
+@ref{XREFodeplot, , @code{odeplot}}: Open a new figure window and plot the solution of an ode problem at each
+time...
 
 @node Differential-Algebraic Equations
 @section Differential-Algebraic Equations
@@ -217,21 +225,21 @@
 is the derivative of @math{x}.  The equation is solved using
 @nospell{Petzold's} DAE solver @sc{daspk}.
 
-@DOCSTRING(daspk)
+@ref{XREFdaspk, , @code{daspk}}: Solve a set of differential-algebraic equations.
 
-@DOCSTRING(daspk_options)
+@ref{XREFdaspk_options, , @code{daspk_options}}: Query or set options for the function 'daspk'.
 
 Octave also includes @sc{dassl}, an earlier version of @sc{daspk},
 and @sc{dasrt}, which can be used to solve DAEs with constraints
 (stopping conditions).
 
-@DOCSTRING(dassl)
+@ref{XREFdassl, , @code{dassl}}: Solve a set of differential-algebraic equations.
 
-@DOCSTRING(dassl_options)
+@ref{XREFdassl_options, , @code{dassl_options}}: Query or set options for the function 'dassl'.
 
-@DOCSTRING(dasrt)
+@ref{XREFdasrt, , @code{dasrt}}: Solve a set of differential-algebraic equations.
 
-@DOCSTRING(dasrt_options)
+@ref{XREFdasrt_options, , @code{dasrt_options}}: Query or set options for the function 'dasrt'.
 
 See @nospell{K. E. Brenan}, et al., @cite{Numerical Solution of Initial-Value
 Problems in Differential-Algebraic Equations}, North-Holland (1989) for
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/errors.txi
--- a/doc/interpreter/errors.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/errors.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -82,7 +82,7 @@
 @qcode{"Octave"} is used for Octave's own errors.  Any other string is
 available as a namespace for user's own errors.
 
-@DOCSTRING(error)
+@ref{XREFerror, , @code{error}}: Display an error message and stop m-file execution.
 
 Since it is common to use errors when there is something wrong with
 the input to a function, Octave supports functions to simplify such code.
@@ -133,11 +133,12 @@
 @end group
 @end example
 
-@DOCSTRING(print_usage)
+@ref{XREFprint_usage, , @code{print_usage}}: Print the usage message for the function NAME.
 
-@DOCSTRING(beep)
+@ref{XREFbeep, , @code{beep}}: Produce a beep from the speaker (or visual bell).
 
-@DOCSTRING(beep_on_error)
+@ref{XREFbeep_on_error, , @code{beep_on_error}}: Query or set the internal variable that controls whether Octave will try
+to r...
 
 @node Catching Errors
 @subsection Catching Errors
@@ -199,9 +200,9 @@
 @end group
 @end example
 
-@DOCSTRING(lasterror)
+@ref{XREFlasterror, , @code{lasterror}}: Query or set the last error message structure.
 
-@DOCSTRING(lasterr)
+@ref{XREFlasterr, , @code{lasterr}}: Query or set the last error message.
 
 The next example counts indexing errors.  The errors are caught using the
 field identifier of the structure returned by the function @code{lasterror}.
@@ -225,7 +226,8 @@
 The functions distributed with Octave can issue one of the following
 errors.
 
-@DOCSTRING(error_ids)
+@ref{XREFerror_ids, , @code{error_ids}}: 'Octave:bad-alloc'
+     Indicates that memory couldn't be allocated.
 
 When an error has been handled it is possible to raise it again.  This
 can be useful when an error needs to be detected, but the program should
@@ -252,13 +254,13 @@
 @end group
 @end example
 
-@DOCSTRING(rethrow)
+@ref{XREFrethrow, , @code{rethrow}}: Reissue a previous error as defined by ERR.
 
 @c FIXME: I have no idea what the rest of the functions are used for...
 
-@DOCSTRING(errno)
+@ref{XREFerrno, , @code{errno}}: Query or set the system-dependent variable errno.
 
-@DOCSTRING(errno_list)
+@ref{XREFerrno_list, , @code{errno_list}}: Return a structure containing the system-dependent errno values.
 
 @node Recovering From Errors
 @subsection Recovering From Errors
@@ -290,7 +292,7 @@
 @end group
 @end example
 
-@DOCSTRING(onCleanup)
+@ref{XREFonCleanup, , @code{onCleanup}}: Create a special object that executes a given function upon destruction.
 
 @node Handling Warnings
 @section Handling Warnings
@@ -348,14 +350,16 @@
 namespace @qcode{"Octave"} is used for Octave's own warnings.  Any other string
 is available as a namespace for user's own warnings.
 
-@DOCSTRING(warning)
+@ref{XREFwarning, , @code{warning}}: Display a warning message or control the behavior of Octave's warning
+system.
 
-@DOCSTRING(lastwarn)
+@ref{XREFlastwarn, , @code{lastwarn}}: Query or set the last warning message.
 
 The functions distributed with Octave can issue one of the following
 warnings.
 
-@DOCSTRING(warning_ids)
+@ref{XREFwarning_ids, , @code{warning_ids}}: 'Octave:abbreviated-property-match'
+     By default, the 'Octave:abbreviated-...
 
 @node Enabling and Disabling Warnings
 @subsection Enabling and Disabling Warnings
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/eval.txi
--- a/doc/interpreter/eval.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/eval.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -27,12 +27,13 @@
 been computed and stored in a string, which is exactly what the
 @code{eval} function lets you do.
 
-@DOCSTRING(eval)
+@ref{XREFeval, , @code{eval}}: Parse the string TRY and evaluate it as if it were an Octave program.
 
 The @code{evalc} function additionally captures any console output
 produced by the evaluated expression.
 
-@DOCSTRING(evalc)
+@ref{XREFevalc, , @code{evalc}}: Parse and evaluate the string TRY as if it were an Octave program, while
+capt...
 
 @menu
 * Calling a Function by its Name::
@@ -88,12 +89,12 @@
 for a list of predicates for numeric objects, and @pxref{Status of
 Variables}, for a description of the @code{exist} function.
 
-@DOCSTRING(feval)
+@ref{XREFfeval, , @code{feval}}: Evaluate the function named NAME.
 
 A similar function @code{run} exists for calling user script files, that
 are not necessarily on the user path
 
-@DOCSTRING(run)
+@ref{XREFrun, , @code{run}}: Run SCRIPT in the current workspace.
 
 @node Evaluation in a Different Context
 @section Evaluation in a Different Context
@@ -183,6 +184,8 @@
 are written in C++ where all Octave variables
 are in the @samp{caller} context and @code{evalin} is not needed.
 
-@DOCSTRING(evalin)
+@ref{XREFevalin, , @code{evalin}}: Like 'eval', except that the expressions are evaluated in the context
+CONTEXT...
 
-@DOCSTRING(assignin)
+@ref{XREFassignin, , @code{assignin}}: Assign VALUE to VARNAME in context CONTEXT, which may be either "base"
+or "ca...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/expr.txi
--- a/doc/interpreter/expr.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/expr.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -422,11 +422,11 @@
 @noindent
 because Octave does not have to repeatedly resize the intermediate result.
 
-@DOCSTRING(sub2ind)
+@ref{XREFsub2ind, , @code{sub2ind}}: Convert subscripts to linear indices.
 
-@DOCSTRING(ind2sub)
+@ref{XREFind2sub, , @code{ind2sub}}: Convert linear indices to subscripts.
 
-@DOCSTRING(isindex)
+@ref{XREFisindex, , @code{isindex}}: Return true if IND is a valid index.
 
 @node Calling Functions
 @section Calling Functions
@@ -605,9 +605,11 @@
 so that instead of exiting with a signal, the interpreter will throw an
 error and return to the command prompt.
 
-@DOCSTRING(max_recursion_depth)
+@ref{XREFmax_recursion_depth, , @code{max_recursion_depth}}: Query or set the internal limit on the number of times a function may be
+call...
 
-@DOCSTRING(max_stack_depth)
+@ref{XREFmax_stack_depth, , @code{max_stack_depth}}: Query or set the internal limit on the number of times a function may be
+call...
 
 @node Access via Handle
 @subsection Access via Handle
@@ -825,48 +827,48 @@
 useful in this case.
 
 @opindex @code{'}
-@DOCSTRING(ctranspose)
+@ref{XREFctranspose, , @code{ctranspose}}: Return the complex conjugate transpose of X.
 
 @opindex .\
-@DOCSTRING(ldivide)
+@ref{XREFldivide, , @code{ldivide}}: Return the element-by-element left division of X and Y.
 
 @opindex -
-@DOCSTRING(minus)
+@ref{XREFminus, , @code{minus}}: This function and X - Y are equivalent.
 
 @opindex \
-@DOCSTRING(mldivide)
+@ref{XREFmldivide, , @code{mldivide}}: Return the matrix left division of X and Y.
 
 @opindex **
 @opindex ^
-@DOCSTRING(mpower)
+@ref{XREFmpower, , @code{mpower}}: Return the matrix power operation of X raised to the Y power.
 
 @opindex /
-@DOCSTRING(mrdivide)
+@ref{XREFmrdivide, , @code{mrdivide}}: Return the matrix right division of X and Y.
 
 @opindex *
-@DOCSTRING(mtimes)
+@ref{XREFmtimes, , @code{mtimes}}: Return the matrix multiplication product of inputs.
 
 @opindex +
-@DOCSTRING(plus)
+@ref{XREFplus, , @code{plus}}: This function and X + Y are equivalent.
 
 @opindex .**
 @opindex .^
-@DOCSTRING(power)
+@ref{XREFpower, , @code{power}}: Return the element-by-element operation of X raised to the Y power.
 
 @opindex ./
-@DOCSTRING(rdivide)
+@ref{XREFrdivide, , @code{rdivide}}: Return the element-by-element right division of X and Y.
 
 @opindex .*
-@DOCSTRING(times)
+@ref{XREFtimes, , @code{times}}: Return the element-by-element multiplication product of inputs.
 
 @opindex @code{.'}
-@DOCSTRING(transpose)
+@ref{XREFtranspose, , @code{transpose}}: Return the transpose of X.
 
 @opindex -
-@DOCSTRING(uminus)
+@ref{XREFuminus, , @code{uminus}}: This function and - X are equivalent.
 
 @opindex +
-@DOCSTRING(uplus)
+@ref{XREFuplus, , @code{uplus}}: This function and + X are equivalent.
 
 @node Comparison Ops
 @section Comparison Operators
@@ -949,27 +951,28 @@
 @xref{Strings}.
 
 @opindex ==
-@DOCSTRING(eq)
+@ref{XREFeq, , @code{eq}}: Return true if the two inputs are equal.
 
 @opindex >=
-@DOCSTRING(ge)
+@ref{XREFge, , @code{ge}}: This function is equivalent to 'X >= Y'.
 
 @opindex >
-@DOCSTRING(gt)
+@ref{XREFgt, , @code{gt}}: This function is equivalent to 'X > Y'.
 
-@DOCSTRING(isequal)
+@ref{XREFisequal, , @code{isequal}}: Return true if all of X1, X2, ... are equal.
 
-@DOCSTRING(isequaln)
+@ref{XREFisequaln, , @code{isequaln}}: Return true if all of X1, X2, ... are equal under the additional
+assumption t...
 
 @opindex <=
-@DOCSTRING(le)
+@ref{XREFle, , @code{le}}: This function is equivalent to 'X <= Y'.
 
 @opindex <
-@DOCSTRING(lt)
+@ref{XREFlt, , @code{lt}}: This function is equivalent to 'X < Y'.
 
 @opindex !=
 @opindex ~=
-@DOCSTRING(ne)
+@ref{XREFne, , @code{ne}}: Return true if the two inputs are not equal.
 
 @node Boolean Expressions
 @section Boolean Expressions
@@ -1066,14 +1069,14 @@
 described for matrix-valued operands.
 
 @opindex &
-@DOCSTRING(and)
+@ref{XREFand, , @code{and}}: Return the logical AND of X and Y.
 
 @opindex ~
 @opindex !
-@DOCSTRING(not)
+@ref{XREFnot, , @code{not}}: Return the logical NOT of X.
 
 @opindex |
-@DOCSTRING(or)
+@ref{XREFor, , @code{or}}: Return the logical OR of X and Y.
 
 @node Short-circuit Boolean Operators
 @subsection Short-circuit Boolean Operators
@@ -1181,7 +1184,8 @@
 short-circuiting is not important, it can be replaced by the @code{ifelse}
 function.
 
-@DOCSTRING(merge)
+@ref{XREFmerge, , @code{merge}}: Merge elements of TRUE_VAL and FALSE_VAL, depending on the value of
+MASK.
 
 @node Assignment Ops
 @section Assignment Expressions
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/external.txi
--- a/doc/interpreter/external.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/external.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -144,7 +144,8 @@
 providing the @code{mkoctfile} command with which to build oct-files.  The
 command is available from within Octave or at the shell command line.
 
-@DOCSTRING(mkoctfile)
+@ref{XREFmkoctfile, , @code{mkoctfile}}: The 'mkoctfile' function compiles source code written in C, C++, or
+Fortran.
 
 Consider the following short example which introduces the basics of writing a
 C++ function that can be linked to Octave.
@@ -1272,9 +1273,9 @@
 the use of the command @code{mex} is limited to within Octave.  Compiled
 mex-files have the extension @file{.mex}.
 
-@DOCSTRING(mex)
-
-@DOCSTRING(mexext)
+@ref{XREFmex, , @code{mex}}: Compile source code written in C, C++, or Fortran, to a MEX file.
+
+@ref{XREFmexext, , @code{mexext}}: Return the filename extension used for MEX files.
 
 Consider the following short example:
 
@@ -2186,16 +2187,17 @@
 
 @cindex object, creating a Java object
 @cindex instance, creating a Java instance
-@DOCSTRING(javaObject)
+@ref{XREFjavaObject, , @code{javaObject}}: Create a Java object of class CLASSSNAME, by calling the class
+constructor wi...
 
 @cindex array, creating a Java array
-@DOCSTRING(javaArray)
+@ref{XREFjavaArray, , @code{javaArray}}: Create a Java array of size SZ with elements of class CLASSNAME.
 
 There are many different variable types in Octave, but only ones created
 through @code{javaObject} can use Java functions.  Before using Java with an
 unknown object the type can be checked with @code{isjava}.
 
-@DOCSTRING(isjava)
+@ref{XREFisjava, , @code{isjava}}: Return true if X is a Java object.
 
 Once an object has been created it is natural to find out what fields the
 object has, and to read (get) and write (set) them.
@@ -2241,10 +2243,10 @@
 @end group
 @end example
 
-@DOCSTRING(java_get)
+@ref{XREFjava_get, , @code{java_get}}: Get the value of the field NAME of the Java object OBJ.
 
 @cindex field, setting value of Java object field
-@DOCSTRING(java_set)
+@ref{XREFjava_set, , @code{java_set}}: Set the value of the field NAME of the Java object OBJ to VAL.
 
 @cindex methods, displaying available methods of a Java object
 To see what functions can be called with an object use @code{methods}.  For
@@ -2278,7 +2280,8 @@
 @end example
 
 @cindex method, invoking a method of a Java object
-@DOCSTRING(javaMethod)
+@ref{XREFjavaMethod, , @code{javaMethod}}: Invoke the method METHODNAME on the Java object OBJ with the arguments
+ARG1, ...
 
 The following three functions are used to display and modify the class path
 used by the Java Virtual Machine.  This is entirely separate from Octave's
@@ -2289,31 +2292,37 @@
 @cindex dynamic classpath
 @cindex classpath, static
 @cindex static classpath
-@DOCSTRING(javaclasspath)
+@ref{XREFjavaclasspath, , @code{javaclasspath}}: Return the class path of the Java virtual machine in the form of a cell
+array...
 
 @findex javaaddpath
 @cindex classpath, adding new path
 @cindex path, adding to classpath
 @cindex classpath, dynamic
 @cindex dynamic classpath, adding new path
-@DOCSTRING(javaaddpath)
+@ref{XREFjavaaddpath, , @code{javaaddpath}}: Add CLSPATH to the beginning of the dynamic class path of the Java
+virtual ma...
 
 @cindex classpath, removing path
 @cindex path, removing from classpath
-@DOCSTRING(javarmpath)
+@ref{XREFjavarmpath, , @code{javarmpath}}: Remove CLSPATH from the dynamic class path of the Java virtual machine.
 
 The following functions provide information and control over the interface
 between Octave and the Java Virtual Machine.
 
-@DOCSTRING(javachk)
-
-@DOCSTRING(usejava)
+@ref{XREFjavachk, , @code{javachk}}: Check for the presence of the Java FEATURE in the current session.
+
+@ref{XREFusejava, , @code{usejava}}: Return true if the Java element FEATURE is available.
 
 @cindex memory, displaying Java memory status
-@DOCSTRING(javamem)
-
-@DOCSTRING(java_matrix_autoconversion)
-
-@DOCSTRING(java_unsigned_autoconversion)
-
-@DOCSTRING(debug_java)
+@ref{XREFjavamem, , @code{javamem}}: Show the current memory usage of the Java virtual machine (JVM) and run
+the g...
+
+@ref{XREFjava_matrix_autoconversion, , @code{java_matrix_autoconversion}}: Query or set the internal variable that controls whether Java arrays are
+auto...
+
+@ref{XREFjava_unsigned_autoconversion, , @code{java_unsigned_autoconversion}}: Query or set the internal variable that controls how integer classes are
+conv...
+
+@ref{XREFdebug_java, , @code{debug_java}}: Query or set the internal variable that determines whether extra
+debugging in...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/func.txi
--- a/doc/interpreter/func.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/func.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -271,11 +271,12 @@
 To avoid such problems and to provide useful messages, we check for both
 possibilities and issue our own error message.
 
-@DOCSTRING(nargin)
+@ref{XREFnargin, , @code{nargin}}: Report the number of input arguments to a function.
 
-@DOCSTRING(inputname)
+@ref{XREFinputname, , @code{inputname}}: Return the name of the N-th argument to the calling function.
 
-@DOCSTRING(silent_functions)
+@ref{XREFsilent_functions, , @code{silent_functions}}: Query or set the internal variable that controls whether internal output
+from...
 
 @node Returning from a Function
 @section Returning from a Function
@@ -376,7 +377,8 @@
 of the return values or several at once in a cell array.
 @xref{Cell Array Objects}.
 
-@DOCSTRING(nthargout)
+@ref{XREFnthargout, , @code{nthargout}}: Return the Nth output argument of the function specified by the function
+hand...
 
 In addition to setting @code{nargin} each time a function is called,
 Octave also automatically initializes @code{nargout} to the number of
@@ -425,7 +427,7 @@
 @noindent
 along with a warning.
 
-@DOCSTRING(nargout)
+@ref{XREFnargout, , @code{nargout}}: Report the number of output arguments from a function.
 
 @node Variable-length Return Lists
 @section Variable-length Return Lists
@@ -470,7 +472,7 @@
 element of the input (output) parameter list, then it is not special,
 and is handled the same as any other parameter name.
 
-@DOCSTRING(deal)
+@ref{XREFdeal, , @code{deal}}: Copy the input parameters into the corresponding output parameters.
 
 @node Variable-length Argument Lists
 @section Variable-length Argument Lists
@@ -566,7 +568,8 @@
 @end group
 @end example
 
-@DOCSTRING(parseparams)
+@ref{XREFparseparams, , @code{parseparams}}: Return in REG the cell elements of PARAM up to the first string element
+and i...
 
 @node Ignoring Arguments
 @section Ignoring Arguments
@@ -643,7 +646,8 @@
 @end group
 @end example
 
-@DOCSTRING(isargout)
+@ref{XREFisargout, , @code{isargout}}: Within a function, return a logical value indicating whether the
+argument K w...
 
 @node Default Arguments
 @section Default Arguments
@@ -747,9 +751,9 @@
 Similar error checking is provided by @code{narginchk} and
 @code{nargoutchk}.
 
-@DOCSTRING(narginchk)
+@ref{XREFnarginchk, , @code{narginchk}}: Check for correct number of input arguments.
 
-@DOCSTRING(nargoutchk)
+@ref{XREFnargoutchk, , @code{nargoutchk}}: Check for correct number of output arguments.
 
 @node Validating the type of Arguments
 @subsection Validating the type of Arguments
@@ -758,48 +762,49 @@
 properties.  @code{validatestring} is used for string arguments and
 @code{validateattributes} for numeric arguments.
 
-@DOCSTRING(validatestring)
+@ref{XREFvalidatestring, , @code{validatestring}}: Verify that STR is an element, or substring of an element, in STRARRAY.
 
-@DOCSTRING(validateattributes)
+@ref{XREFvalidateattributes, , @code{validateattributes}}: Check validity of input argument.
 
 As alternatives to @code{validateattributes} there are several shorter
 convenience functions to check for individual properties.
 
-@DOCSTRING(mustBeFinite)
-
-@DOCSTRING(mustBeGreaterThan)
+@ref{XREFmustBeFinite, , @code{mustBeFinite}}: Require that input X is finite.
 
-@DOCSTRING(mustBeGreaterThanOrEqual)
+@ref{XREFmustBeGreaterThan, , @code{mustBeGreaterThan}}: Require that input X is greater than C.
 
-@DOCSTRING(mustBeInteger)
+@ref{XREFmustBeGreaterThanOrEqual, , @code{mustBeGreaterThanOrEqual}}: Require that input X is greater than or equal to C.
 
-@DOCSTRING(mustBeLessThan)
+@ref{XREFmustBeInteger, , @code{mustBeInteger}}: Require that input X is integer-valued (but not necessarily
+integer-typed).
 
-@DOCSTRING(mustBeLessThanOrEqual)
+@ref{XREFmustBeLessThan, , @code{mustBeLessThan}}: Require that input X is less than C.
 
-@DOCSTRING(mustBeMember)
+@ref{XREFmustBeLessThanOrEqual, , @code{mustBeLessThanOrEqual}}: Require that input is less than or equal to a given value.
 
-@DOCSTRING(mustBeNegative)
+@ref{XREFmustBeMember, , @code{mustBeMember}}: Require that input X is a member of a set of given valid values.
 
-@DOCSTRING(mustBeNonempty)
+@ref{XREFmustBeNegative, , @code{mustBeNegative}}: Require that input X is negative.
 
-@DOCSTRING(mustBeNonNan)
+@ref{XREFmustBeNonempty, , @code{mustBeNonempty}}: Require that input X is nonempty.
 
-@DOCSTRING(mustBeNonnegative)
+@ref{XREFmustBeNonNan, , @code{mustBeNonNan}}: Require that input X is non-'NaN'.
 
-@DOCSTRING(mustBeNonpositive)
+@ref{XREFmustBeNonnegative, , @code{mustBeNonnegative}}: Require that input X is not negative.
 
-@DOCSTRING(mustBeNonsparse)
+@ref{XREFmustBeNonpositive, , @code{mustBeNonpositive}}: Require that input X is not positive.
+
+@ref{XREFmustBeNonsparse, , @code{mustBeNonsparse}}: Require that input X is not sparse.
 
-@DOCSTRING(mustBeNonzero)
+@ref{XREFmustBeNonzero, , @code{mustBeNonzero}}: Require that input X is not zero.
 
-@DOCSTRING(mustBeNumeric)
+@ref{XREFmustBeNumeric, , @code{mustBeNumeric}}: Require that input X is numeric.
 
-@DOCSTRING(mustBeNumericOrLogical)
+@ref{XREFmustBeNumericOrLogical, , @code{mustBeNumericOrLogical}}: Require that input X is numeric or logical.
 
-@DOCSTRING(mustBePositive)
+@ref{XREFmustBePositive, , @code{mustBePositive}}: Require that input X is positive.
 
-@DOCSTRING(mustBeReal)
+@ref{XREFmustBeReal, , @code{mustBeReal}}: Require that input X is real.
 
 @node Parsing Arguments
 @subsection Parsing Arguments
@@ -808,7 +813,7 @@
 the class @code{inputParser} which can perform extremely complex input
 checking for functions.
 
-@DOCSTRING(inputParser)
+@ref{XREFinputParser, , @code{inputParser}}: Create object P of the inputParser class.
 
 @node Function Files
 @section Function Files
@@ -863,11 +868,12 @@
 
 @c FIXME: note about time stamps on files in NFS environments?
 
-@DOCSTRING(edit)
+@ref{XREFedit, , @code{edit}}: Edit the named function, or change editor settings.
 
-@DOCSTRING(mfilename)
+@ref{XREFmfilename, , @code{mfilename}}: Return the name of the currently executing file.
 
-@DOCSTRING(ignore_function_time_stamp)
+@ref{XREFignore_function_time_stamp, , @code{ignore_function_time_stamp}}: Query or set the internal variable that controls whether Octave checks
+the ti...
 
 @menu
 * Manipulating the Load Path::
@@ -900,31 +906,34 @@
 @noindent
 After this the directory @samp{~/Octave} will be searched for functions.
 
-@DOCSTRING(addpath)
+@ref{XREFaddpath, , @code{addpath}}: Add named directories to the function search path.
 
-@DOCSTRING(genpath)
+@ref{XREFgenpath, , @code{genpath}}: Return a path constructed from DIR and all its subdirectories.
 
-@DOCSTRING(rmpath)
+@ref{XREFrmpath, , @code{rmpath}}: Remove DIR1, ... from the current function search path.
 
-@DOCSTRING(savepath)
+@ref{XREFsavepath, , @code{savepath}}: Save the unique portion of the current function search path that is not
+set d...
 
-@DOCSTRING(path)
+@ref{XREFpath, , @code{path}}: Modify or display Octave's load path.
 
-@DOCSTRING(pathdef)
+@ref{XREFpathdef, , @code{pathdef}}: Return the default path for Octave.
 
-@DOCSTRING(pathsep)
+@ref{XREFpathsep, , @code{pathsep}}: Query the character used to separate directories in a path.
 
-@DOCSTRING(rehash)
+@ref{XREFrehash, , @code{rehash}}: Reinitialize Octave's load path directory cache.
 
-@DOCSTRING(file_in_loadpath)
+@ref{XREFfile_in_loadpath, , @code{file_in_loadpath}}: Return the absolute name of FILE if it can be found in the list of
+directorie...
 
-@DOCSTRING(restoredefaultpath)
+@ref{XREFrestoredefaultpath, , @code{restoredefaultpath}}: Restore Octave's path to its initial state at startup.
 
-@DOCSTRING(command_line_path)
+@ref{XREFcommand_line_path, , @code{command_line_path}}: Return the command line path variable.
 
-@DOCSTRING(dir_in_loadpath)
+@ref{XREFdir_in_loadpath, , @code{dir_in_loadpath}}: Return the absolute name of the loadpath element matching DIR if it can
+be fo...
 
-@DOCSTRING(dir_encoding)
+@ref{XREFdir_encoding, , @code{dir_encoding}}: Set and query the ENCODING that is used for reading m-files in DIR.
 
 @node Subfunctions
 @subsection Subfunctions
@@ -956,7 +965,8 @@
 function @code{f} or from the other subfunctions, but not from outside
 the file @file{f.m}.
 
-@DOCSTRING(localfunctions)
+@ref{XREFlocalfunctions, , @code{localfunctions}}: Return a list of all local functions, i.e., subfunctions, within the
+current ...
 
 @node Private Functions
 @subsection Private Functions
@@ -1148,7 +1158,8 @@
 user overloading and call the default function associated with a specific
 type.  The @code{builtin} function exists for this purpose.
 
-@DOCSTRING(builtin)
+@ref{XREFbuiltin, , @code{builtin}}: Call the base function F even if F is overloaded to another function for
+the ...
 
 A single dynamically linked file might define several
 functions.  However, as Octave searches for functions based on the
@@ -1164,7 +1175,7 @@
 @code{autoload} function, that permits the user to define in which
 file a certain function will be found.
 
-@DOCSTRING(autoload)
+@ref{XREFautoload, , @code{autoload}}: Define FUNCTION to autoload from FILE.
 
 @node Function Locking
 @subsection Function Locking
@@ -1226,11 +1237,13 @@
 external editor, from having any effect in the current Octave session; A
 similar effect can be had with the @code{ignore_function_time_stamp} function.
 
-@DOCSTRING(mlock)
+@ref{XREFmlock, , @code{mlock}}: Lock the current function into memory so that it can't be removed with
+'clear'.
 
-@DOCSTRING(munlock)
+@ref{XREFmunlock, , @code{munlock}}: Unlock the named function FCN so that it may be removed from memory with
+'cle...
 
-@DOCSTRING(mislocked)
+@ref{XREFmislocked, , @code{mislocked}}: Return true if the named function FCN is locked in memory.
 
 @node Function Precedence
 @subsection Function Precedence
@@ -1374,7 +1387,7 @@
 the name @file{@var{file}.m}, you can use the function @code{source} to
 execute commands from any file.
 
-@DOCSTRING(source)
+@ref{XREFsource, , @code{source}}: Parse and execute the contents of FILE.
 
 @menu
 * Publish Octave Script Files::
@@ -1391,11 +1404,12 @@
 documentation can make use of @ref{Publishing Markup} to enhance and
 customize the output.
 
-@DOCSTRING(publish)
+@ref{XREFpublish, , @code{publish}}: Generate a report from the Octave script file FILE in one of several
+output f...
 
 The counterpart to @code{publish} is @code{grabcode}:
 
-@DOCSTRING(grabcode)
+@ref{XREFgrabcode, , @code{grabcode}}: Grab the code from a report created by the 'publish' function.
 
 @node Publishing Markup
 @subsection Publishing Markup
@@ -1798,15 +1812,17 @@
 @end group
 @end example
 
-@DOCSTRING(is_function_handle)
+@ref{XREFis_function_handle, , @code{is_function_handle}}: Return true if X is a function handle.
 
-@DOCSTRING(functions)
+@ref{XREFfunctions, , @code{functions}}: Return a structure containing information about the function handle
+FCN_HANDLE.
 
-@DOCSTRING(func2str)
+@ref{XREFfunc2str, , @code{func2str}}: Return a string containing the name of the function referenced by the
+functio...
 
-@DOCSTRING(str2func)
+@ref{XREFstr2func, , @code{str2func}}: Return a function handle constructed from the string FCN_NAME.
 
-@DOCSTRING(symvar)
+@ref{XREFsymvar, , @code{symvar}}: Identify the symbolic variable names in the string STR.
 
 @node Anonymous Functions
 @subsection Anonymous Functions
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/geometry.txi
--- a/doc/interpreter/geometry.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/geometry.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -49,14 +49,14 @@
 case of a regular grid, 4 or more points can be on a single
 circum-circle.  In this case the Delaunay triangulation is not unique.
 
-@DOCSTRING(delaunay)
+@ref{XREFdelaunay, , @code{delaunay}}: Compute the Delaunay triangulation for a 2-D or 3-D set of points.
 
 For 3-D inputs @code{delaunay} returns a set of tetrahedra that satisfy the
 Delaunay circum-circle criteria.  Similarly, @code{delaunayn} returns the
 N-dimensional simplex satisfying the Delaunay circum-circle criteria.
 The N-dimensional extension of a triangulation is called a tessellation.
 
-@DOCSTRING(delaunayn)
+@ref{XREFdelaunayn, , @code{delaunayn}}: Compute the Delaunay triangulation for an N-dimensional set of points.
 
 An example of a Delaunay triangulation of a set of points is
 
@@ -95,13 +95,13 @@
 to plot the Delaunay triangulation of a 2-dimensional set of points.
 @code{tetramesh} will plot the triangulation of a 3-dimensional set of points.
 
-@DOCSTRING(triplot)
+@ref{XREFtriplot, , @code{triplot}}: Plot a 2-D triangular mesh.
 
-@DOCSTRING(trimesh)
+@ref{XREFtrimesh, , @code{trimesh}}: Plot a 3-D triangular wireframe mesh.
 
-@DOCSTRING(trisurf)
+@ref{XREFtrisurf, , @code{trisurf}}: Plot a 3-D triangular surface.
 
-@DOCSTRING(tetramesh)
+@ref{XREFtetramesh, , @code{tetramesh}}: Display the tetrahedrons defined in the m-by-4 matrix T as 3-D patches.
 
 The difference between @code{triplot}, and @code{trimesh} or @code{trisurf},
 is that the former only plots the 2-dimensional triangulation itself, whereas
@@ -201,9 +201,9 @@
 @code{tsearchn}.  @code{tsearch} is optimized for 2-dimensions and the
 Barycentric coordinates are not explicitly formed.
 
-@DOCSTRING(tsearch)
+@ref{XREFtsearch, , @code{tsearch}}: Search for the enclosing Delaunay convex hull.
 
-@DOCSTRING(tsearchn)
+@ref{XREFtsearchn, , @code{tsearchn}}: Search for the enclosing Delaunay convex hull.
 
 An example of the use of @code{tsearch} can be seen with the simple
 triangulation
@@ -245,9 +245,10 @@
 point of the tessellation does not have to be one of the vertices of the
 N-simplex within which the desired point is found.
 
-@DOCSTRING(dsearch)
+@ref{XREFdsearch, , @code{dsearch}}: Return the index IDX of the closest point in 'X, Y' to the elements
+'[XI(:), ...
 
-@DOCSTRING(dsearchn)
+@ref{XREFdsearchn, , @code{dsearchn}}: Return the index IDX of the closest point in X to the elements XI.
 
 An example of the use of @code{dsearch}, using the above values of
 @var{x}, @var{y} and @var{tri} is
@@ -286,9 +287,9 @@
 Voronoi tessellation are the centers of the circum-circles of the
 simplices of the Delaunay tessellation.
 
-@DOCSTRING(voronoi)
+@ref{XREFvoronoi, , @code{voronoi}}: Plot the Voronoi diagram of points '(X, Y)'.
 
-@DOCSTRING(voronoin)
+@ref{XREFvoronoin, , @code{voronoin}}: Compute N-dimensional Voronoi facets.
 
 An example of the use of @code{voronoi} is
 
@@ -323,7 +324,7 @@
 diagram, and which points of a set of points is in a polygon can be had
 with the @code{polyarea} and @code{inpolygon} functions respectively.
 
-@DOCSTRING(polyarea)
+@ref{XREFpolyarea, , @code{polyarea}}: Determine area of a polygon by triangle method.
 
 An example of the use of @code{polyarea} might be
 
@@ -344,9 +345,10 @@
 area.  A simplified version of @code{polyarea} for rectangles is
 available with @code{rectint}
 
-@DOCSTRING(rectint)
+@ref{XREFrectint, , @code{rectint}}: Compute area or volume of intersection of rectangles or N-D boxes.
 
-@DOCSTRING(inpolygon)
+@ref{XREFinpolygon, , @code{inpolygon}}: For a polygon defined by vertex points '(XV, YV)', return true if the
+points ...
 
 An example of the use of @code{inpolygon} might be
 
@@ -382,9 +384,9 @@
 and @code{convhulln} to calculate the convex hull of 2-dimensional and
 N-dimensional sets of points.
 
-@DOCSTRING(convhull)
+@ref{XREFconvhull, , @code{convhull}}: Compute the convex hull of a 2-D or 3-D set of points.
 
-@DOCSTRING(convhulln)
+@ref{XREFconvhulln, , @code{convhulln}}: Compute the convex hull of the set of points PTS.
 
 An example of the use of @code{convhull} is
 
@@ -419,11 +421,11 @@
 are used to interpolate to the desired points.  The functions that perform this
 interpolation are @code{griddata}, @code{griddata3} and @code{griddatan}.
 
-@DOCSTRING(griddata)
+@ref{XREFgriddata, , @code{griddata}}: Interpolate irregular 2-D and 3-D source data at specified points.
 
-@DOCSTRING(griddata3)
+@ref{XREFgriddata3, , @code{griddata3}}: Interpolate irregular 3-D source data at specified points.
 
-@DOCSTRING(griddatan)
+@ref{XREFgriddatan, , @code{griddatan}}: Interpolate irregular source data X, Y at points specified by XI.
 
 An example of the use of the @code{griddata} function is
 
@@ -470,8 +472,11 @@
 @end example
 @end ifnottex
 
-@DOCSTRING(rotx)
+@ref{XREFrotx, , @code{rotx}}: 'rotx' returns the 3x3 transformation matrix corresponding to an active
+rotat...
 
-@DOCSTRING(roty)
+@ref{XREFroty, , @code{roty}}: 'roty' returns the 3x3 transformation matrix corresponding to an active
+rotat...
 
-@DOCSTRING(rotz)
+@ref{XREFrotz, , @code{rotz}}: 'rotz' returns the 3x3 transformation matrix corresponding to an active
+rotat...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/grammar.txi
--- a/doc/interpreter/grammar.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/grammar.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -56,7 +56,7 @@
 The function @code{iskeyword} can be used to quickly check whether an
 identifier is reserved by Octave.
 
-@DOCSTRING(iskeyword)
+@ref{XREFiskeyword, , @code{iskeyword}}: Return true if NAME is an Octave keyword.
 
 @node Parser
 @section Parser
@@ -71,13 +71,16 @@
 periodic evaluation.  @code{remove_input_event_hook} will stop a user function
 from being evaluated periodically.
 
-@DOCSTRING(add_input_event_hook)
+@ref{XREFadd_input_event_hook, , @code{add_input_event_hook}}: Add the named function or function handle FCN to the list of functions
+to cal...
 
-@DOCSTRING(remove_input_event_hook)
+@ref{XREFremove_input_event_hook, , @code{remove_input_event_hook}}: Remove the named function or function handle with the given identifier
+from t...
 
 Finally, when the parser cannot identify an input token it calls a particular
 function to handle this.  By default, this is the internal function
 @qcode{"__unimplemented__"} which makes suggestions about possible Octave
 substitutes for @sc{matlab} functions.
 
-@DOCSTRING(missing_function_hook)
+@ref{XREFmissing_function_hook, , @code{missing_function_hook}}: Query or set the internal variable that specifies the function to call
+to pro...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/gui.txi
--- a/doc/interpreter/gui.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/gui.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -55,51 +55,56 @@
 a filename.
 
 @cindex dialog, displaying a dialog for selecting directories
-@DOCSTRING(uigetdir)
+@ref{XREFuigetdir, , @code{uigetdir}}: Open a GUI dialog for selecting a directory.
 
 @cindex dialog, displaying a dialog for selecting files
-@DOCSTRING(uigetfile)
+@ref{XREFuigetfile, , @code{uigetfile}}: Open a GUI dialog for selecting a file and return the filename FNAME,
+the pat...
 
 @cindex dialog, displaying a dialog for storing files
-@DOCSTRING(uiputfile)
+@ref{XREFuiputfile, , @code{uiputfile}}: Open a GUI dialog for selecting a file.
 
 Additionally, there are dialog boxes for displaying help messages, warnings, or
 errors, and for getting text input from the user.
 
 @cindex dialog, displaying an error dialog
-@DOCSTRING(errordlg)
+@ref{XREFerrordlg, , @code{errordlg}}: Display an error dialog box with error message MSG and caption TITLE.
 
 @cindex dialog, displaying a help dialog
-@DOCSTRING(helpdlg)
+@ref{XREFhelpdlg, , @code{helpdlg}}: Display a help dialog box with help message MSG and caption TITLE.
 
 @cindex dialog, displaying an input dialog
-@DOCSTRING(inputdlg)
+@ref{XREFinputdlg, , @code{inputdlg}}: Return user input from a multi-textfield dialog box in a cell array of
+string...
 
 @cindex dialog, displaying a list dialog
-@DOCSTRING(listdlg)
+@ref{XREFlistdlg, , @code{listdlg}}: Return user inputs from a list dialog box in a vector of selection
+indices (S...
 
 @cindex dialog, displaying a message dialog
-@DOCSTRING(msgbox)
+@ref{XREFmsgbox, , @code{msgbox}}: Display MSG using a message dialog box.
 
 @cindex dialog, displaying a question dialog
-@DOCSTRING(questdlg)
+@ref{XREFquestdlg, , @code{questdlg}}: Display MSG using a question dialog box and return the caption of the
+activat...
 
 @cindex dialog, displaying a warning dialog
-@DOCSTRING(warndlg)
+@ref{XREFwarndlg, , @code{warndlg}}: Display a warning dialog box with warning message MSG and caption TITLE.
 
 @cindex dialog, displaying a font selection dialog
-@DOCSTRING(uisetfont)
+@ref{XREFuisetfont, , @code{uisetfont}}: Open a font selection dialog.
 
 For creating new dialog types, there is a dialog function.
 
 @cindex dialog, displaying a modal dialog
-@DOCSTRING(dialog)
+@ref{XREFdialog, , @code{dialog}}: Create an empty modal dialog window to which other uicontrols can be
+added.
 
 @node Progress Bar
 @section Progress Bar
 @cindex Progress Bar
 
-@DOCSTRING(waitbar)
+@ref{XREFwaitbar, , @code{waitbar}}: Return a handle H to a new progress indicator ("waitbar") object.
 
 @node UI Elements
 @section UI Elements
@@ -108,23 +113,23 @@
 toolkit, although some functionality is available with the @code{fltk} toolkit.
 There is no support for the @code{gnuplot} toolkit.
 
-@DOCSTRING(uipanel)
+@ref{XREFuipanel, , @code{uipanel}}: Create a uipanel object.
 
-@DOCSTRING(uibuttongroup)
+@ref{XREFuibuttongroup, , @code{uibuttongroup}}: Create a uibuttongroup object and return a handle to it.
 
-@DOCSTRING(uicontrol)
+@ref{XREFuicontrol, , @code{uicontrol}}: Create a uicontrol object and return a handle to it.
 
-@DOCSTRING(uitable)
+@ref{XREFuitable, , @code{uitable}}: Create a uitable object and return a handle to it.
 
-@DOCSTRING(uimenu)
+@ref{XREFuimenu, , @code{uimenu}}: Create a uimenu object and return a handle to it.
 
-@DOCSTRING(uicontextmenu)
+@ref{XREFuicontextmenu, , @code{uicontextmenu}}: Create a uicontextmenu object and return a handle to it.
 
-@DOCSTRING(uitoolbar)
+@ref{XREFuitoolbar, , @code{uitoolbar}}: Create a uitoolbar object.
 
-@DOCSTRING(uipushtool)
+@ref{XREFuipushtool, , @code{uipushtool}}: Create a uipushtool object.
 
-@DOCSTRING(uitoggletool)
+@ref{XREFuitoggletool, , @code{uitoggletool}}: Create a uitoggletool object.
 
 @node GUI Utility Functions
 @section GUI Utility Functions
@@ -133,44 +138,53 @@
 programs that do.  The functions @code{uiwait}, @code{uiresume}, and
 @code{waitfor} are only available with the @code{qt} or @code{fltk} toolkits.
 
-@DOCSTRING(guidata)
+@ref{XREFguidata, , @code{guidata}}: Query or set user-custom GUI data.
 
-@DOCSTRING(guihandles)
+@ref{XREFguihandles, , @code{guihandles}}: Return a structure of object handles for the figure associated with
+handle H.
 
-@DOCSTRING(have_window_system)
+@ref{XREFhave_window_system, , @code{have_window_system}}: Return true if a window system is available (X11, Windows, or Apple OS
+X) and...
 
-@DOCSTRING(isguirunning)
+@ref{XREFisguirunning, , @code{isguirunning}}: Return true if Octave is running in GUI mode and false otherwise.
 
-@DOCSTRING(getpixelposition)
+@ref{XREFgetpixelposition, , @code{getpixelposition}}: Return the position of a user interface component in pixel units.
 
-@DOCSTRING(listfonts)
+@ref{XREFlistfonts, , @code{listfonts}}: List system fonts.
 
-@DOCSTRING(movegui)
+@ref{XREFmovegui, , @code{movegui}}: Move a figure specified by figure handle H to a position on the screen
+define...
 
-@DOCSTRING(openvar)
+@ref{XREFopenvar, , @code{openvar}}: Open the variable NAME in the graphical Variable Editor.
 
-@DOCSTRING(uiwait)
+@ref{XREFuiwait, , @code{uiwait}}: Suspend program execution until the figure with handle H is deleted or
+'uires...
 
-@DOCSTRING(uiresume)
+@ref{XREFuiresume, , @code{uiresume}}: Resume program execution suspended with 'uiwait'.
 
-@DOCSTRING(waitfor)
+@ref{XREFwaitfor, , @code{waitfor}}: Suspend the execution of the current program until a condition is
+satisfied o...
 
 @node User-Defined Preferences
 @section User-Defined Preferences
 
-@DOCSTRING(getpref)
+@ref{XREFgetpref, , @code{getpref}}: Return the preference value corresponding to the named preference PREF
+in the...
 
-@DOCSTRING(setpref)
+@ref{XREFsetpref, , @code{setpref}}: Set the preference PREF to the given VAL in the named preference group
+GROUP.
 
-@DOCSTRING(addpref)
+@ref{XREFaddpref, , @code{addpref}}: Add the preference PREF and associated value VAL to the named preference
+grou...
 
-@DOCSTRING(rmpref)
-
-@DOCSTRING(ispref)
+@ref{XREFrmpref, , @code{rmpref}}: Remove the named preference PREF from the preference group GROUP.
 
-@DOCSTRING(prefdir)
+@ref{XREFispref, , @code{ispref}}: Return true if the named preference PREF exists in the preference group
+GROUP.
 
-@DOCSTRING(preferences)
+@ref{XREFprefdir, , @code{prefdir}}: Return the directory that holds the preferences for Octave.
+
+@ref{XREFpreferences, , @code{preferences}}: Display the GUI preferences dialog window for Octave.
 
 @node Octave Workspace Windows
 @section Octave Workspace Windows
@@ -180,11 +194,11 @@
 lies in the ability to call these functions from a script and highlight a
 window without using a mouse for selection.
 
-@DOCSTRING(commandhistory)
+@ref{XREFcommandhistory, , @code{commandhistory}}: Show the GUI command history window and give it the keyboard focus.
 
-@DOCSTRING(commandwindow)
+@ref{XREFcommandwindow, , @code{commandwindow}}: Show the GUI command window and give it the keyboard focus.
 
-@DOCSTRING(filebrowser)
+@ref{XREFfilebrowser, , @code{filebrowser}}: Show the GUI file browser window and give it the keyboard focus.
 
-@DOCSTRING(workspace)
+@ref{XREFworkspace, , @code{workspace}}: Show the GUI workspace window and give it the keyboard focus.
 
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/image.txi
--- a/doc/interpreter/image.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/image.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -63,18 +63,19 @@
 @end group
 @end example
 
-@DOCSTRING(imread)
+@ref{XREFimread, , @code{imread}}: Read images from various file formats.
 
-@DOCSTRING(imwrite)
+@ref{XREFimwrite, , @code{imwrite}}: Write images in various file formats.
 
-@DOCSTRING(IMAGE_PATH)
+@ref{XREFIMAGE_PATH, , @code{IMAGE_PATH}}: Query or set the internal variable that specifies a colon separated list
+of d...
 
 It is possible to get information about an image file on disk, without actually
 reading it into Octave.  This is done using the @code{imfinfo} function which
 provides read access to many of the parameters stored in the header of the
 image file.
 
-@DOCSTRING(imfinfo)
+@ref{XREFimfinfo, , @code{imfinfo}}: Read image information from a file.
 
 By default, Octave's image IO functions (@code{imread}, @code{imwrite},
 and @code{imfinfo}) use the @code{GraphicsMagick} library for their
@@ -98,7 +99,7 @@
 still be read correctly, and that even unlisted formats are not necessarily
 unsupported.
 
-@DOCSTRING(imformats)
+@ref{XREFimformats, , @code{imformats}}: Manage supported image formats.
 
 @node Displaying Images
 @section Displaying Images
@@ -107,11 +108,12 @@
 The most basic function for this is the @code{imshow} function that
 shows the image given in the first input argument.
 
-@DOCSTRING(imshow)
+@ref{XREFimshow, , @code{imshow}}: Display the image IM, where IM can be a 2-dimensional (grayscale image)
+or a ...
 
-@DOCSTRING(image)
+@ref{XREFimage, , @code{image}}: Display a matrix as an indexed color image.
 
-@DOCSTRING(imagesc)
+@ref{XREFimagesc, , @code{imagesc}}: Display a scaled version of the matrix IMG as a color image.
 
 @node Representing Images
 @section Representing Images
@@ -143,100 +145,102 @@
 The following convenience functions are available for conversion between image
 formats.
 
-@DOCSTRING(im2double)
+@ref{XREFim2double, , @code{im2double}}: Convert image to double precision.
 
-@DOCSTRING(gray2ind)
+@ref{XREFgray2ind, , @code{gray2ind}}: Convert a grayscale or binary intensity image to an indexed image.
 
-@DOCSTRING(ind2gray)
+@ref{XREFind2gray, , @code{ind2gray}}: Convert a color indexed image to a grayscale intensity image.
 
-@DOCSTRING(rgb2ind)
+@ref{XREFrgb2ind, , @code{rgb2ind}}: Convert an image in red-green-blue (RGB) color space to an indexed
+image.
 
-@DOCSTRING(ind2rgb)
+@ref{XREFind2rgb, , @code{ind2rgb}}: Convert an indexed image to red, green, and blue color components.
 
 Octave also provides tools to produce and work with movie frame structures.
 Those structures encapsulate the image data (@qcode{"cdata"} field) together
 with the corresponding colormap (@qcode{"colormap"} field).
 
-@DOCSTRING(getframe)
+@ref{XREFgetframe, , @code{getframe}}: Capture a figure or axes as a movie frame structure.
 
-@DOCSTRING(movie)
+@ref{XREFmovie, , @code{movie}}: Play a movie defined by an array of frame structures.
 
-@DOCSTRING(frame2im)
+@ref{XREFframe2im, , @code{frame2im}}: Convert movie frame to indexed image.
 
-@DOCSTRING(im2frame)
+@ref{XREFim2frame, , @code{im2frame}}: Convert image to movie frame.
 
 The @code{colormap} function is used to change the colormap of the current
 axes or figure.
 
-@DOCSTRING(colormap)
+@ref{XREFcolormap, , @code{colormap}}: Query or set the current colormap.
 
-@DOCSTRING(iscolormap)
+@ref{XREFiscolormap, , @code{iscolormap}}: Return true if CMAP is a colormap.
 
 The following functions return predefined colormaps, the same that can be
 requested by name using the @code{colormap} function.
 
-@DOCSTRING(rgbplot)
+@ref{XREFrgbplot, , @code{rgbplot}}: Plot the components of a colormap.
 
-@DOCSTRING(autumn)
+@ref{XREFautumn, , @code{autumn}}: Create color colormap.
 
-@DOCSTRING(bone)
+@ref{XREFbone, , @code{bone}}: Create color colormap.
 
-@DOCSTRING(colorcube)
+@ref{XREFcolorcube, , @code{colorcube}}: Create color colormap.
 
-@DOCSTRING(cool)
+@ref{XREFcool, , @code{cool}}: Create color colormap.
 
-@DOCSTRING(copper)
+@ref{XREFcopper, , @code{copper}}: Create color colormap.
 
-@DOCSTRING(cubehelix)
+@ref{XREFcubehelix, , @code{cubehelix}}: Create cubehelix colormap.
 
-@DOCSTRING(flag)
+@ref{XREFflag, , @code{flag}}: Create color colormap.
 
-@DOCSTRING(gray)
+@ref{XREFgray, , @code{gray}}: Create gray colormap.
 
-@DOCSTRING(hot)
+@ref{XREFhot, , @code{hot}}: Create color colormap.
 
-@DOCSTRING(hsv)
+@ref{XREFhsv, , @code{hsv}}: Create color colormap.
 
-@DOCSTRING(jet)
+@ref{XREFjet, , @code{jet}}: Create color colormap.
 
-@DOCSTRING(lines)
+@ref{XREFlines, , @code{lines}}: Create color colormap.
 
-@DOCSTRING(ocean)
+@ref{XREFocean, , @code{ocean}}: Create color colormap.
 
-@DOCSTRING(pink)
+@ref{XREFpink, , @code{pink}}: Create color colormap.
 
-@DOCSTRING(prism)
+@ref{XREFprism, , @code{prism}}: Create color colormap.
 
-@DOCSTRING(rainbow)
+@ref{XREFrainbow, , @code{rainbow}}: Create color colormap.
 
-@DOCSTRING(spring)
+@ref{XREFspring, , @code{spring}}: Create color colormap.
 
-@DOCSTRING(summer)
+@ref{XREFsummer, , @code{summer}}: Create color colormap.
 
-@DOCSTRING(turbo)
+@ref{XREFturbo, , @code{turbo}}: Create color colormap.
 
-@DOCSTRING(viridis)
+@ref{XREFviridis, , @code{viridis}}: Create color colormap.
 
-@DOCSTRING(white)
+@ref{XREFwhite, , @code{white}}: Create color colormap.
 
-@DOCSTRING(winter)
+@ref{XREFwinter, , @code{winter}}: Create color colormap.
 
-@DOCSTRING(contrast)
+@ref{XREFcontrast, , @code{contrast}}: Return a gray colormap that maximizes the contrast in an image.
 
 The following three functions modify the existing colormap rather than
 replace it.
 
-@DOCSTRING(brighten)
+@ref{XREFbrighten, , @code{brighten}}: Brighten or darken a colormap.
 
-@DOCSTRING(spinmap)
+@ref{XREFspinmap, , @code{spinmap}}: Cycle the colormap for T seconds with a color increment of INC.
 
-@DOCSTRING(whitebg)
+@ref{XREFwhitebg, , @code{whitebg}}: Invert the colors in the current color scheme.
 
 The following functions can be used to manipulate colormaps.
 
-@DOCSTRING(cmunique)
+@ref{XREFcmunique, , @code{cmunique}}: Convert an input image X to an output indexed image Y which uses the
+smallest...
 
-@DOCSTRING(cmpermute)
+@ref{XREFcmpermute, , @code{cmpermute}}: Reorder colors in a colormap.
 
 @node Plotting on top of Images
 @section Plotting on top of Images
@@ -272,8 +276,9 @@
 and vice versa.  It is also possible to convert from a color RGB image to a
 grayscale image.
 
-@DOCSTRING(rgb2hsv)
+@ref{XREFrgb2hsv, , @code{rgb2hsv}}: Transform a colormap or image from RGB to HSV color space.
 
-@DOCSTRING(hsv2rgb)
+@ref{XREFhsv2rgb, , @code{hsv2rgb}}: Transform a colormap or image from HSV to RGB color space.
 
-@DOCSTRING(rgb2gray)
+@ref{XREFrgb2gray, , @code{rgb2gray}}: Transform an image or colormap from red-green-blue (RGB) color space to
+a gra...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/interp.txi
--- a/doc/interpreter/interp.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/interp.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -31,7 +31,7 @@
 of which are described in this section.  @ref{Polynomial Interpolation}
 and @ref{Interpolation on Scattered Data} describe additional methods.
 
-@DOCSTRING(interp1)
+@ref{XREFinterp1, , @code{interp1}}: One-dimensional interpolation.
 
 There are some important differences between the various interpolation
 methods.  The @qcode{"spline"} method enforces that both the first and second
@@ -86,7 +86,7 @@
 converted to the frequency domain, padded with zeros and then
 reconverted to the time domain.
 
-@DOCSTRING(interpft)
+@ref{XREFinterpft, , @code{interpft}}: Fourier interpolation.
 
 There are two significant limitations on Fourier interpolation.  First,
 the function signal is assumed to be periodic, and so non-periodic
@@ -125,7 +125,7 @@
 In addition, the support functions @code{spline} and @code{lookup} that
 underlie the @code{interp1} function can be called directly.
 
-@DOCSTRING(spline)
+@ref{XREFspline, , @code{spline}}: Return the cubic spline interpolant of points X and Y.
 
 @node Multi-dimensional Interpolation
 @section Multi-dimensional Interpolation
@@ -134,11 +134,11 @@
 similar capabilities.  Methods using Delaunay tessellation are described
 in @ref{Interpolation on Scattered Data}.
 
-@DOCSTRING(interp2)
+@ref{XREFinterp2, , @code{interp2}}: Two-dimensional interpolation.
 
-@DOCSTRING(interp3)
+@ref{XREFinterp3, , @code{interp3}}: Three-dimensional interpolation.
 
-@DOCSTRING(interpn)
+@ref{XREFinterpn, , @code{interpn}}: Perform N-dimensional interpolation, where N is at least two.
 
 A significant difference between @code{interpn} and the other two
 multi-dimensional interpolation functions is the fashion in which the
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/io.txi
--- a/doc/interpreter/io.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/io.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -64,13 +64,15 @@
 The @code{format} command offers some control over the way Octave prints
 values with @code{disp} and through the normal echoing mechanism.
 
-@DOCSTRING(disp)
+@ref{XREFdisp, , @code{disp}}: Display the value of X.
 
-@DOCSTRING(list_in_columns)
+@ref{XREFlist_in_columns, , @code{list_in_columns}}: Return a string containing the elements of ARG listed in columns with an
+over...
 
-@DOCSTRING(terminal_size)
+@ref{XREFterminal_size, , @code{terminal_size}}: Query or set the size of the terminal window.
 
-@DOCSTRING(format)
+@ref{XREFformat, , @code{format}}: Reset or specify the format of the output produced by 'disp' and
+Octave's nor...
 
 @menu
 * Paging Screen Output::
@@ -98,17 +100,21 @@
 You can select the program to run as the pager with the @code{PAGER} function,
 and configure the pager itself with the @code{PAGER_FLAGS} function.
 
-@DOCSTRING(more)
+@ref{XREFmore, , @code{more}}: Turn output pagination on or off.
 
-@DOCSTRING(PAGER)
+@ref{XREFPAGER, , @code{PAGER}}: Query or set the internal variable that specifies the program to use to
+displ...
 
-@DOCSTRING(PAGER_FLAGS)
+@ref{XREFPAGER_FLAGS, , @code{PAGER_FLAGS}}: Query or set the internal variable that specifies the options to pass to
+the ...
 
-@DOCSTRING(page_screen_output)
+@ref{XREFpage_screen_output, , @code{page_screen_output}}: Query or set the internal variable that controls whether output intended
+for ...
 
-@DOCSTRING(page_output_immediately)
+@ref{XREFpage_output_immediately, , @code{page_output_immediately}}: Query or set the internal variable that controls whether Octave sends
+output ...
 
-@DOCSTRING(fflush)
+@ref{XREFfflush, , @code{fflush}}: Flush output to file descriptor FID.
 
 @c FIXME: maybe this would be a good place to describe the following message:
 @c
@@ -124,11 +130,12 @@
 used for managing an interactive dialog with a user, and the
 @code{keyboard} function is normally used for doing simple debugging.
 
-@DOCSTRING(input)
+@ref{XREFinput, , @code{input}}: Print PROMPT and wait for user input.
 
-@DOCSTRING(menu)
+@ref{XREFmenu, , @code{menu}}: Display a menu with heading TITLE and options OPT1, ..., and wait for
+user in...
 
-@DOCSTRING(yes_or_no)
+@ref{XREFyes_or_no, , @code{yes_or_no}}: Ask the user a yes-or-no question.
 
 For @code{input}, the normal command line history and editing functions
 are available at the prompt.
@@ -137,7 +144,7 @@
 character from the keyboard without requiring the user to type a
 carriage return.
 
-@DOCSTRING(kbhit)
+@ref{XREFkbhit, , @code{kbhit}}: Read a single keystroke from the keyboard.
 
 @node Simple File I/O
 @subsection Simple File I/O
@@ -174,21 +181,24 @@
 @end group
 @end example
 
-@DOCSTRING(save)
+@ref{XREFsave, , @code{save}}: Save the named variables V1, V2, ..., in the file FILE.
 
 There are three functions that modify the behavior of @code{save}.
 
-@DOCSTRING(save_default_options)
+@ref{XREFsave_default_options, , @code{save_default_options}}: Query or set the internal variable that specifies the default options
+for the...
 
-@DOCSTRING(save_precision)
-
-@DOCSTRING(save_header_format_string)
+@ref{XREFsave_precision, , @code{save_precision}}: Query or set the internal variable that specifies the number of digits
+to kee...
 
-@DOCSTRING(load)
+@ref{XREFsave_header_format_string, , @code{save_header_format_string}}: Query or set the internal variable that specifies the format string used
+for ...
 
-@DOCSTRING(fileread)
+@ref{XREFload, , @code{load}}: Load the named variables V1, V2, ..., from the file FILE.
 
-@DOCSTRING(native_float_format)
+@ref{XREFfileread, , @code{fileread}}: Read the contents of FILENAME and return it as a string.
+
+@ref{XREFnative_float_format, , @code{native_float_format}}: Return the native floating point format as a string.
 
 It is possible to write data to a file in a similar way to the
 @code{disp} function for writing data to the screen.  The @code{fdisp}
@@ -209,35 +219,37 @@
 @xref{Opening and Closing Files}, for details on how to use @code{fopen}
 and @code{fclose}.
 
-@DOCSTRING(fdisp)
+@ref{XREFfdisp, , @code{fdisp}}: Display the value of X on the stream FID.
 
 Octave can also read and write matrices text files such as comma
 separated lists.
 
-@DOCSTRING(dlmwrite)
+@ref{XREFdlmwrite, , @code{dlmwrite}}: Write the numeric matrix M to the text file FILE using a delimiter.
 
-@DOCSTRING(dlmread)
+@ref{XREFdlmread, , @code{dlmread}}: Read numeric data from the text file FILE which uses the delimiter SEP
+betwee...
 
-@DOCSTRING(csvwrite)
+@ref{XREFcsvwrite, , @code{csvwrite}}: Write the numeric matrix X to the file FILENAME in comma-separated-value
+(CSV...
 
-@DOCSTRING(csvread)
+@ref{XREFcsvread, , @code{csvread}}: Read the comma-separated-value (CSV) file FILENAME into the matrix X.
 
 Formatted data from can be read from, or written to, text files as well.
 
-@DOCSTRING(textread)
+@ref{XREFtextread, , @code{textread}}: This function is obsolete.
 
-@DOCSTRING(textscan)
+@ref{XREFtextscan, , @code{textscan}}: Read data from a text file or string.
 
 The @code{importdata} function has the ability to work with a wide
 variety of data.
 
-@DOCSTRING(importdata)
+@ref{XREFimportdata, , @code{importdata}}: Import data from the file FNAME.
 
 After importing, the data may need to be transformed before further analysis.
 The @code{rescale} function can shift and normalize a data set to a specified
 range.
 
-@DOCSTRING(rescale)
+@ref{XREFrescale, , @code{rescale}}: Scale matrix elements to a specified range of values.
 
 @menu
 * Saving Data on Unexpected Exits::
@@ -253,19 +265,26 @@
 most often is reasonable it can be changed through the following
 functions.
 
-@DOCSTRING(crash_dumps_octave_core)
+@ref{XREFcrash_dumps_octave_core, , @code{crash_dumps_octave_core}}: Query or set the internal variable that controls whether Octave tries to
+save...
 
-@DOCSTRING(sighup_dumps_octave_core)
+@ref{XREFsighup_dumps_octave_core, , @code{sighup_dumps_octave_core}}: Query or set the internal variable that controls whether Octave tries to
+save...
 
-@DOCSTRING(sigquit_dumps_octave_core)
+@ref{XREFsigquit_dumps_octave_core, , @code{sigquit_dumps_octave_core}}: Query or set the internal variable that controls whether Octave tries to
+save...
 
-@DOCSTRING(sigterm_dumps_octave_core)
+@ref{XREFsigterm_dumps_octave_core, , @code{sigterm_dumps_octave_core}}: Query or set the internal variable that controls whether Octave tries to
+save...
 
-@DOCSTRING(octave_core_file_options)
+@ref{XREFoctave_core_file_options, , @code{octave_core_file_options}}: Query or set the internal variable that specifies the options used for
+saving...
 
-@DOCSTRING(octave_core_file_limit)
+@ref{XREFoctave_core_file_limit, , @code{octave_core_file_limit}}: Query or set the internal variable that specifies the maximum amount of
+memor...
 
-@DOCSTRING(octave_core_file_name)
+@ref{XREFoctave_core_file_name, , @code{octave_core_file_name}}: Query or set the internal variable that specifies the name of the file
+used f...
 
 @node C-Style I/O Functions
 @section C-Style I/O Functions
@@ -283,11 +302,11 @@
 always use the symbolic names given in the table below, since it will
 make your programs easier to understand.
 
-@DOCSTRING(stdin)
+@ref{XREFstdin, , @code{stdin}}: Return the numeric value corresponding to the standard input stream.
 
-@DOCSTRING(stdout)
+@ref{XREFstdout, , @code{stdout}}: Return the numeric value corresponding to the standard output stream.
 
-@DOCSTRING(stderr)
+@ref{XREFstderr, , @code{stderr}}: Return the numeric value corresponding to the standard error stream.
 
 @menu
 * Opening and Closing Files::
@@ -331,11 +350,11 @@
 @end group
 @end example
 
-@DOCSTRING(fopen)
+@ref{XREFfopen, , @code{fopen}}: Open a file for low-level I/O or query open files and file descriptors.
 
-@DOCSTRING(fclose)
+@ref{XREFfclose, , @code{fclose}}: Close the file specified by the file descriptor FID.
 
-@DOCSTRING(is_valid_file_id)
+@ref{XREFis_valid_file_id, , @code{is_valid_file_id}}: Return true if FID refers to an open file.
 
 @node Simple Output
 @subsection Simple Output
@@ -354,13 +373,13 @@
 @end group
 @end example
 
-@DOCSTRING(fputs)
+@ref{XREFfputs, , @code{fputs}}: Write the string STRING to the file with file descriptor FID.
 
 A function much similar to @code{fputs} is available for writing data
 to the screen.  The @code{puts} function works just like @code{fputs}
 except it doesn't take a file pointer as its input.
 
-@DOCSTRING(puts)
+@ref{XREFputs, , @code{puts}}: Write a string to the standard output with no formatting.
 
 @node Line-Oriented Input
 @subsection Line-Oriented Input
@@ -382,11 +401,14 @@
 This of course assumes that the file @samp{free.txt} exists and contains
 the line @samp{Free Software is needed for Free Science}.
 
-@DOCSTRING(fgetl)
+@ref{XREFfgetl, , @code{fgetl}}: Read characters from a file, stopping after a newline, or EOF, or LEN
+charact...
 
-@DOCSTRING(fgets)
+@ref{XREFfgets, , @code{fgets}}: Read characters from a file, stopping after a newline, or EOF, or LEN
+charact...
 
-@DOCSTRING(fskipl)
+@ref{XREFfskipl, , @code{fskipl}}: Read and skip COUNT lines from the file specified by the file descriptor
+FID.
 
 @node Formatted Output
 @subsection Formatted Output
@@ -402,11 +424,13 @@
 the template string (e.g., @qcode{"@backslashchar{}n"} => newline) are
 expanded even when the template string is defined with single quotes.
 
-@DOCSTRING(printf)
+@ref{XREFprintf, , @code{printf}}: Print optional arguments under the control of the template string
+TEMPLATE to...
 
-@DOCSTRING(fprintf)
+@ref{XREFfprintf, , @code{fprintf}}: This function is equivalent to 'printf', except that the output is
+written to...
 
-@DOCSTRING(sprintf)
+@ref{XREFsprintf, , @code{sprintf}}: This is like 'printf', except that the output is returned as a string.
 
 The @code{printf} function can be used to print any number of arguments.
 The template string argument you supply in a call provides
@@ -807,11 +831,13 @@
 functions.  One can be used to extract vectors of data from a file, and
 the other is more `C-like'.
 
-@DOCSTRING(fscanf)
+@ref{XREFfscanf, , @code{fscanf}}: In the first form, read from FID according to TEMPLATE, returning the
+result ...
 
-@DOCSTRING(scanf)
+@ref{XREFscanf, , @code{scanf}}: This is equivalent to calling 'fscanf' with FID = 'stdin'.
 
-@DOCSTRING(sscanf)
+@ref{XREFsscanf, , @code{sscanf}}: This is like 'fscanf', except that the characters are taken from the
+string S...
 
 Calls to @code{scanf} are superficially similar to calls to
 @code{printf} in that arbitrary arguments are read under the control of
@@ -1051,9 +1077,10 @@
 of integer data and convert among the supported floating point formats
 as the data are read.
 
-@DOCSTRING(fread)
+@ref{XREFfread, , @code{fread}}: Read binary data from the file specified by the file descriptor FID.
 
-@DOCSTRING(fwrite)
+@ref{XREFfwrite, , @code{fwrite}}: Write data in binary form to the file specified by the file descriptor
+FID, r...
 
 @node Temporary Files
 @subsection Temporary Files
@@ -1063,15 +1090,18 @@
 within Octave needs to access data.  When Octave exits all temporary
 files will be deleted, so this step need not be executed manually.
 
-@DOCSTRING(mkstemp)
+@ref{XREFmkstemp, , @code{mkstemp}}: Return the file descriptor FID corresponding to a new temporary file
+with a u...
 
-@DOCSTRING(tmpfile)
+@ref{XREFtmpfile, , @code{tmpfile}}: Return the file ID corresponding to a new temporary file with a unique
+name.
 
-@DOCSTRING(tempname)
+@ref{XREFtempname, , @code{tempname}}: Return a unique temporary filename as a string.
 
-@DOCSTRING(tempdir)
+@ref{XREFtempdir, , @code{tempdir}}: Return the name of the host system's directory for temporary files.
 
-@DOCSTRING(P_tmpdir)
+@ref{XREFP_tmpdir, , @code{P_tmpdir}}: Return the name of the host system's *default* directory for temporary
+files.
 
 @node EOF and Errors
 @subsection End of File and Errors
@@ -1099,13 +1129,16 @@
 line.  This has the potential advantage of removing the loop in the
 above code.
 
-@DOCSTRING(feof)
+@ref{XREFfeof, , @code{feof}}: Return 1 if an end-of-file condition has been encountered for the file
+specif...
 
-@DOCSTRING(ferror)
+@ref{XREFferror, , @code{ferror}}: Query the error status of the stream specified by file descriptor FID.
 
-@DOCSTRING(fclear)
+@ref{XREFfclear, , @code{fclear}}: Clear the stream state for the file specified by the file descriptor
+FID.
 
-@DOCSTRING(freport)
+@ref{XREFfreport, , @code{freport}}: Print a list of which files have been opened, and whether they are open
+for r...
 
 @node File Positioning
 @subsection File Positioning
@@ -1113,17 +1146,22 @@
 Three functions are available for setting and determining the position of
 the file pointer for a given file.
 
-@DOCSTRING(ftell)
+@ref{XREFftell, , @code{ftell}}: Return the position of the file pointer as the number of characters from
+the ...
 
-@DOCSTRING(fseek)
+@ref{XREFfseek, , @code{fseek}}: Set the file pointer to the location OFFSET within the file FID.
 
-@DOCSTRING(SEEK_SET)
+@ref{XREFSEEK_SET, , @code{SEEK_SET}}: Return the numerical value to pass to 'fseek' to position the file
+pointer re...
 
-@DOCSTRING(SEEK_CUR)
+@ref{XREFSEEK_CUR, , @code{SEEK_CUR}}: Return the numerical value to pass to 'fseek' to position the file
+pointer re...
 
-@DOCSTRING(SEEK_END)
+@ref{XREFSEEK_END, , @code{SEEK_END}}: Return the numerical value to pass to 'fseek' to position the file
+pointer re...
 
-@DOCSTRING(frewind)
+@ref{XREFfrewind, , @code{frewind}}: Move the file pointer to the beginning of the file specified by file
+descript...
 
 The following example stores the current file position in the variable
 @code{marker}, moves the pointer to the beginning of the file, reads
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/linalg.txi
--- a/doc/interpreter/linalg.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/linalg.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -94,139 +94,164 @@
 @section Basic Matrix Functions
 @cindex matrix functions, basic
 
-@DOCSTRING(balance)
+@ref{XREFbalance, , @code{balance}}: Balance the matrix A to reduce numerical errors in future calculations.
 
-@DOCSTRING(bandwidth)
+@ref{XREFbandwidth, , @code{bandwidth}}: Compute the bandwidth of A.
 
-@DOCSTRING(cond)
+@ref{XREFcond, , @code{cond}}: Compute the P-norm condition number of a matrix with respect to
+inversion.
 
-@DOCSTRING(condeig)
+@ref{XREFcondeig, , @code{condeig}}: Compute condition numbers of a matrix with respect to eigenvalues.
 
-@DOCSTRING(det)
-
-@DOCSTRING(eig)
+@ref{XREFdet, , @code{det}}: Compute the determinant of A.
 
-@DOCSTRING(givens)
+@ref{XREFeig, , @code{eig}}: Compute the eigenvalues (LAMBDA) and optionally the right eigenvectors
+(V) an...
 
-@DOCSTRING(gsvd)
+@ref{XREFgivens, , @code{givens}}: Compute the Givens rotation matrix G.
+
+@ref{XREFgsvd, , @code{gsvd}}: Compute the generalized singular value decomposition of (A, B).
 
-@DOCSTRING(planerot)
+@ref{XREFplanerot, , @code{planerot}}: Compute the Givens rotation matrix for the two-element column vector X.
 
-@DOCSTRING(inv)
+@ref{XREFinv, , @code{inv}}: Compute the inverse of the square matrix A.
 
-@DOCSTRING(linsolve)
+@ref{XREFlinsolve, , @code{linsolve}}: Solve the linear system 'A*x = b'.
 
-@DOCSTRING(matrix_type)
+@ref{XREFmatrix_type, , @code{matrix_type}}: Identify the matrix type or mark a matrix as a particular type.
 
-@DOCSTRING(norm)
+@ref{XREFnorm, , @code{norm}}: Compute the p-norm of the matrix A.
 
-@DOCSTRING(null)
+@ref{XREFnull, , @code{null}}: Return an orthonormal basis Z of the null space of A.
 
-@DOCSTRING(orth)
+@ref{XREForth, , @code{orth}}: Return an orthonormal basis of the range space of A.
 
-@DOCSTRING(mgorth)
+@ref{XREFmgorth, , @code{mgorth}}: Orthogonalize a given column vector X with respect to a set of
+orthonormal ve...
 
-@DOCSTRING(pinv)
+@ref{XREFpinv, , @code{pinv}}: Return the Moore-Penrose pseudoinverse of X.
 @cindex pseudoinverse
 
-@DOCSTRING(rank)
+@ref{XREFrank, , @code{rank}}: Compute the rank of matrix A, using the singular value decomposition.
 
-@DOCSTRING(rcond)
+@ref{XREFrcond, , @code{rcond}}: Compute the 1-norm estimate of the reciprocal condition number as
+returned by...
 
-@DOCSTRING(trace)
+@ref{XREFtrace, , @code{trace}}: Compute the trace of A, the sum of the elements along the main diagonal.
 
-@DOCSTRING(rref)
+@ref{XREFrref, , @code{rref}}: Return the reduced row echelon form of A.
 
-@DOCSTRING(vecnorm)
+@ref{XREFvecnorm, , @code{vecnorm}}: Return the vector p-norm of the elements of array A along dimension DIM.
 
 @node Matrix Factorizations
 @section Matrix Factorizations
 @cindex matrix factorizations
 
-@DOCSTRING(chol)
+@ref{XREFchol, , @code{chol}}: Compute the upper Cholesky factor, R, of the real symmetric or complex
+Hermit...
 
-@DOCSTRING(cholinv)
-
-@DOCSTRING(chol2inv)
+@ref{XREFcholinv, , @code{cholinv}}: Compute the inverse of the symmetric positive definite matrix A using
+the Cho...
 
-@DOCSTRING(cholupdate)
+@ref{XREFchol2inv, , @code{chol2inv}}: Invert a symmetric, positive definite square matrix from its Cholesky
+decompo...
 
-@DOCSTRING(cholinsert)
+@ref{XREFcholupdate, , @code{cholupdate}}: Update or downdate a Cholesky factorization.
 
-@DOCSTRING(choldelete)
+@ref{XREFcholinsert, , @code{cholinsert}}: Update a Cholesky factorization given a row or column to insert in the
+origin...
 
-@DOCSTRING(cholshift)
+@ref{XREFcholdelete, , @code{choldelete}}: Update a Cholesky factorization given a row or column to delete from the
+orig...
 
-@DOCSTRING(hess)
+@ref{XREFcholshift, , @code{cholshift}}: Update a Cholesky factorization given a range of columns to shift in the
+orig...
 
-@DOCSTRING(lu)
+@ref{XREFhess, , @code{hess}}: Compute the Hessenberg decomposition of the matrix A.
 
-@DOCSTRING(luupdate)
+@ref{XREFlu, , @code{lu}}: Compute the LU decomposition of A.
 
-@DOCSTRING(qr)
+@ref{XREFluupdate, , @code{luupdate}}: Given an LU factorization of a real or complex matrix A = L*U, L lower
+unit t...
 
-@DOCSTRING(qrupdate)
+@ref{XREFqr, , @code{qr}}: Compute the QR factorization of A, using standard LAPACK subroutines.
+
+@ref{XREFqrupdate, , @code{qrupdate}}: Update a QR factorization given update vectors or matrices.
 
-@DOCSTRING(qrinsert)
+@ref{XREFqrinsert, , @code{qrinsert}}: Update a QR factorization given a row or column to insert in the
+original fac...
 
-@DOCSTRING(qrdelete)
-
-@DOCSTRING(qrshift)
+@ref{XREFqrdelete, , @code{qrdelete}}: Update a QR factorization given a row or column to delete from the
+original f...
 
-@DOCSTRING(qz)
+@ref{XREFqrshift, , @code{qrshift}}: Update a QR factorization given a range of columns to shift in the
+original f...
+
+@ref{XREFqz, , @code{qz}}: Compute the QZ decomposition of a generalized eigenvalue problem.
 
-@DOCSTRING(qzhess)
+@ref{XREFqzhess, , @code{qzhess}}: Compute the Hessenberg-triangular decomposition of the matrix pencil
+'(A, B)'...
 
-@DOCSTRING(schur)
+@ref{XREFschur, , @code{schur}}: Compute the Schur decomposition of A.
 
-@DOCSTRING(rsf2csf)
+@ref{XREFrsf2csf, , @code{rsf2csf}}: Convert a real, upper quasi-triangular Schur form TR to a complex, upper
+tria...
 
-@DOCSTRING(ordschur)
+@ref{XREFordschur, , @code{ordschur}}: Reorders the real Schur factorization (U,S) obtained with the 'schur'
+functio...
 
-@DOCSTRING(ordqz)
+@ref{XREFordqz, , @code{ordqz}}: Reorder the QZ decomposition of a generalized eigenvalue problem.
 
-@DOCSTRING(ordeig)
-
-@DOCSTRING(subspace)
+@ref{XREFordeig, , @code{ordeig}}: Return the eigenvalues of quasi-triangular matrices in their order of
+appeara...
 
-@DOCSTRING(svd)
+@ref{XREFsubspace, , @code{subspace}}: Determine the largest principal angle between two subspaces spanned by
+the co...
 
-@DOCSTRING(svd_driver)
+@ref{XREFsvd, , @code{svd}}: Compute the singular value decomposition of A.
+
+@ref{XREFsvd_driver, , @code{svd_driver}}: Query or set the underlying LAPACK driver used by 'svd'.
 
 @c FIXME: should there be a new section here?
 
-@DOCSTRING(housh)
+@ref{XREFhoush, , @code{housh}}: Compute Householder reflection vector HOUSV to reflect X to be the j-th
+colum...
 
-@DOCSTRING(krylov)
+@ref{XREFkrylov, , @code{krylov}}: Construct an orthogonal basis U of a block Krylov subspace.
 
 @node Functions of a Matrix
 @section Functions of a Matrix
 @cindex matrix, functions of
 
-@DOCSTRING(expm)
+@ref{XREFexpm, , @code{expm}}: Return the exponential of a matrix.
 
-@DOCSTRING(logm)
+@ref{XREFlogm, , @code{logm}}: Compute the matrix logarithm of the square matrix A.
 
-@DOCSTRING(sqrtm)
+@ref{XREFsqrtm, , @code{sqrtm}}: Compute the matrix square root of the square matrix A.
 
-@DOCSTRING(kron)
+@ref{XREFkron, , @code{kron}}: Form the Kronecker product of two or more matrices.
 
-@DOCSTRING(blkmm)
+@ref{XREFblkmm, , @code{blkmm}}: Compute products of matrix blocks.
 
-@DOCSTRING(sylvester)
+@ref{XREFsylvester, , @code{sylvester}}: Solve the Sylvester equation.
 
 @node Specialized Solvers
 @section Specialized Solvers
 @cindex matrix, specialized solvers
 
-@DOCSTRING(bicg)
+@ref{XREFbicg, , @code{bicg}}: Solve the linear system of equations 'A * X = B' by means of the
+Bi-Conjugate...
 
-@DOCSTRING(bicgstab)
-
-@DOCSTRING(cgs)
+@ref{XREFbicgstab, , @code{bicgstab}}: Solve 'A x = b' using the stabilized Bi-conjugate gradient iterative
+method.
 
-@DOCSTRING(gmres)
+@ref{XREFcgs, , @code{cgs}}: Solve 'A x = b', where A is a square matrix, using the Conjugate
+Gradients Sq...
 
-@DOCSTRING(qmr)
+@ref{XREFgmres, , @code{gmres}}: Solve 'A x = b' using the Preconditioned GMRES iterative method with
+restart,...
 
-@DOCSTRING(tfqmr)
+@ref{XREFqmr, , @code{qmr}}: Solve 'A x = b' using the Quasi-Minimal Residual iterative method
+(without lo...
+
+@ref{XREFtfqmr, , @code{tfqmr}}: Solve 'A x = b' using the Transpose-Tree qmr method, based on the cgs.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/matrix.txi
--- a/doc/interpreter/matrix.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/matrix.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -41,9 +41,11 @@
 The @code{find} function is also useful in determining which elements of
 a matrix meet a specified condition.
 
-@DOCSTRING(any)
+@ref{XREFany, , @code{any}}: For a vector argument, return true (logical 1) if any element of the
+vector i...
 
-@DOCSTRING(all)
+@ref{XREFall, , @code{all}}: For a vector argument, return true (logical 1) if all elements of the
+vector ...
 
 Since the comparison operators (@pxref{Comparison Ops}) return matrices
 of ones and zeros, it is easy to test a matrix for many things, not just
@@ -64,21 +66,26 @@
 @code{while} statements) Octave treats the test as if you had typed
 @code{all (all (condition))}.
 
-@DOCSTRING(xor)
-
-@DOCSTRING(diff)
+@ref{XREFxor, , @code{xor}}: Return the "exclusive or" of X and Y.
 
-@DOCSTRING(isinf)
+@ref{XREFdiff, , @code{diff}}: If X is a vector of length n, 'diff (X)' is the vector of first
+differences X...
 
-@DOCSTRING(isnan)
+@ref{XREFisinf, , @code{isinf}}: Return a logical array which is true where the elements of X are
+infinite and...
 
-@DOCSTRING(isfinite)
+@ref{XREFisnan, , @code{isnan}}: Return a logical array which is true where the elements of X are NaN
+values a...
 
-@DOCSTRING(common_size)
+@ref{XREFisfinite, , @code{isfinite}}: Return a logical array which is true where the elements of X are finite
+value...
 
-@DOCSTRING(find)
+@ref{XREFcommon_size, , @code{common_size}}: Determine if all input arguments are either scalar or of common size.
 
-@DOCSTRING(lookup)
+@ref{XREFfind, , @code{find}}: Return a vector of indices of nonzero elements of a matrix, as a row if
+X is ...
+
+@ref{XREFlookup, , @code{lookup}}: Lookup values in a *sorted* table.
 
 If you wish to check if a variable exists at all, instead of properties
 its elements may have, consult @ref{Status of Variables}.
@@ -86,96 +93,116 @@
 @node Rearranging Matrices
 @section Rearranging Matrices
 
-@DOCSTRING(fliplr)
+@ref{XREFfliplr, , @code{fliplr}}: Flip array left to right.
 
-@DOCSTRING(flipud)
+@ref{XREFflipud, , @code{flipud}}: Flip array upside down.
 
-@DOCSTRING(flip)
+@ref{XREFflip, , @code{flip}}: Return a copy of array X flipped across dimension DIM.
 
-@DOCSTRING(rot90)
+@ref{XREFrot90, , @code{rot90}}: Rotate array by 90 degree increments.
 
-@DOCSTRING(rotdim)
+@ref{XREFrotdim, , @code{rotdim}}: Return a copy of X with the elements rotated counterclockwise in
+90-degree in...
 
-@DOCSTRING(cat)
+@ref{XREFcat, , @code{cat}}: Return the concatenation of N-D array objects, ARRAY1, ARRAY2, ...,
+ARRAYN al...
 
-@DOCSTRING(horzcat)
+@ref{XREFhorzcat, , @code{horzcat}}: Return the horizontal concatenation of N-D array objects, ARRAY1,
+ARRAY2, ......
 
-@DOCSTRING(vertcat)
+@ref{XREFvertcat, , @code{vertcat}}: Return the vertical concatenation of N-D array objects, ARRAY1, ARRAY2,
+..., ...
 
-@DOCSTRING(permute)
+@ref{XREFpermute, , @code{permute}}: Return the generalized transpose for an N-D array object A.
 
-@DOCSTRING(ipermute)
-
-@DOCSTRING(reshape)
+@ref{XREFipermute, , @code{ipermute}}: The inverse of the 'permute' function.
 
-@DOCSTRING(resize)
+@ref{XREFreshape, , @code{reshape}}: Return a matrix with the specified dimensions (M, N, ...) whose elements
+are ...
 
-@DOCSTRING(circshift)
+@ref{XREFresize, , @code{resize}}: Resize X cutting off elements as necessary.
+
+@ref{XREFcircshift, , @code{circshift}}: Circularly shift the values of the array X.
 
-@DOCSTRING(shift)
+@ref{XREFshift, , @code{shift}}: If X is a vector, perform a circular shift of length B of the elements
+of X.
 
-@DOCSTRING(shiftdim)
+@ref{XREFshiftdim, , @code{shiftdim}}: Shift the dimensions of X by N, where N must be an integer scalar.
 
-@DOCSTRING(sort)
+@ref{XREFsort, , @code{sort}}: Return a copy of X with the elements arranged in increasing order.
 
-@DOCSTRING(sortrows)
-
-@DOCSTRING(issorted)
+@ref{XREFsortrows, , @code{sortrows}}: Sort the rows of the matrix A according to the order of the columns
+specified...
 
-@DOCSTRING(nth_element)
+@ref{XREFissorted, , @code{issorted}}: Return true if the array is sorted according to MODE, which may be
+either "as...
 
-@DOCSTRING(tril)
+@ref{XREFnth_element, , @code{nth_element}}: Select the n-th smallest element of a vector, using the ordering defined
+by '...
 
-@DOCSTRING(triu)
+@ref{XREFtril, , @code{tril}}: Return a new matrix formed by extracting the lower triangular part of
+the mat...
 
-@DOCSTRING(vec)
+@ref{XREFtriu, , @code{triu}}: Return a new matrix formed by extracting the upper triangular part of
+the mat...
 
-@DOCSTRING(vech)
+@ref{XREFvec, , @code{vec}}: Return the vector obtained by stacking the columns of the matrix X one
+above ...
 
-@DOCSTRING(prepad)
+@ref{XREFvech, , @code{vech}}: Return the vector obtained by eliminating all superdiagonal elements of
+the s...
 
-@DOCSTRING(postpad)
+@ref{XREFprepad, , @code{prepad}}: Prepend the scalar value C to the vector X until it is of length L.
 
-@DOCSTRING(diag)
+@ref{XREFpostpad, , @code{postpad}}: Append the scalar value C to the vector X until it is of length L.
 
-@DOCSTRING(blkdiag)
+@ref{XREFdiag, , @code{diag}}: Return a diagonal matrix with vector V on diagonal K.
+
+@ref{XREFblkdiag, , @code{blkdiag}}: Build a block diagonal matrix from A, B, C, ...
 
 @node Special Utility Matrices
 @section Special Utility Matrices
 
-@DOCSTRING(eye)
+@ref{XREFeye, , @code{eye}}: Return an identity matrix.
 
-@DOCSTRING(ones)
+@ref{XREFones, , @code{ones}}: Return a matrix or N-dimensional array whose elements are all 1.
 
-@DOCSTRING(zeros)
+@ref{XREFzeros, , @code{zeros}}: Return a matrix or N-dimensional array whose elements are all 0.
 
-@DOCSTRING(repmat)
+@ref{XREFrepmat, , @code{repmat}}: Repeat matrix or N-D array.
 
-@DOCSTRING(repelems)
+@ref{XREFrepelems, , @code{repelems}}: Construct a vector of repeated elements from X.
 
-@DOCSTRING(repelem)
+@ref{XREFrepelem, , @code{repelem}}: Construct an array of repeated elements from X and repeat instructions
+R_1, ....
 
 The functions @code{linspace} and @code{logspace} make it very easy to
 create vectors with evenly or logarithmically spaced elements.
 @xref{Ranges}.
 
-@DOCSTRING(linspace)
-
-@DOCSTRING(logspace)
+@ref{XREFlinspace, , @code{linspace}}: Return a row vector with N linearly spaced elements between START and
+END.
 
-@DOCSTRING(rand)
+@ref{XREFlogspace, , @code{logspace}}: Return a row vector with N elements logarithmically spaced from 10^A to
+10^B.
 
-@DOCSTRING(randi)
+@ref{XREFrand, , @code{rand}}: Return a matrix with random elements uniformly distributed on the
+interval (0...
+
+@ref{XREFrandi, , @code{randi}}: Return random integers in the range 1:IMAX.
 
-@DOCSTRING(randn)
+@ref{XREFrandn, , @code{randn}}: Return a matrix with normally distributed random elements having zero
+mean an...
 
-@DOCSTRING(rande)
+@ref{XREFrande, , @code{rande}}: Return a matrix with exponentially distributed random elements.
 
-@DOCSTRING(randp)
+@ref{XREFrandp, , @code{randp}}: Return a matrix with Poisson distributed random elements with mean value
+para...
 
-@DOCSTRING(randg)
+@ref{XREFrandg, , @code{randg}}: Return a matrix with 'gamma (A,1)' distributed random elements.
 
-@DOCSTRING(rng)
+@ref{XREFrng, , @code{rng}}: Set or query the seed of the random number generator used by 'rand' and
+'rand...
 
 The generators operate in the new or old style together, it is not
 possible to mix the two.  Initializing any generator with
@@ -233,31 +260,33 @@
 Biomathematics at The University of Texas, M.D. Anderson Cancer Center,
 Houston, TX 77030.
 
-@DOCSTRING(randperm)
+@ref{XREFrandperm, , @code{randperm}}: Return a row vector containing a random permutation of '1:N'.
 
 @node Famous Matrices
 @section Famous Matrices
 
 The following functions return famous matrix forms.
 
-@DOCSTRING(gallery)
+@ref{XREFgallery, , @code{gallery}}: Create interesting matrices for testing.
 
-@DOCSTRING(hadamard)
+@ref{XREFhadamard, , @code{hadamard}}: Construct a Hadamard matrix (Hn) of size N-by-N.
 
-@DOCSTRING(hankel)
+@ref{XREFhankel, , @code{hankel}}: Return the Hankel matrix constructed from the first column C, and
+(optionally...
 
-@DOCSTRING(hilb)
+@ref{XREFhilb, , @code{hilb}}: Return the Hilbert matrix of order N.
 
-@DOCSTRING(invhilb)
+@ref{XREFinvhilb, , @code{invhilb}}: Return the inverse of the Hilbert matrix of order N.
 
-@DOCSTRING(magic)
+@ref{XREFmagic, , @code{magic}}: Create an N-by-N magic square.
 
-@DOCSTRING(pascal)
+@ref{XREFpascal, , @code{pascal}}: Return the Pascal matrix of order N if 'T = 0'.
 
-@DOCSTRING(rosser)
+@ref{XREFrosser, , @code{rosser}}: Return the Rosser matrix.
 
-@DOCSTRING(toeplitz)
+@ref{XREFtoeplitz, , @code{toeplitz}}: Return the Toeplitz matrix constructed from the first column C, and
+optionall...
 
-@DOCSTRING(vander)
+@ref{XREFvander, , @code{vander}}: Return the Vandermonde matrix whose next to last column is C.
 
-@DOCSTRING(wilkinson)
+@ref{XREFwilkinson, , @code{wilkinson}}: Return the Wilkinson matrix of order N.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/module.mk
--- a/doc/interpreter/module.mk	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/module.mk	Tue Mar 30 22:08:44 2021 +0200
@@ -163,6 +163,7 @@
   %reldir%/preface.texi \
   %reldir%/pr-idx.texi \
   %reldir%/quad.texi \
+  %reldir%/reference.texi \
   %reldir%/set.texi \
   %reldir%/signal.texi \
   %reldir%/sparse.texi \
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/nonlin.txi
--- a/doc/interpreter/nonlin.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/nonlin.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -49,7 +49,7 @@
 point must be provided.  This also has the consequence that
 convergence is not guaranteed even if a solution exists.
 
-@DOCSTRING(fsolve)
+@ref{XREFfsolve, , @code{fsolve}}: Solve a system of nonlinear equations defined by the function FCN.
 
 The following is a complete example.  To solve the set of equations
 @tex
@@ -161,7 +161,7 @@
 @noindent
 which gives the same solution as before.
 
-@DOCSTRING(fzero)
+@ref{XREFfzero, , @code{fzero}}: Find a zero of a univariate function.
 
 @node Minimizers
 @section Minimizers
@@ -187,13 +187,13 @@
 (@code{Fto_max = -Fto_min}).
 @end ifnottex
 
-@DOCSTRING(fminbnd)
+@ref{XREFfminbnd, , @code{fminbnd}}: Find a minimum point of a univariate function.
 
-@DOCSTRING(fminunc)
+@ref{XREFfminunc, , @code{fminunc}}: Solve an unconstrained optimization problem defined by the function FCN.
 
-@DOCSTRING(fminsearch)
+@ref{XREFfminsearch, , @code{fminsearch}}: Find a value of X which minimizes the multi-variable function FUN.
 
 The function @code{humps} is a useful function for testing zero and
 extrema finding functions.
 
-@DOCSTRING(humps)
+@ref{XREFhumps, , @code{humps}}: Evaluate a function with multiple minima, maxima, and zero crossings.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/numbers.txi
--- a/doc/interpreter/numbers.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/numbers.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -91,9 +91,9 @@
 @end group
 @end example
 
-@DOCSTRING(double)
+@ref{XREFdouble, , @code{double}}: Convert X to double precision type.
 
-@DOCSTRING(complex)
+@ref{XREFcomplex, , @code{complex}}: Return a complex value from real arguments.
 
 @menu
 * Matrices::
@@ -281,7 +281,7 @@
 that other factors, such as the amount of memory available on your machine,
 may limit the maximum size of matrices to something smaller.
 
-@DOCSTRING(sizemax)
+@ref{XREFsizemax, , @code{sizemax}}: Return the largest value allowed for the size of an array.
 
 When you type a matrix or the name of a variable whose value is a
 matrix, Octave responds by printing the matrix in with neatly aligned
@@ -290,13 +290,15 @@
 section to indicate which columns are being displayed.  You can use the
 following variables to control the format of the output.
 
-@DOCSTRING(output_precision)
+@ref{XREFoutput_precision, , @code{output_precision}}: Query or set the internal variable that specifies the minimum number of
+signi...
 
 It is possible to achieve a wide range of output styles by using
 different values of @code{output_precision}.  Reasonable combinations can be
 set using the @code{format} function.  @xref{Basic Input and Output}.
 
-@DOCSTRING(split_long_rows)
+@ref{XREFsplit_long_rows, , @code{split_long_rows}}: Query or set the internal variable that controls whether rows of a
+matrix may...
 
 Octave automatically switches to scientific notation when values become
 very large or very small.  This guarantees that you will see several
@@ -306,7 +308,8 @@
 recommended, because it can produce output that can easily be
 misinterpreted.
 
-@DOCSTRING(fixed_point_format)
+@ref{XREFfixed_point_format, , @code{fixed_point_format}}: Query or set the internal variable that controls whether Octave will use
+a sc...
 
 @menu
 * Empty Matrices::
@@ -360,7 +363,8 @@
 empty matrix symbol, @samp{[]}.  The built-in variable
 @code{print_empty_dimensions} controls this behavior.
 
-@DOCSTRING(print_empty_dimensions)
+@ref{XREFprint_empty_dimensions, , @code{print_empty_dimensions}}: Query or set the internal variable that controls whether the dimensions
+of em...
 
 Empty matrices may also be used in assignment statements as a convenient
 way to delete rows or columns of matrices.
@@ -428,7 +432,8 @@
 This space saving optimization may be disabled using the function
 @dfn{disable_range}.
 
-@DOCSTRING(disable_range)
+@ref{XREFdisable_range, , @code{disable_range}}: Query or set the internal variable that controls whether ranges are
+stored in...
 
 Note that the upper (or lower, if the increment is negative) bound on
 the range is not always included in the set of values, and that ranges
@@ -471,7 +476,7 @@
 precision answers.  A single precision variable is created with the
 @code{single} function.
 
-@DOCSTRING(single)
+@ref{XREFsingle, , @code{single}}: Convert X to single precision type.
 
 for example:
 
@@ -534,29 +539,32 @@
 As can be seen, floating point values are rounded to the nearest integer
 when converted.
 
-@DOCSTRING(isinteger)
+@ref{XREFisinteger, , @code{isinteger}}: Return true if X is an integer object (int8, uint8, int16, etc.).
 
-@DOCSTRING(int8)
+@ref{XREFint8, , @code{int8}}: Convert X to 8-bit integer type.
 
-@DOCSTRING(uint8)
+@ref{XREFuint8, , @code{uint8}}: Convert X to unsigned 8-bit integer type.
 
-@DOCSTRING(int16)
+@ref{XREFint16, , @code{int16}}: Convert X to 16-bit integer type.
 
-@DOCSTRING(uint16)
+@ref{XREFuint16, , @code{uint16}}: Convert X to unsigned 16-bit integer type.
 
-@DOCSTRING(int32)
+@ref{XREFint32, , @code{int32}}: Convert X to 32-bit integer type.
 
-@DOCSTRING(uint32)
+@ref{XREFuint32, , @code{uint32}}: Convert X to unsigned 32-bit integer type.
 
-@DOCSTRING(int64)
+@ref{XREFint64, , @code{int64}}: Convert X to 64-bit integer type.
 
-@DOCSTRING(uint64)
+@ref{XREFuint64, , @code{uint64}}: Convert X to unsigned 64-bit integer type.
 
-@DOCSTRING(intmax)
+@ref{XREFintmax, , @code{intmax}}: Return the largest integer that can be represented by a specific integer
+type.
 
-@DOCSTRING(intmin)
+@ref{XREFintmin, , @code{intmin}}: Return the smallest integer that can be represented by a specific
+integer type.
 
-@DOCSTRING(flintmax)
+@ref{XREFflintmax, , @code{flintmax}}: Return the largest integer that can be represented consecutively in a
+floatin...
 
 @menu
 * Integer Arithmetic::
@@ -584,7 +592,7 @@
 result is often floored to the nearest integer.  So, the result of
 @code{int32 (5) ./ int32 (8)} is @code{1}.
 
-@DOCSTRING(idivide)
+@ref{XREFidivide, , @code{idivide}}: Integer division with different rounding rules.
 
 @node Bit Manipulations
 @section Bit Manipulations
@@ -593,9 +601,9 @@
 values on a bit by bit basis.  The basic functions to set and obtain the
 values of individual bits are @code{bitset} and @code{bitget}.
 
-@DOCSTRING(bitset)
+@ref{XREFbitset, , @code{bitset}}: Set or reset bit(s) N of the unsigned integers in A.
 
-@DOCSTRING(bitget)
+@ref{XREFbitget, , @code{bitget}}: Return the status of bit(s) N of the unsigned integers in A.
 
 The arguments to all of Octave's bitwise operations can be scalar or
 arrays, except for @code{bitcmp}, whose @var{k} argument must a
@@ -630,22 +638,22 @@
 Octave also includes the basic bitwise 'and', 'or', and 'exclusive or'
 operators.
 
-@DOCSTRING(bitand)
+@ref{XREFbitand, , @code{bitand}}: Return the bitwise AND of non-negative integers.
 
-@DOCSTRING(bitor)
+@ref{XREFbitor, , @code{bitor}}: Return the bitwise OR of non-negative integers X and Y.
 
-@DOCSTRING(bitxor)
+@ref{XREFbitxor, , @code{bitxor}}: Return the bitwise XOR of non-negative integers X and Y.
 
 The bitwise 'not' operator is a unary operator that performs a logical
 negation of each of the bits of the value.  For this to make sense, the
 mask against which the value is negated must be defined.  Octave's
 bitwise 'not' operator is @code{bitcmp}.
 
-@DOCSTRING(bitcmp)
+@ref{XREFbitcmp, , @code{bitcmp}}: Return the K-bit complement of integers in A.
 
 Octave also includes the ability to left-shift and right-shift values bitwise.
 
-@DOCSTRING(bitshift)
+@ref{XREFbitshift, , @code{bitshift}}: Return a K bit shift of N-digit unsigned integers in A.
 
 Bits that are shifted out of either end of the value are lost.  Octave
 also uses arithmetic shifts, where the sign bit of the value is kept
@@ -703,11 +711,11 @@
 casting numeric objects to logical values, or by using the @code{true}
 or @code{false} functions.
 
-@DOCSTRING(logical)
+@ref{XREFlogical, , @code{logical}}: Convert the numeric object X to logical type.
 
-@DOCSTRING(true)
+@ref{XREFtrue, , @code{true}}: Return a matrix or N-dimensional array whose elements are all logical 1.
 
-@DOCSTRING(false)
+@ref{XREFfalse, , @code{false}}: Return a matrix or N-dimensional array whose elements are all logical 0.
 
 @node Promotion and Demotion of Data Types
 @section Promotion and Demotion of Data Types
@@ -815,43 +823,49 @@
 The following functions are available for determining the type of a
 variable.
 
-@DOCSTRING(isnumeric)
-
-@DOCSTRING(islogical)
+@ref{XREFisnumeric, , @code{isnumeric}}: Return true if X is a numeric object, i.e., an integer, real, or complex
+array.
 
-@DOCSTRING(isfloat)
+@ref{XREFislogical, , @code{islogical}}: Return true if X is a logical object.
 
-@DOCSTRING(isreal)
+@ref{XREFisfloat, , @code{isfloat}}: Return true if X is a floating-point numeric object.
+
+@ref{XREFisreal, , @code{isreal}}: Return true if X is a non-complex matrix or scalar.
 
-@DOCSTRING(iscomplex)
+@ref{XREFiscomplex, , @code{iscomplex}}: Return true if X is a complex-valued numeric object.
 
-@DOCSTRING(ismatrix)
+@ref{XREFismatrix, , @code{ismatrix}}: Return true if X is a 2-D array.
+
+@ref{XREFisvector, , @code{isvector}}: Return true if X is a vector.
 
-@DOCSTRING(isvector)
+@ref{XREFisrow, , @code{isrow}}: Return true if X is a row vector.
 
-@DOCSTRING(isrow)
+@ref{XREFiscolumn, , @code{iscolumn}}: Return true if X is a column vector.
 
-@DOCSTRING(iscolumn)
+@ref{XREFisscalar, , @code{isscalar}}: Return true if X is a scalar.
 
-@DOCSTRING(isscalar)
+@ref{XREFissquare, , @code{issquare}}: Return true if X is a 2-D square array.
 
-@DOCSTRING(issquare)
+@ref{XREFissymmetric, , @code{issymmetric}}: Return true if A is a symmetric or skew-symmetric matrix within the
+tolerance...
 
-@DOCSTRING(issymmetric)
+@ref{XREFishermitian, , @code{ishermitian}}: Return true if A is a Hermitian or skew-Hermitian matrix within the
+tolerance...
 
-@DOCSTRING(ishermitian)
-
-@DOCSTRING(isdefinite)
+@ref{XREFisdefinite, , @code{isdefinite}}: Return true if A is symmetric positive definite matrix within the
+tolerance s...
 
-@DOCSTRING(isbanded)
+@ref{XREFisbanded, , @code{isbanded}}: Return true if A is a matrix with entries confined between LOWER
+diagonals be...
 
-@DOCSTRING(isdiag)
+@ref{XREFisdiag, , @code{isdiag}}: Return true if A is a diagonal matrix.
 
-@DOCSTRING(istril)
+@ref{XREFistril, , @code{istril}}: Return true if A is a lower triangular matrix.
 
-@DOCSTRING(istriu)
+@ref{XREFistriu, , @code{istriu}}: Return true if A is an upper triangular matrix.
 
-@DOCSTRING(isprime)
+@ref{XREFisprime, , @code{isprime}}: Return a logical array which is true where the elements of X are prime
+number...
 
 If instead of knowing properties of variables, you wish to know which
 variables are defined and to gather other information about the
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/octave.texi
--- a/doc/interpreter/octave.texi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/octave.texi	Tue Mar 30 22:08:44 2021 +0200
@@ -194,6 +194,7 @@
 * Packages::
 * External Code Interface::
 * Test and Demo Functions::
+* Function Reference::
 * Obsolete Functions::
 * Trouble::                     If you have trouble installing Octave.
 * Installation::                How to configure, compile and install Octave.
@@ -1005,6 +1006,7 @@
 
 @include external.texi
 @include testfun.texi
+@include reference.texi
 @include obsolete.texi
 @include bugs.texi
 @include install.texi
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/oop.txi
--- a/doc/interpreter/oop.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/oop.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -135,19 +135,21 @@
 @end group
 @end example
 
-@DOCSTRING(isobject)
+@ref{XREFisobject, , @code{isobject}}: Return true if X is a class object.
 
 @noindent
 The available methods of a class can be displayed with the @code{methods}
 function.
 
-@DOCSTRING(methods)
+@ref{XREFmethods, , @code{methods}}: List the names of the public methods for the object OBJ or the named
+class CL...
 
 @noindent
 To inquire whether a particular method exists for a user class, the
 @code{ismethod} function can be used.
 
-@DOCSTRING(ismethod)
+@ref{XREFismethod, , @code{ismethod}}: Return true if the string METHOD is a valid method of the object OBJ or
+of th...
 
 @noindent
 For a polynomial class it makes sense to have a method to compute its roots.
@@ -239,7 +241,7 @@
 make sense to save, or a field that needs to be initialized before it is saved.
 This can be done with the @code{saveobj} method of the class.
 
-@DOCSTRING(saveobj)
+@ref{XREFsaveobj, , @code{saveobj}}: Method of a class to manipulate an object prior to saving it to a file.
 
 @noindent
 @code{saveobj} is called just prior to saving the class to a file.  Similarly,
@@ -247,7 +249,7 @@
 and can be used to ensure that any removed fields are reinserted into the user
 object.
 
-@DOCSTRING(loadobj)
+@ref{XREFloadobj, , @code{loadobj}}: Method of a class to manipulate an object after loading it from a file.
 
 @node Indexing Objects
 @section Indexing Objects
@@ -269,7 +271,8 @@
 polynomial at @var{n}.  The meaning of this subscripted referencing is
 determined by the @code{subsref} method.
 
-@DOCSTRING(subsref)
+@ref{XREFsubsref, , @code{subsref}}: Perform the subscripted element selection operation on VAL according to
+the s...
 
 For example, this class uses the convention that indexing with @qcode{"()"}
 evaluates the polynomial and indexing with @qcode{"@{@}"} returns the
@@ -283,9 +286,10 @@
 The equivalent functionality for subscripted assignments uses the
 @code{subsasgn} method.
 
-@DOCSTRING(subsasgn)
+@ref{XREFsubsasgn, , @code{subsasgn}}: Perform the subscripted assignment operation according to the subscript
+speci...
 
-@DOCSTRING(optimize_subsasgn_calls)
+@ref{XREFoptimize_subsasgn_calls, , @code{optimize_subsasgn_calls}}: Query or set the internal flag for 'subsasgn' method call optimizations.
 
 Note that the @code{subsref} and @code{subsasgn} methods always receive the
 whole index chain, while they usually handle only the first element.  It is the
@@ -318,11 +322,12 @@
 Objects can also be used themselves as the index in a subscripted expression
 and this is controlled by the @code{subsindex} function.
 
-@DOCSTRING(subsindex)
+@ref{XREFsubsindex, , @code{subsindex}}: Convert an object to an index vector.
 
 Finally, objects can be used like ranges by providing a @code{colon} method.
 
-@DOCSTRING(colon)
+@ref{XREFcolon, , @code{colon}}: Return the result of the colon expression corresponding to BASE, LIMIT,
+and o...
 
 @node Indexed Assignment Optimization
 @subsection Indexed Assignment Optimization
@@ -569,9 +574,11 @@
 operator.  To do this the @code{superiorto} and @code{inferiorto} functions can
 be used
 
-@DOCSTRING(superiorto)
+@ref{XREFsuperiorto, , @code{superiorto}}: When called from a class constructor, mark the object currently
+constructed a...
 
-@DOCSTRING(inferiorto)
+@ref{XREFinferiorto, , @code{inferiorto}}: When called from a class constructor, mark the object currently
+constructed a...
 
 With the polynomial class, consider the case
 
@@ -670,7 +677,7 @@
 value.  In general it is not recommended to overload the @code{display}
 function.
 
-@DOCSTRING(display)
+@ref{XREFdisplay, , @code{display}}: Display the contents of the object OBJ prepended by its name.
 
 Once a constructor and display method exist, it is possible to create an
 instance of the class.  It is also possible to check the class type and examine
@@ -901,7 +908,8 @@
 By default, in the example @var{prop4}, properties are not constant and have
 public read and write access.
 
-@DOCSTRING(properties)
+@ref{XREFproperties, , @code{properties}}: Return or display the public properties for the named class CLASS_NAME
+or cla...
 
 @node Methods
 @subsection Methods
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/optim.txi
--- a/doc/interpreter/optim.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/optim.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -68,7 +68,7 @@
 @noindent
 The @code{glpk} function also supports variations of this problem.
 
-@DOCSTRING(glpk)
+@ref{XREFglpk, , @code{glpk}}: Solve a linear program using the GNU GLPK library.
 
 @node Quadratic Programming
 @section Quadratic Programming
@@ -104,9 +104,9 @@
 
 @end ifnottex
 
-@DOCSTRING(qp)
+@ref{XREFqp, , @code{qp}}: Solve a quadratic program (QP).
 
-@DOCSTRING(pqpnonneg)
+@ref{XREFpqpnonneg, , @code{pqpnonneg}}: Minimize '1/2*X'*C*X + D'*X' subject to 'X >= 0'.
 
 @node Nonlinear Programming
 @section Nonlinear Programming
@@ -114,7 +114,8 @@
 Octave can also perform general nonlinear minimization using a
 successive quadratic programming solver.
 
-@DOCSTRING(sqp)
+@ref{XREFsqp, , @code{sqp}}: Minimize an objective function using sequential quadratic programming
+(SQP).
 
 @node Linear Least Squares
 @section Linear Least Squares
@@ -133,14 +134,15 @@
 function.  In the general case where the noise is assumed to be anisotropic
 the @code{gls} is needed.
 
-@DOCSTRING(ols)
+@ref{XREFols, , @code{ols}}: Ordinary least squares (OLS) estimation.
 
-@DOCSTRING(gls)
+@ref{XREFgls, , @code{gls}}: Generalized least squares (GLS) model.
 
-@DOCSTRING(lsqnonneg)
+@ref{XREFlsqnonneg, , @code{lsqnonneg}}: Minimize 'norm (C*X - D)' subject to 'X >= 0'.
 
-@DOCSTRING(lscov)
+@ref{XREFlscov, , @code{lscov}}: Compute a generalized linear least squares fit.
 
-@DOCSTRING(optimset)
+@ref{XREFoptimset, , @code{optimset}}: Create options structure for optimization functions.
 
-@DOCSTRING(optimget)
+@ref{XREFoptimget, , @code{optimget}}: Return the specific option PARNAME from the optimization options
+structure OP...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/package.txi
--- a/doc/interpreter/package.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/package.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -107,7 +107,7 @@
 it may not function correctly.  Because of this it is not recommended
 to disable dependency checking.
 
-@DOCSTRING(pkg)
+@ref{XREFpkg, , @code{pkg}}: Manage or query packages (groups of add-on functions) for Octave.
 
 @node Using Packages
 @section Using Packages
@@ -597,4 +597,5 @@
 the package maintainer and registered with Octave using
 @code{missing_component_hook}.
 
-@DOCSTRING(missing_component_hook)
+@ref{XREFmissing_component_hook, , @code{missing_component_hook}}: Query or set the internal variable that specifies the function to call
+when a...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/plot.txi
--- a/doc/interpreter/plot.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/plot.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -118,22 +118,22 @@
 @caption{Simple Two-Dimensional Plot.}
 @end float
 
-@DOCSTRING(plot)
+@ref{XREFplot, , @code{plot}}: Produce 2-D plots.
 
 The @code{plotyy} function may be used to create a plot with two
 independent y axes.
 
-@DOCSTRING(plotyy)
+@ref{XREFplotyy, , @code{plotyy}}: Plot two sets of data with independent y-axes and a common x-axis.
 
 The functions @code{semilogx}, @code{semilogy}, and @code{loglog} are
 similar to the @code{plot} function, but produce plots in which one or
 both of the axes use log scales.
 
-@DOCSTRING(semilogx)
-
-@DOCSTRING(semilogy)
-
-@DOCSTRING(loglog)
+@ref{XREFsemilogx, , @code{semilogx}}: Produce a 2-D plot using a logarithmic scale for the x-axis.
+
+@ref{XREFsemilogy, , @code{semilogy}}: Produce a 2-D plot using a logarithmic scale for the y-axis.
+
+@ref{XREFloglog, , @code{loglog}}: Produce a 2-D plot using logarithmic scales for both axes.
 
 The functions @code{bar}, @code{barh}, @code{stairs}, and @code{stem}
 are useful for displaying discrete data.  For example,
@@ -160,40 +160,41 @@
 @caption{Histogram.}
 @end float
 
-@DOCSTRING(bar)
-
-@DOCSTRING(barh)
-
-@DOCSTRING(hist)
-
-@DOCSTRING(stemleaf)
-
-@DOCSTRING(printd)
-
-@DOCSTRING(stairs)
-
-@DOCSTRING(stem)
-
-@DOCSTRING(stem3)
-
-@DOCSTRING(scatter)
-
-@DOCSTRING(plotmatrix)
-
-@DOCSTRING(pareto)
-
-@DOCSTRING(rose)
+@ref{XREFbar, , @code{bar}}: Produce a bar graph from two vectors of X-Y data.
+
+@ref{XREFbarh, , @code{barh}}: Produce a horizontal bar graph from two vectors of X-Y data.
+
+@ref{XREFhist, , @code{hist}}: Produce histogram counts or plots.
+
+@ref{XREFstemleaf, , @code{stemleaf}}: Compute and display a stem and leaf plot of the vector X.
+
+@ref{XREFprintd, , @code{printd}}: Convert any object acceptable to 'disp' into the format selected by the
+suffi...
+
+@ref{XREFstairs, , @code{stairs}}: Produce a stairstep plot.
+
+@ref{XREFstem, , @code{stem}}: Plot a 2-D stem graph.
+
+@ref{XREFstem3, , @code{stem3}}: Plot a 3-D stem graph.
+
+@ref{XREFscatter, , @code{scatter}}: Draw a 2-D scatter plot.
+
+@ref{XREFplotmatrix, , @code{plotmatrix}}: Scatter plot of the columns of one matrix against another.
+
+@ref{XREFpareto, , @code{pareto}}: Draw a Pareto chart.
+
+@ref{XREFrose, , @code{rose}}: Plot an angular histogram.
 
 The @code{contour}, @code{contourf} and @code{contourc} functions
 produce two-dimensional contour plots from three-dimensional data.
 
-@DOCSTRING(contour)
-
-@DOCSTRING(contourf)
-
-@DOCSTRING(contourc)
-
-@DOCSTRING(contour3)
+@ref{XREFcontour, , @code{contour}}: Create a 2-D contour plot.
+
+@ref{XREFcontourf, , @code{contourf}}: Create a 2-D contour plot with filled intervals.
+
+@ref{XREFcontourc, , @code{contourc}}: Compute contour lines (isolines of constant Z value).
+
+@ref{XREFcontour3, , @code{contour3}}: Create a 3-D contour plot.
 
 The @code{errorbar}, @code{semilogxerr}, @code{semilogyerr}, and
 @code{loglogerr} functions produce plots with error bar markers.  For
@@ -222,13 +223,15 @@
 @caption{Errorbar plot.}
 @end float
 
-@DOCSTRING(errorbar)
-
-@DOCSTRING(semilogxerr)
-
-@DOCSTRING(semilogyerr)
-
-@DOCSTRING(loglogerr)
+@ref{XREFerrorbar, , @code{errorbar}}: Create a 2-D plot with errorbars.
+
+@ref{XREFsemilogxerr, , @code{semilogxerr}}: Produce 2-D plots using a logarithmic scale for the x-axis and errorbars
+at e...
+
+@ref{XREFsemilogyerr, , @code{semilogyerr}}: Produce 2-D plots using a logarithmic scale for the y-axis and errorbars
+at e...
+
+@ref{XREFloglogerr, , @code{loglogerr}}: Produce 2-D plots on a double logarithm axis with errorbars.
 
 Finally, the @code{polar} function allows you to easily plot data in
 polar coordinates.  However, the display coordinates remain rectangular
@@ -249,43 +252,47 @@
 @caption{Polar plot.}
 @end float
 
-@DOCSTRING(polar)
-
-@DOCSTRING(pie)
-
-@DOCSTRING(pie3)
-
-@DOCSTRING(quiver)
-
-@DOCSTRING(quiver3)
-
-@DOCSTRING(streamribbon)
-
-@DOCSTRING(streamtube)
-
-@DOCSTRING(ostreamtube)
-
-@DOCSTRING(streamline)
-
-@DOCSTRING(stream2)
-
-@DOCSTRING(stream3)
-
-@DOCSTRING(compass)
-
-@DOCSTRING(feather)
-
-@DOCSTRING(pcolor)
-
-@DOCSTRING(area)
-
-@DOCSTRING(fill)
-
-@DOCSTRING(fill3)
-
-@DOCSTRING(comet)
-
-@DOCSTRING(comet3)
+@ref{XREFpolar, , @code{polar}}: Create a 2-D plot from polar coordinates THETA and RHO.
+
+@ref{XREFpie, , @code{pie}}: Plot a 2-D pie chart.
+
+@ref{XREFpie3, , @code{pie3}}: Plot a 3-D pie chart.
+
+@ref{XREFquiver, , @code{quiver}}: Plot a 2-D vector field with arrows.
+
+@ref{XREFquiver3, , @code{quiver3}}: Plot a 3-D vector field with arrows.
+
+@ref{XREFstreamribbon, , @code{streamribbon}}: Calculate and display streamribbons.
+
+@ref{XREFstreamtube, , @code{streamtube}}: Plot tubes scaled by the divergence along streamlines.
+
+@ref{XREFostreamtube, , @code{ostreamtube}}: Calculate and display streamtubes.
+
+@ref{XREFstreamline, , @code{streamline}}: Plot streamlines of 2-D or 3-D vector fields.
+
+@ref{XREFstream2, , @code{stream2}}: Compute 2-D streamline data.
+
+@ref{XREFstream3, , @code{stream3}}: Compute 3-D streamline data.
+
+@ref{XREFcompass, , @code{compass}}: Plot the '(U, V)' components of a vector field emanating from the origin
+of a...
+
+@ref{XREFfeather, , @code{feather}}: Plot the '(U, V)' components of a vector field emanating from
+equidistant poi...
+
+@ref{XREFpcolor, , @code{pcolor}}: Produce a 2-D density plot.
+
+@ref{XREFarea, , @code{area}}: Area plot of the columns of Y.
+
+@ref{XREFfill, , @code{fill}}: Create one or more filled 2-D polygons.
+
+@ref{XREFfill3, , @code{fill3}}: Create one or more filled 3-D polygons.
+
+@ref{XREFcomet, , @code{comet}}: Produce a simple comet style animation along the trajectory provided by
+the i...
+
+@ref{XREFcomet3, , @code{comet3}}: Produce a simple comet style animation along the trajectory provided by
+the i...
 
 @node Axis Configuration
 @subsubsection Axis Configuration
@@ -297,12 +304,12 @@
 example by calling @code{axis}, @code{xlim}, etc., should happen after the plot
 is done or, alternatively, after calling the @ref{XREFhold, ,hold function}.
 
-@DOCSTRING(axis)
+@ref{XREFaxis, , @code{axis}}: Set axis limits and appearance.
 
 Similarly the axis limits of the colormap can be changed with the caxis
 function.
 
-@DOCSTRING(caxis)
+@ref{XREFcaxis, , @code{caxis}}: Query or set color axis limits for plots.
 
 The @code{xlim}, @code{ylim}, and @code{zlim} functions may be used to
 get or set individual axis limits.  Each has the same form.
@@ -312,7 +319,7 @@
 @anchor{XREFzlim}
 @findex ylim
 @findex zlim
-@DOCSTRING(xlim)
+@ref{XREFxlim, , @code{xlim}}: Query or set the limits of the x-axis for the current plot.
 
 The @code{xticks}, @code{yticks}, @code{zticks}, @code{rticks}, and
 @code{thetaticks} functions may be used to get or set the tick mark locations
@@ -329,7 +336,7 @@
 @findex zticks
 @findex rticks
 @findex thetaticks
-@DOCSTRING(xticks)
+@ref{XREFxticks, , @code{xticks}}: Query or set the tick values on the x-axis of the current axis.
 
 The @code{xticklabels}, @code{yticklabels}, and @code{zticklabels} functions
 may be used to get or set the label assigned to each tick location and the
@@ -342,7 +349,7 @@
 @anchor{XREFzticklabels}
 @findex yticklabels
 @findex zticklabels
-@DOCSTRING(xticklabels)
+@ref{XREFxticklabels, , @code{xticklabels}}: Query or set the tick labels on the x-axis of the current axis.
 
 The @code{xtickangle}, @code{ytickangle}, and @code{ztickangle} functions
 may be used to get or set the rotation angle of labels for the respective axis.
@@ -352,7 +359,8 @@
 @anchor{XREFztickangle}
 @findex ytickangle
 @findex ztickangle
-@DOCSTRING(xtickangle)
+@ref{XREFxtickangle, , @code{xtickangle}}: Query or set the rotation angle of the tick labels on the x-axis of the
+curre...
 
 @node Two-dimensional Function Plotting
 @subsubsection Two-dimensional Function Plotting
@@ -374,24 +382,24 @@
 produces a plot that is equivalent to the one above, but also includes a
 legend displaying the name of the plotted function.
 
-@DOCSTRING(fplot)
+@ref{XREFfplot, , @code{fplot}}: Plot a function FN within the range defined by LIMITS.
 
 Other functions that can create two-dimensional plots directly from a
 function include @code{ezplot}, @code{ezcontour}, @code{ezcontourf} and
 @code{ezpolar}.
 
-@DOCSTRING(ezplot)
-
-@DOCSTRING(ezcontour)
-
-@DOCSTRING(ezcontourf)
-
-@DOCSTRING(ezpolar)
+@ref{XREFezplot, , @code{ezplot}}: Plot the 2-D curve defined by the function F.
+
+@ref{XREFezcontour, , @code{ezcontour}}: Plot the contour lines of a function.
+
+@ref{XREFezcontourf, , @code{ezcontourf}}: Plot the filled contour lines of a function.
+
+@ref{XREFezpolar, , @code{ezpolar}}: Plot a 2-D function in polar coordinates.
 
 @node Two-dimensional Geometric Shapes
 @subsubsection Two-dimensional Geometric Shapes
 
-@DOCSTRING(rectangle)
+@ref{XREFrectangle, , @code{rectangle}}: Draw a rectangular patch defined by POS and CURV.
 
 @node Three-Dimensional Plots
 @subsection Three-Dimensional Plots
@@ -454,83 +462,87 @@
 Finally, the @code{view} function changes the viewpoint for
 three-dimensional plots.
 
-@DOCSTRING(mesh)
-
-@DOCSTRING(meshc)
-
-@DOCSTRING(meshz)
-
-@DOCSTRING(hidden)
-
-@DOCSTRING(surf)
-
-@DOCSTRING(surfc)
-
-@DOCSTRING(surfl)
-
-@DOCSTRING(surfnorm)
-
-@DOCSTRING(isosurface)
-
-@DOCSTRING(isonormals)
-
-@DOCSTRING(isocaps)
-
-@DOCSTRING(isocolors)
-
-@DOCSTRING(smooth3)
-
-@DOCSTRING(reducevolume)
-
-@DOCSTRING(reducepatch)
-
-@DOCSTRING(shrinkfaces)
-
-@DOCSTRING(diffuse)
-
-@DOCSTRING(specular)
-
-@DOCSTRING(lighting)
-
-@DOCSTRING(material)
-
-@DOCSTRING(camlight)
-
-@DOCSTRING(lightangle)
-
-@DOCSTRING(meshgrid)
-
-@DOCSTRING(ndgrid)
-
-@DOCSTRING(plot3)
-
-@DOCSTRING(view)
-
-@DOCSTRING(camlookat)
-
-@DOCSTRING(campos)
-
-@DOCSTRING(camorbit)
-
-@DOCSTRING(camroll)
-
-@DOCSTRING(camtarget)
-
-@DOCSTRING(camup)
-
-@DOCSTRING(camva)
-
-@DOCSTRING(camzoom)
-
-@DOCSTRING(slice)
-
-@DOCSTRING(ribbon)
-
-@DOCSTRING(shading)
-
-@DOCSTRING(scatter3)
-
-@DOCSTRING(waterfall)
+@ref{XREFmesh, , @code{mesh}}: Plot a 3-D wireframe mesh.
+
+@ref{XREFmeshc, , @code{meshc}}: Plot a 3-D wireframe mesh with underlying contour lines.
+
+@ref{XREFmeshz, , @code{meshz}}: Plot a 3-D wireframe mesh with a surrounding curtain.
+
+@ref{XREFhidden, , @code{hidden}}: Control mesh hidden line removal.
+
+@ref{XREFsurf, , @code{surf}}: Plot a 3-D surface mesh.
+
+@ref{XREFsurfc, , @code{surfc}}: Plot a 3-D surface mesh with underlying contour lines.
+
+@ref{XREFsurfl, , @code{surfl}}: Plot a 3-D surface using shading based on various lighting models.
+
+@ref{XREFsurfnorm, , @code{surfnorm}}: Find the vectors normal to a meshgridded surface.
+
+@ref{XREFisosurface, , @code{isosurface}}: Calculate isosurface of 3-D volume data.
+
+@ref{XREFisonormals, , @code{isonormals}}: Calculate normals to an isosurface.
+
+@ref{XREFisocaps, , @code{isocaps}}: Create end-caps for isosurfaces of 3-D data.
+
+@ref{XREFisocolors, , @code{isocolors}}: Compute isosurface colors.
+
+@ref{XREFsmooth3, , @code{smooth3}}: Smooth values of 3-dimensional matrix DATA.
+
+@ref{XREFreducevolume, , @code{reducevolume}}: Reduce the volume of the dataset in V according to the values in R.
+
+@ref{XREFreducepatch, , @code{reducepatch}}: Reduce the number of faces and vertices in a patch object while
+retaining the...
+
+@ref{XREFshrinkfaces, , @code{shrinkfaces}}: Reduce the size of faces in a patch by the shrink factor SF.
+
+@ref{XREFdiffuse, , @code{diffuse}}: Calculate the diffuse reflection strength of a surface defined by the
+normal ...
+
+@ref{XREFspecular, , @code{specular}}: Calculate the specular reflection strength of a surface defined by the
+normal...
+
+@ref{XREFlighting, , @code{lighting}}: Set the lighting of patch or surface graphic objects.
+
+@ref{XREFmaterial, , @code{material}}: Set reflectance properties for the lighting of surfaces and patches.
+
+@ref{XREFcamlight, , @code{camlight}}: Add a light object to a figure using a simple interface.
+
+@ref{XREFlightangle, , @code{lightangle}}: Add a light object to the current axes using spherical coordinates.
+
+@ref{XREFmeshgrid, , @code{meshgrid}}: Given vectors of X and Y coordinates, return matrices XX and YY
+corresponding...
+
+@ref{XREFndgrid, , @code{ndgrid}}: Given n vectors X1, ..., Xn, 'ndgrid' returns n arrays of dimension n.
+
+@ref{XREFplot3, , @code{plot3}}: Produce 3-D plots.
+
+@ref{XREFview, , @code{view}}: Query or set the viewpoint for the current axes.
+
+@ref{XREFcamlookat, , @code{camlookat}}: Move the camera and adjust its properties to look at objects.
+
+@ref{XREFcampos, , @code{campos}}: Set or get the camera position.
+
+@ref{XREFcamorbit, , @code{camorbit}}: Rotate the camera up/down and left/right around its target.
+
+@ref{XREFcamroll, , @code{camroll}}: Roll the camera.
+
+@ref{XREFcamtarget, , @code{camtarget}}: Set or get where the camera is pointed.
+
+@ref{XREFcamup, , @code{camup}}: Set or get the camera up vector.
+
+@ref{XREFcamva, , @code{camva}}: Set or get the camera viewing angle.
+
+@ref{XREFcamzoom, , @code{camzoom}}: Zoom the camera in or out.
+
+@ref{XREFslice, , @code{slice}}: Plot slices of 3-D data/scalar fields.
+
+@ref{XREFribbon, , @code{ribbon}}: Draw a ribbon plot for the columns of Y vs.
+
+@ref{XREFshading, , @code{shading}}: Set the shading of patch or surface graphic objects.
+
+@ref{XREFscatter3, , @code{scatter3}}: Draw a 3-D scatter plot.
+
+@ref{XREFwaterfall, , @code{waterfall}}: Plot a 3-D waterfall plot.
 
 @menu
 * Aspect Ratio::
@@ -546,31 +558,31 @@
 @xref{Axis Configuration}, for controlling the x-, y-, and z-limits for
 plotting.
 
-@DOCSTRING(daspect)
-
-@DOCSTRING(pbaspect)
+@ref{XREFdaspect, , @code{daspect}}: Query or set the data aspect ratio of the current axes.
+
+@ref{XREFpbaspect, , @code{pbaspect}}: Query or set the plot box aspect ratio of the current axes.
 
 @node Three-dimensional Function Plotting
 @subsubsection Three-dimensional Function Plotting
 
-@DOCSTRING(ezplot3)
-
-@DOCSTRING(ezmesh)
-
-@DOCSTRING(ezmeshc)
-
-@DOCSTRING(ezsurf)
-
-@DOCSTRING(ezsurfc)
+@ref{XREFezplot3, , @code{ezplot3}}: Plot a parametrically defined curve in three dimensions.
+
+@ref{XREFezmesh, , @code{ezmesh}}: Plot the mesh defined by a function.
+
+@ref{XREFezmeshc, , @code{ezmeshc}}: Plot the mesh and contour lines defined by a function.
+
+@ref{XREFezsurf, , @code{ezsurf}}: Plot the surface defined by a function.
+
+@ref{XREFezsurfc, , @code{ezsurfc}}: Plot the surface and contour lines defined by a function.
 
 @node Three-dimensional Geometric Shapes
 @subsubsection Three-dimensional Geometric Shapes
 
-@DOCSTRING(cylinder)
-
-@DOCSTRING(sphere)
-
-@DOCSTRING(ellipsoid)
+@ref{XREFcylinder, , @code{cylinder}}: Plot a 3-D unit cylinder.
+
+@ref{XREFsphere, , @code{sphere}}: Plot a 3-D unit sphere.
+
+@ref{XREFellipsoid, , @code{ellipsoid}}: Plot a 3-D ellipsoid.
 
 @node Plot Annotations
 @subsection Plot Annotations
@@ -598,28 +610,30 @@
 highlight parts of a plot using the @code{annotation} function.  Those objects
 are drawn in an invisible axes, on top of every other axes.
 
-@DOCSTRING(title)
-
-@DOCSTRING(legend)
-
-@DOCSTRING(text)
+@ref{XREFtitle, , @code{title}}: Specify the string used as a title for the current axis.
+
+@ref{XREFlegend, , @code{legend}}: Display a legend for the current axes using the specified strings as
+labels.
+
+@ref{XREFtext, , @code{text}}: Create a text object with text STRING at position X, Y, (Z) on the
+current ax...
 
 @c Add cross-references and function index entries for other label functions.
 @anchor{XREFylabel}
 @anchor{XREFzlabel}
 @findex ylabel
 @findex zlabel
-@DOCSTRING(xlabel)
-
-@DOCSTRING(clabel)
-
-@DOCSTRING(box)
-
-@DOCSTRING(grid)
-
-@DOCSTRING(colorbar)
-
-@DOCSTRING(annotation)
+@ref{XREFxlabel, , @code{xlabel}}: Specify the string used to label the x-axis of the current axis.
+
+@ref{XREFclabel, , @code{clabel}}: Add labels to the contours of a contour plot.
+
+@ref{XREFbox, , @code{box}}: Control display of the axes border.
+
+@ref{XREFgrid, , @code{grid}}: Control the display of plot grid lines.
+
+@ref{XREFcolorbar, , @code{colorbar}}: Add a colorbar to the current axes.
+
+@ref{XREFannotation, , @code{annotation}}: Draw annotations to emphasize parts of a figure.
 
 @node Multiple Plots on One Page
 @subsection Multiple Plots on One Page
@@ -648,7 +662,8 @@
 subplot activates the second subplot area, but does not re-partition the
 figure.
 
-@DOCSTRING(subplot)
+@ref{XREFsubplot, , @code{subplot}}: Set up a plot grid with ROWS by COLS subwindows and set the current axes
+for ...
 
 @node Multiple Plot Windows
 @subsection Multiple Plot Windows
@@ -670,19 +685,21 @@
 creates two figures, with the first displaying a sine wave and
 the second a cosine wave.  Figure numbers must be positive integers.
 
-@DOCSTRING(figure)
+@ref{XREFfigure, , @code{figure}}: Create a new figure window for plotting.
 
 @node Manipulation of Plot Objects
 @subsection Manipulation of Plot Objects
 @cindex plotting, object manipulation
 
-@DOCSTRING(pan)
-
-@DOCSTRING(rotate)
-
-@DOCSTRING(rotate3d)
-
-@DOCSTRING(zoom)
+@ref{XREFpan, , @code{pan}}: Control the interactive panning mode of a figure in the GUI.
+
+@ref{XREFrotate, , @code{rotate}}: Rotate the plot object H through ALPHA degrees around the line with
+direction...
+
+@ref{XREFrotate3d, , @code{rotate3d}}: Control the interactive 3-D rotation mode of a figure in the GUI.
+
+@ref{XREFzoom, , @code{zoom}}: Zoom the current axes object or control the interactive zoom mode of a
+figure...
 
 @node Manipulation of Plot Windows
 @subsection Manipulation of Plot Windows
@@ -692,13 +709,13 @@
 or when waiting for input.  The
 @code{drawnow} function is used to cause a plot window to be updated.
 
-@DOCSTRING(drawnow)
+@ref{XREFdrawnow, , @code{drawnow}}: Update figure windows and their children.
 
 Only figures that are modified will be updated.  The @code{refresh}
 function can also be used to cause an update of the current figure, even if
 it is not modified.
 
-@DOCSTRING(refresh)
+@ref{XREFrefresh, , @code{refresh}}: Refresh a figure, forcing it to be redrawn.
 
 Normally, high-level plot functions like @code{plot} or @code{mesh} call
 @code{newplot} to determine whether the state of the target axes should be
@@ -722,28 +739,31 @@
 off, consecutive plotting commands like this will only display the last
 plot.
 
-@DOCSTRING(newplot)
-
-@DOCSTRING(hold)
-
-@DOCSTRING(ishold)
+@ref{XREFnewplot, , @code{newplot}}: Prepare graphics engine to produce a new plot.
+
+@ref{XREFhold, , @code{hold}}: Toggle or set the "hold" state of the plotting engine which determines
+whethe...
+
+@ref{XREFishold, , @code{ishold}}: Return true if the next plot will be added to the current plot, or false
+if t...
 To clear the current figure, call the @code{clf} function.  To clear the
 current axis, call the @code{cla} function.  To bring the current figure
 to the top of the window stack, call the @code{shg} function.  To delete
 a graphics object, call @code{delete} on its index.  To close the
 figure window, call the @code{close} function.
 
-@DOCSTRING(clf)
-
-@DOCSTRING(cla)
-
-@DOCSTRING(shg)
-
-@DOCSTRING(delete)
-
-@DOCSTRING(close)
-
-@DOCSTRING(closereq)
+@ref{XREFclf, , @code{clf}}: Clear the current figure window.
+
+@ref{XREFcla, , @code{cla}}: Clear the current or specified (HAX) axes object.
+
+@ref{XREFshg, , @code{shg}}: Show the graph window.
+
+@ref{XREFdelete, , @code{delete}}: Delete the named file or graphics handle.
+
+@ref{XREFclose, , @code{close}}: Close figure window(s).
+
+@ref{XREFclosereq, , @code{closereq}}: Close the current figure and delete all graphics objects associated with
+it.
 
 @node Use of the @code{interpreter} Property
 @subsection Use of the @code{interpreter} Property
@@ -1200,11 +1220,12 @@
 @end float
 @end ifnotinfo
 
-@DOCSTRING(print)
-
-@DOCSTRING(saveas)
-
-@DOCSTRING(orient)
+@ref{XREFprint, , @code{print}}: Format a figure for printing and either save it to a file, send it to a
+print...
+
+@ref{XREFsaveas, , @code{saveas}}: Save graphic object H to the file FILENAME in graphic format FMT.
+
+@ref{XREForient, , @code{orient}}: Query or set the print orientation for figure HFIG.
 
 @code{print} and @code{saveas} are used when work on a plot has finished
 and the output must be in a publication-ready format.  During intermediate
@@ -1213,13 +1234,15 @@
 etc.---can be made easily from within Octave.  The @code{hgsave}/@code{hgload}
 commands can be used to save and re-create a graphics object.
 
-@DOCSTRING(hgsave)
-
-@DOCSTRING(hgload)
-
-@DOCSTRING(openfig)
-
-@DOCSTRING(savefig)
+@ref{XREFhgsave, , @code{hgsave}}: Save the graphics handle(s) H to the file FILENAME in the format FMT.
+
+@ref{XREFhgload, , @code{hgload}}: Load the graphics objects in FILENAME into a vector of graphics handles
+H.
+
+@ref{XREFopenfig, , @code{openfig}}: Read saved figure window(s) from FILENAME and return graphics handle(s)
+H.
+
+@ref{XREFsavefig, , @code{savefig}}: Save figure windows specified by graphics handle(s) H to file FILENAME.
 
 @node Interacting with Plots
 @subsection Interacting with Plots
@@ -1228,11 +1251,12 @@
 select the position at which to place text on the plot with the
 @code{gtext} function using the mouse.
 
-@DOCSTRING(ginput)
-
-@DOCSTRING(waitforbuttonpress)
-
-@DOCSTRING(gtext)
+@ref{XREFginput, , @code{ginput}}: Return the position and type of mouse button clicks and/or key strokes
+in the...
+
+@ref{XREFwaitforbuttonpress, , @code{waitforbuttonpress}}: Wait for mouse click or key press over the current figure window.
+
+@ref{XREFgtext, , @code{gtext}}: Place text on the current figure using the mouse.
 
 More sophisticated user interaction mechanisms can be obtained using the
 @nospell{ui*} family of functions, @pxref{UI Elements}.
@@ -1244,9 +1268,9 @@
 that plotting is working.  Typing either @code{sombrero} or @code{peaks}
 at the Octave prompt should display a three-dimensional plot.
 
-@DOCSTRING(sombrero)
-
-@DOCSTRING(peaks)
+@ref{XREFsombrero, , @code{sombrero}}: Plot the familiar 3-D sombrero function.
+
+@ref{XREFpeaks, , @code{peaks}}: Plot a function with lots of local maxima and minima.
 @node Graphics Data Structures
 @section Graphics Data Structures
 @cindex graphics data structures
@@ -1364,7 +1388,7 @@
 The uses of @code{get} and @code{set} are further explained in
 @ref{XREFget,,get}, @ref{XREFset,,set}.
 
-@DOCSTRING(isprop)
+@ref{XREFisprop, , @code{isprop}}: Return true if PROP is a property of the object OBJ.
 
 @node Graphics Objects
 @subsection Graphics Objects
@@ -1446,15 +1470,19 @@
 Instead of calling @code{line}, use @code{plot}.  Or use @code{surf} instead of
 @code{surface}.  Or use @code{fill} or @code{fill3} instead of @code{patch}.
 
-@DOCSTRING(axes)
-
-@DOCSTRING(line)
-
-@DOCSTRING(patch)
-
-@DOCSTRING(surface)
-
-@DOCSTRING(light)
+@ref{XREFaxes, , @code{axes}}: Create a Cartesian axes object and return a handle to it, or set the
+current ...
+
+@ref{XREFline, , @code{line}}: Create a line object from X and Y (and possibly Z) and insert it in the
+curre...
+
+@ref{XREFpatch, , @code{patch}}: Create patch object in the current axes with vertices at locations (X,
+Y) and...
+
+@ref{XREFsurface, , @code{surface}}: Create a surface graphic object given matrices X and Y from 'meshgrid'
+and a ...
+
+@ref{XREFlight, , @code{light}}: Create a light object in the current axes or for axes HAX.
 
 @subsubsection Handle Functions
 @cindex handle functions
@@ -1463,28 +1491,31 @@
 to an axes or figure, use the functions @code{ishghandle}, @code{isgraphics},
 @code{isaxes}, and @code{isfigure}.
 
-@DOCSTRING(ishghandle)
-
-@DOCSTRING(isgraphics)
-
-@DOCSTRING(ishandle)
-
-@DOCSTRING(isaxes)
-
-@DOCSTRING(isfigure)
+@ref{XREFishghandle, , @code{ishghandle}}: Return true if H is a graphics handle and false otherwise.
+
+@ref{XREFisgraphics, , @code{isgraphics}}: Return true if H is a graphics handle (of type TYPE) and false
+otherwise.
+
+@ref{XREFishandle, , @code{ishandle}}: Return true if H is a handle to a graphics or Java object and false
+otherwise.
+
+@ref{XREFisaxes, , @code{isaxes}}: Return true if H is an axes graphics handle and false otherwise.
+
+@ref{XREFisfigure, , @code{isfigure}}: Return true if H is a figure graphics handle and false otherwise.
 
 The function @code{gcf} returns an index to the current figure object,
 or creates one if none exists.  Similarly, @code{gca} returns the
 current axes object, or creates one (and its parent figure object) if
 none exists.
 
-@DOCSTRING(groot)
-
-@DOCSTRING(gcf)
-
-@DOCSTRING(gca)
-
-@DOCSTRING(gco)
+@ref{XREFgroot, , @code{groot}}: Return a handle to the root graphics object.
+
+@ref{XREFgcf, , @code{gcf}}: Return a handle to the current figure.
+
+@ref{XREFgca, , @code{gca}}: Return a handle to the current axes object.
+
+@ref{XREFgco, , @code{gco}}: Return a handle to the current object of the current figure, or a handle
+to t...
 
 The @code{get} and @code{set} functions may be used to examine and set
 properties for graphics objects.  For example,
@@ -1549,15 +1580,18 @@
 If @code{set} is called with two arguments (a graphic handle and a property
 name) then only the defaults for the requested property are returned.
 
-@DOCSTRING(get)
-
-@DOCSTRING(set)
-
-@DOCSTRING(ancestor)
-
-@DOCSTRING(allchild)
-
-@DOCSTRING(findfigs)
+@ref{XREFget, , @code{get}}: Return the value of the named property P from the graphics handle H.
+
+@ref{XREFset, , @code{set}}: Set named property values for the graphics handle (or vector of graphics
+hand...
+
+@ref{XREFancestor, , @code{ancestor}}: Return the first ancestor of handle object H whose type matches TYPE,
+where T...
+
+@ref{XREFallchild, , @code{allchild}}: Find all children, including hidden children, of a graphics object.
+
+@ref{XREFfindfigs, , @code{findfigs}}: Find all visible figures that are currently off the screen and move them
+onto...
 
 @cindex saving graphics objects
 @cindex graphics objects, saving
@@ -1579,11 +1613,13 @@
 @end group
 @end example
 
-@DOCSTRING(hdl2struct)
-
-@DOCSTRING(struct2hdl)
-
-@DOCSTRING(copyobj)
+@ref{XREFhdl2struct, , @code{hdl2struct}}: Return a structure, S, whose fields describe the properties of the
+object, an...
+
+@ref{XREFstruct2hdl, , @code{struct2hdl}}: Construct a graphics handle object H from the structure S.
+
+@ref{XREFcopyobj, , @code{copyobj}}: Construct a copy of the graphic objects associated with the handles
+HORIG and...
 
 @node Graphics Object Properties
 @subsection Graphics Object Properties
@@ -1767,9 +1803,9 @@
 @node Searching Properties
 @subsection Searching Properties
 
-@DOCSTRING(findobj)
-
-@DOCSTRING(findall)
+@ref{XREFfindobj, , @code{findobj}}: Find graphics objects with specified properties.
+
+@ref{XREFfindall, , @code{findall}}: Find graphics object, including hidden ones, with specified properties.
 @node Managing Default Properties
 @subsection Managing Default Properties
 @cindex default graphics properties
@@ -1861,7 +1897,7 @@
 @end group
 @end example
 
-@DOCSTRING(reset)
+@ref{XREFreset, , @code{reset}}: Reset the properties of the graphic object H to their default values.
 
 Getting the @qcode{"default"} property of an object returns a list of
 user-defined defaults set for the object.  For example,
@@ -2012,7 +2048,8 @@
 The @code{colstyle} function will parse a @code{plot}-style specification
 and will return the color, line, and marker values that would result.
 
-@DOCSTRING(colstyle)
+@ref{XREFcolstyle, , @code{colstyle}}: Parse the line specification STYLE and return the line style, color, and
+mark...
 
 @node Callbacks
 @subsection Callbacks
@@ -2127,9 +2164,10 @@
 obtained with the @code{gcbo} function.  The handle to the ancestor figure
 of this object may be obtained using the @code{gcbf} function.
 
-@DOCSTRING(gcbo)
-
-@DOCSTRING(gcbf)
+@ref{XREFgcbo, , @code{gcbo}}: Return a handle to the object whose callback is currently executing.
+
+@ref{XREFgcbf, , @code{gcbf}}: Return a handle to the figure containing the object whose callback is
+current...
 
 Callbacks can equally be added to properties with the @code{addlistener}
 function described below.
@@ -2142,13 +2180,16 @@
 handle.  The data can be anything which is meaningful to the application, and
 will be completely ignored by Octave.
 
-@DOCSTRING(setappdata)
-
-@DOCSTRING(getappdata)
-
-@DOCSTRING(rmappdata)
-
-@DOCSTRING(isappdata)
+@ref{XREFsetappdata, , @code{setappdata}}: Set the application data NAME to VALUE for the graphics object with
+handle H.
+
+@ref{XREFgetappdata, , @code{getappdata}}: Return the VALUE of the application data NAME for the graphics object
+with ha...
+
+@ref{XREFrmappdata, , @code{rmappdata}}: Delete the application data NAME from the graphics object with handle H.
+
+@ref{XREFisappdata, , @code{isappdata}}: Return true if the named application data, NAME, exists for the graphics
+obje...
 
 @node Object Groups
 @subsection Object Groups
@@ -2160,7 +2201,7 @@
 results in changes in the others.  A graphic object that groups other
 objects is an @code{hggroup}
 
-@DOCSTRING(hggroup)
+@ref{XREFhggroup, , @code{hggroup}}: Create handle graphics group object with axes parent HAX.
 
 For example a simple use of a @code{hggroup} might be
 
@@ -2182,7 +2223,7 @@
 objects.  Additional properties can be added with the @code{addproperty}
 function.
 
-@DOCSTRING(addproperty)
+@ref{XREFaddproperty, , @code{addproperty}}: Create a new property named NAME in graphics object H.
 
 Once a property in added to an @code{hggroup}, it is not linked to any
 other property of either the children of the group, or any other
@@ -2190,9 +2231,10 @@
 property is used, the @code{addlistener} function is used to define a
 callback function that is executed when the property is altered.
 
-@DOCSTRING(addlistener)
-
-@DOCSTRING(dellistener)
+@ref{XREFaddlistener, , @code{addlistener}}: Register FCN as listener for the property PROP of the graphics object H.
+
+@ref{XREFdellistener, , @code{dellistener}}: Remove the registration of FCN as a listener for the property PROP of
+the gra...
 
 An example of the use of these two functions might be
 
@@ -2229,9 +2271,11 @@
 @end group
 @end example
 
-@DOCSTRING(linkprop)
-
-@DOCSTRING(linkaxes)
+@ref{XREFlinkprop, , @code{linkprop}}: Link graphic object properties, such that a change in one is propagated
+to th...
+
+@ref{XREFlinkaxes, , @code{linkaxes}}: Link the axis limits of 2-D plots such that a change in one is
+propagated to ...
 
 These capabilities are used in a number of basic graphics objects.
 The @code{hggroup} objects created by the functions of Octave contain
@@ -2301,7 +2345,8 @@
 the relevant data property of the group when the @code{refreshdata}
 function is called.
 
-@DOCSTRING(refreshdata)
+@ref{XREFrefreshdata, , @code{refreshdata}}: Evaluate any 'datasource' properties of the current figure and update
+the plo...
 
 @anchor{XREFlinkdata}
 @c add the description of the linkdata function here when it is written
@@ -2741,7 +2786,7 @@
 
 @c FIXME: Need to add documentation on transforms.
 
-@DOCSTRING(hgtransform)
+@ref{XREFhgtransform, , @code{hgtransform}}: Create a graphics transform object.
 
 @c @DOCSTRING(makehgtform)
 
@@ -2750,13 +2795,14 @@
 @cindex graphics toolkits
 @cindex toolkits, graphics
 
-@DOCSTRING(graphics_toolkit)
-
-@DOCSTRING(available_graphics_toolkits)
-
-@DOCSTRING(loaded_graphics_toolkits)
-
-@DOCSTRING(register_graphics_toolkit)
+@ref{XREFgraphics_toolkit, , @code{graphics_toolkit}}: Query or set the default graphics toolkit which is assigned to new
+figures.
+
+@ref{XREFavailable_graphics_toolkits, , @code{available_graphics_toolkits}}: Return a cell array of registered graphics toolkits.
+
+@ref{XREFloaded_graphics_toolkits, , @code{loaded_graphics_toolkits}}: Return a cell array of the currently loaded graphics toolkits.
+
+@ref{XREFregister_graphics_toolkit, , @code{register_graphics_toolkit}}: List TOOLKIT as an available graphics toolkit.
 
 @menu
 * Customizing Toolkit Behavior::
@@ -2772,7 +2818,8 @@
 following utility functions.  Note: Not all functions apply to every
 graphics toolkit.
 
-@DOCSTRING(gnuplot_binary)
+@ref{XREFgnuplot_binary, , @code{gnuplot_binary}}: Query or set the name of the program invoked by the plot command when
+the gra...
 
 @cindex GNUTERM
 
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/poly.txi
--- a/doc/interpreter/poly.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/poly.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -71,9 +71,9 @@
 more elegant algorithms perform better.  The @code{polyvalm} function
 provides such an algorithm.
 
-@DOCSTRING(polyval)
+@ref{XREFpolyval, , @code{polyval}}: Evaluate the polynomial P at the specified values of X.
 
-@DOCSTRING(polyvalm)
+@ref{XREFpolyvalm, , @code{polyvalm}}: Evaluate a polynomial in the matrix sense.
 
 @node Finding Roots
 @section Finding Roots
@@ -82,28 +82,30 @@
 the companion matrix of the polynomial (see the @code{compan} function
 for a definition), and then finding its eigenvalues.
 
-@DOCSTRING(roots)
+@ref{XREFroots, , @code{roots}}: Compute the roots of the polynomial C.
 
-@DOCSTRING(polyeig)
+@ref{XREFpolyeig, , @code{polyeig}}: Solve the polynomial eigenvalue problem of degree L.
 
-@DOCSTRING(compan)
+@ref{XREFcompan, , @code{compan}}: Compute the companion matrix corresponding to polynomial coefficient
+vector C.
 
-@DOCSTRING(mpoles)
+@ref{XREFmpoles, , @code{mpoles}}: Identify unique poles in P and their associated multiplicity.
 
 @node Products of Polynomials
 @section Products of Polynomials
 
-@DOCSTRING(conv)
+@ref{XREFconv, , @code{conv}}: Convolve two vectors A and B.
 
-@DOCSTRING(convn)
+@ref{XREFconvn, , @code{convn}}: Return the n-D convolution of A and B.
 
-@DOCSTRING(deconv)
+@ref{XREFdeconv, , @code{deconv}}: Deconvolve two vectors (polynomial division).
 
-@DOCSTRING(conv2)
+@ref{XREFconv2, , @code{conv2}}: Return the 2-D convolution of A and B.
 
-@DOCSTRING(polygcd)
+@ref{XREFpolygcd, , @code{polygcd}}: Find the greatest common divisor of two polynomials.
 
-@DOCSTRING(residue)
+@ref{XREFresidue, , @code{residue}}: The first calling form computes the partial fraction expansion for the
+quotie...
 
 @node Derivatives / Integrals / Transforms
 @section Derivatives / Integrals / Transforms
@@ -122,11 +124,14 @@
 @end group
 @end example
 
-@DOCSTRING(polyder)
+@ref{XREFpolyder, , @code{polyder}}: Return the coefficients of the derivative of the polynomial whose
+coefficient...
 
-@DOCSTRING(polyint)
+@ref{XREFpolyint, , @code{polyint}}: Return the coefficients of the integral of the polynomial whose
+coefficients ...
 
-@DOCSTRING(polyaffine)
+@ref{XREFpolyaffine, , @code{polyaffine}}: Return the coefficients of the polynomial vector F after an affine
+transforma...
 
 @node Polynomial Interpolation
 @section Polynomial Interpolation
@@ -140,14 +145,16 @@
 is necessary to fit the polynomial in a least-squares sense, which just
 is what the @code{polyfit} function does.
 
-@DOCSTRING(polyfit)
+@ref{XREFpolyfit, , @code{polyfit}}: Return the coefficients of a polynomial P(X) of degree N that minimizes
+the l...
 
 In situations where a single polynomial isn't good enough, a solution
 is to use several polynomials pieced together.  The function
 @code{splinefit} fits a piecewise polynomial (spline) to a set of
 data.
 
-@DOCSTRING(splinefit)
+@ref{XREFsplinefit, , @code{splinefit}}: Fit a piecewise cubic spline with breaks (knots) BREAKS to the noisy
+data, X ...
 
 The number of @var{breaks} (or knots) used to construct the piecewise
 polynomial is a significant factor in suppressing the noise present in
@@ -353,7 +360,8 @@
 For control systems, a continuous-time delay can be modeled very simply with
 the approximant.
 
-@DOCSTRING(padecoef)
+@ref{XREFpadecoef, , @code{padecoef}}: Compute the Nth-order Pade' approximant of the continuous-time delay T
+in tra...
 
 The function, @code{ppval}, evaluates the piecewise polynomials, created
 by @code{mkpp} or other means, and @code{unmkpp} returns detailed
@@ -376,23 +384,27 @@
 @end group
 @end example
 
-@DOCSTRING(mkpp)
+@ref{XREFmkpp, , @code{mkpp}}: Construct a piecewise polynomial (pp) structure from sample points
+BREAKS and...
 
-@DOCSTRING(unmkpp)
+@ref{XREFunmkpp, , @code{unmkpp}}: Extract the components of a piecewise polynomial structure PP.
 
-@DOCSTRING(ppval)
+@ref{XREFppval, , @code{ppval}}: Evaluate the piecewise polynomial structure PP at the points XI.
 
-@DOCSTRING(ppder)
+@ref{XREFppder, , @code{ppder}}: Compute the piecewise M-th derivative of a piecewise polynomial struct
+PP.
 
-@DOCSTRING(ppint)
+@ref{XREFppint, , @code{ppint}}: Compute the integral of the piecewise polynomial struct PP.
 
-@DOCSTRING(ppjumps)
+@ref{XREFppjumps, , @code{ppjumps}}: Evaluate the boundary jumps of a piecewise polynomial.
 
 @node Miscellaneous Functions
 @section Miscellaneous Functions
 
-@DOCSTRING(poly)
+@ref{XREFpoly, , @code{poly}}: If A is a square N-by-N matrix, 'poly (A)' is the row vector of the
+coefficie...
 
-@DOCSTRING(polyout)
+@ref{XREFpolyout, , @code{polyout}}: Display a formatted version of the polynomial C.
 
-@DOCSTRING(polyreduce)
+@ref{XREFpolyreduce, , @code{polyreduce}}: Reduce a polynomial coefficient vector to a minimum number of terms by
+stripp...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/preface.txi
--- a/doc/interpreter/preface.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/preface.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -160,7 +160,8 @@
 text for Octave or any of its packages.  See the help text below on how to
 use @code{citation}.
 
-@DOCSTRING(citation)
+@ref{XREFcitation, , @code{citation}}: Display instructions for citing GNU Octave or its packages in
+publications.
 
 @node How You Can Contribute to Octave
 @unnumberedsec How You Can Contribute to Octave
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/quad.txi
--- a/doc/interpreter/quad.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/quad.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -153,19 +153,25 @@
 @end group
 @end example
 
-@DOCSTRING(quad)
+@ref{XREFquad, , @code{quad}}: Numerically evaluate the integral of F from A to B using Fortran
+routines fro...
 
-@DOCSTRING(quad_options)
+@ref{XREFquad_options, , @code{quad_options}}: Query or set options for the function 'quad'.
 
-@DOCSTRING(quadv)
+@ref{XREFquadv, , @code{quadv}}: Numerically evaluate the integral of F from A to B using an adaptive
+Simpson'...
 
-@DOCSTRING(quadl)
+@ref{XREFquadl, , @code{quadl}}: Numerically evaluate the integral of F from A to B using an adaptive
+Lobatto ...
 
-@DOCSTRING(quadgk)
+@ref{XREFquadgk, , @code{quadgk}}: Numerically evaluate the integral of F from A to B using adaptive
+Gauss-Kronr...
 
-@DOCSTRING(quadcc)
+@ref{XREFquadcc, , @code{quadcc}}: Numerically evaluate the integral of F from A to B using doubly-adaptive
+Clen...
 
-@DOCSTRING(integral)
+@ref{XREFintegral, , @code{integral}}: Numerically evaluate the integral of F from A to B using adaptive
+quadrature.
 
 Sometimes one does not have the function, but only the raw (x, y) points from
 which to perform an integration.  This can occur when collecting data in an
@@ -215,14 +221,17 @@
 to select the best distribution.  In any case, one must remain aware of this
 issue when using @code{trapz}.
 
-@DOCSTRING(trapz)
+@ref{XREFtrapz, , @code{trapz}}: Numerically evaluate the integral of points Y using the trapezoidal
+method.
 
-@DOCSTRING(cumtrapz)
+@ref{XREFcumtrapz, , @code{cumtrapz}}: Cumulative numerical integration of points Y using the trapezoidal
+method.
 
 @node Orthogonal Collocation
 @section Orthogonal Collocation
 
-@DOCSTRING(colloc)
+@ref{XREFcolloc, , @code{colloc}}: Compute derivative and integral weight matrices for orthogonal
+collocation.
 
 Here is an example of using @code{colloc} to generate weight matrices
 for solving the second order differential equation
@@ -320,9 +329,9 @@
 @end group
 @end example
 
-@DOCSTRING(dblquad)
+@ref{XREFdblquad, , @code{dblquad}}: Numerically evaluate the double integral of F.
 
-@DOCSTRING(triplequad)
+@ref{XREFtriplequad, , @code{triplequad}}: Numerically evaluate the triple integral of F.
 
 The recursive algorithm for quadrature presented above is referred to as
 @qcode{"iterated"}.  A separate 2-D integration method is implemented in the
@@ -333,16 +342,19 @@
 certain functions this method can be faster than the 2-D iteration used in the
 other functions above.
 
-@DOCSTRING(quad2d)
+@ref{XREFquad2d, , @code{quad2d}}: Numerically evaluate the two-dimensional integral of F using adaptive
+quadrat...
 
 Finally, the functions @code{integral2} and @code{integral3} are provided
 as general 2-D and 3-D integration functions.  They will auto-select between
 iterated and tiled integration methods and, unlike @code{dblquad} and
 @code{triplequad}, will work with non-rectangular integration domains.
 
-@DOCSTRING(integral2)
+@ref{XREFintegral2, , @code{integral2}}: Numerically evaluate the two-dimensional integral of F using adaptive
+quadrat...
 
-@DOCSTRING(integral3)
+@ref{XREFintegral3, , @code{integral3}}: Numerically evaluate the three-dimensional integral of F using adaptive
+quadr...
 
 The above integrations can be fairly slow, and that problem increases
 exponentially with the dimensionality of the integral.  Another possible
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/reference.txi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/interpreter/reference.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -0,0 +1,7467 @@
+@c Copyright (C) 2007-2021 John W. Eaton
+@c
+@c This file is part of Octave.
+@c
+@c Octave is free software: you can redistribute it and/or modify it
+@c under the terms of the GNU General Public License as published by
+@c the Free Software Foundation, either version 3 of the License, or
+@c (at your option) any later version.
+@c
+@c Octave is distributed in the hope that it will be useful, but
+@c WITHOUT ANY WARRANTY; without even the implied warranty of
+@c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+@c GNU General Public License for more details.
+@c
+@c You should have received a copy of the GNU General Public License
+@c along with Octave; see the file COPYING.  If not, see
+@c <https://www.gnu.org/licenses/>.
+
+@node Function Reference
+@appendix Function Reference
+@cindex Function Reference
+
+@node citation
+@unnumberedsec citation
+@DOCSTRING(citation)
+
+
+@node argv
+@unnumberedsec argv
+@DOCSTRING(argv)
+
+
+@node program_name
+@unnumberedsec program_name
+@DOCSTRING(program_name)
+
+
+@node program_invocation_name
+@unnumberedsec program_invocation_name
+@DOCSTRING(program_invocation_name)
+
+
+@node quit
+@unnumberedsec quit
+@DOCSTRING(quit)
+
+
+@node atexit
+@unnumberedsec atexit
+@DOCSTRING(atexit)
+
+
+@node help
+@unnumberedsec help
+@DOCSTRING(help)
+
+
+@node doc
+@unnumberedsec doc
+@DOCSTRING(doc)
+
+
+@node lookfor
+@unnumberedsec lookfor
+@DOCSTRING(lookfor)
+
+
+@node news
+@unnumberedsec news
+@DOCSTRING(news)
+
+
+@node info
+@unnumberedsec info
+@DOCSTRING(info)
+
+
+@node warranty
+@unnumberedsec warranty
+@DOCSTRING(warranty)
+
+
+@node info_file
+@unnumberedsec info_file
+@DOCSTRING(info_file)
+
+
+@node info_program
+@unnumberedsec info_program
+@DOCSTRING(info_program)
+
+
+@node makeinfo_program
+@unnumberedsec makeinfo_program
+@DOCSTRING(makeinfo_program)
+
+
+@node texi_macros_file
+@unnumberedsec texi_macros_file
+@DOCSTRING(texi_macros_file)
+
+
+@node doc_cache_file
+@unnumberedsec doc_cache_file
+@DOCSTRING(doc_cache_file)
+
+
+@node built_in_docstrings_file
+@unnumberedsec built_in_docstrings_file
+@DOCSTRING(built_in_docstrings_file)
+
+
+@node suppress_verbose_help_message
+@unnumberedsec suppress_verbose_help_message
+@DOCSTRING(suppress_verbose_help_message)
+
+
+@node doc_cache_create
+@unnumberedsec doc_cache_create
+@DOCSTRING(doc_cache_create)
+
+
+@node get_help_text
+@unnumberedsec get_help_text
+@DOCSTRING(get_help_text)
+
+
+@node get_help_text_from_file
+@unnumberedsec get_help_text_from_file
+@DOCSTRING(get_help_text_from_file)
+
+
+@node get_first_help_sentence
+@unnumberedsec get_first_help_sentence
+@DOCSTRING(get_first_help_sentence)
+
+
+@node clc
+@unnumberedsec clc
+@DOCSTRING(clc)
+
+
+@node completion_append_char
+@unnumberedsec completion_append_char
+@DOCSTRING(completion_append_char)
+
+
+@node completion_matches
+@unnumberedsec completion_matches
+@DOCSTRING(completion_matches)
+
+
+@node history
+@unnumberedsec history
+@DOCSTRING(history)
+
+
+@node edit_history
+@unnumberedsec edit_history
+@DOCSTRING(edit_history)
+
+
+@node run_history
+@unnumberedsec run_history
+@DOCSTRING(run_history)
+
+
+@node history_save
+@unnumberedsec history_save
+@DOCSTRING(history_save)
+
+
+@node history_control
+@unnumberedsec history_control
+@DOCSTRING(history_control)
+
+
+@node history_file
+@unnumberedsec history_file
+@DOCSTRING(history_file)
+
+
+@node history_size
+@unnumberedsec history_size
+@DOCSTRING(history_size)
+
+
+@node history_timestamp_format_string
+@unnumberedsec history_timestamp_format_string
+@DOCSTRING(history_timestamp_format_string)
+
+
+@node EDITOR
+@unnumberedsec EDITOR
+@DOCSTRING(EDITOR)
+
+
+@node readline_read_init_file
+@unnumberedsec readline_read_init_file
+@DOCSTRING(readline_read_init_file)
+
+
+@node readline_re_read_init_file
+@unnumberedsec readline_re_read_init_file
+@DOCSTRING(readline_re_read_init_file)
+
+
+@node PS1
+@unnumberedsec PS1
+@DOCSTRING(PS1)
+
+
+@node PS2
+@unnumberedsec PS2
+@DOCSTRING(PS2)
+
+
+@node PS4
+@unnumberedsec PS4
+@DOCSTRING(PS4)
+
+
+@node diary
+@unnumberedsec diary
+@DOCSTRING(diary)
+
+
+@node echo
+@unnumberedsec echo
+@DOCSTRING(echo)
+
+
+@node typeinfo
+@unnumberedsec typeinfo
+@DOCSTRING(typeinfo)
+
+
+@node class
+@unnumberedsec class
+@DOCSTRING(class)
+
+
+@node isa
+@unnumberedsec isa
+@DOCSTRING(isa)
+
+
+@node cast
+@unnumberedsec cast
+@DOCSTRING(cast)
+
+
+@node typecast
+@unnumberedsec typecast
+@DOCSTRING(typecast)
+
+
+@node swapbytes
+@unnumberedsec swapbytes
+@DOCSTRING(swapbytes)
+
+
+@node bitpack
+@unnumberedsec bitpack
+@DOCSTRING(bitpack)
+
+
+@node bitunpack
+@unnumberedsec bitunpack
+@DOCSTRING(bitunpack)
+
+
+@node NA
+@unnumberedsec NA
+@DOCSTRING(NA)
+
+
+@node isna
+@unnumberedsec isna
+@DOCSTRING(isna)
+
+
+@node ndims
+@unnumberedsec ndims
+@DOCSTRING(ndims)
+
+
+@node columns
+@unnumberedsec columns
+@DOCSTRING(columns)
+
+
+@node rows
+@unnumberedsec rows
+@DOCSTRING(rows)
+
+
+@node numel
+@unnumberedsec numel
+@DOCSTRING(numel)
+
+
+@node length
+@unnumberedsec length
+@DOCSTRING(length)
+
+
+@node size
+@unnumberedsec size
+@DOCSTRING(size)
+
+
+@node isempty
+@unnumberedsec isempty
+@DOCSTRING(isempty)
+
+
+@node isnull
+@unnumberedsec isnull
+@DOCSTRING(isnull)
+
+
+@node sizeof
+@unnumberedsec sizeof
+@DOCSTRING(sizeof)
+
+
+@node size_equal
+@unnumberedsec size_equal
+@DOCSTRING(size_equal)
+
+
+@node squeeze
+@unnumberedsec squeeze
+@DOCSTRING(squeeze)
+
+
+@node double
+@unnumberedsec double
+@DOCSTRING(double)
+
+
+@node complex
+@unnumberedsec complex
+@DOCSTRING(complex)
+
+
+@node sizemax
+@unnumberedsec sizemax
+@DOCSTRING(sizemax)
+
+
+@node output_precision
+@unnumberedsec output_precision
+@DOCSTRING(output_precision)
+
+
+@node split_long_rows
+@unnumberedsec split_long_rows
+@DOCSTRING(split_long_rows)
+
+
+@node fixed_point_format
+@unnumberedsec fixed_point_format
+@DOCSTRING(fixed_point_format)
+
+
+@node print_empty_dimensions
+@unnumberedsec print_empty_dimensions
+@DOCSTRING(print_empty_dimensions)
+
+
+@node disable_range
+@unnumberedsec disable_range
+@DOCSTRING(disable_range)
+
+
+@node single
+@unnumberedsec single
+@DOCSTRING(single)
+
+
+@node isinteger
+@unnumberedsec isinteger
+@DOCSTRING(isinteger)
+
+
+@node int8
+@unnumberedsec int8
+@DOCSTRING(int8)
+
+
+@node uint8
+@unnumberedsec uint8
+@DOCSTRING(uint8)
+
+
+@node int16
+@unnumberedsec int16
+@DOCSTRING(int16)
+
+
+@node uint16
+@unnumberedsec uint16
+@DOCSTRING(uint16)
+
+
+@node int32
+@unnumberedsec int32
+@DOCSTRING(int32)
+
+
+@node uint32
+@unnumberedsec uint32
+@DOCSTRING(uint32)
+
+
+@node int64
+@unnumberedsec int64
+@DOCSTRING(int64)
+
+
+@node uint64
+@unnumberedsec uint64
+@DOCSTRING(uint64)
+
+
+@node intmax
+@unnumberedsec intmax
+@DOCSTRING(intmax)
+
+
+@node intmin
+@unnumberedsec intmin
+@DOCSTRING(intmin)
+
+
+@node flintmax
+@unnumberedsec flintmax
+@DOCSTRING(flintmax)
+
+
+@node idivide
+@unnumberedsec idivide
+@DOCSTRING(idivide)
+
+
+@node bitset
+@unnumberedsec bitset
+@DOCSTRING(bitset)
+
+
+@node bitget
+@unnumberedsec bitget
+@DOCSTRING(bitget)
+
+
+@node bitand
+@unnumberedsec bitand
+@DOCSTRING(bitand)
+
+
+@node bitor
+@unnumberedsec bitor
+@DOCSTRING(bitor)
+
+
+@node bitxor
+@unnumberedsec bitxor
+@DOCSTRING(bitxor)
+
+
+@node bitcmp
+@unnumberedsec bitcmp
+@DOCSTRING(bitcmp)
+
+
+@node bitshift
+@unnumberedsec bitshift
+@DOCSTRING(bitshift)
+
+
+@node logical
+@unnumberedsec logical
+@DOCSTRING(logical)
+
+
+@node true
+@unnumberedsec true
+@DOCSTRING(true)
+
+
+@node false
+@unnumberedsec false
+@DOCSTRING(false)
+
+
+@node isnumeric
+@unnumberedsec isnumeric
+@DOCSTRING(isnumeric)
+
+
+@node islogical
+@unnumberedsec islogical
+@DOCSTRING(islogical)
+
+
+@node isfloat
+@unnumberedsec isfloat
+@DOCSTRING(isfloat)
+
+
+@node isreal
+@unnumberedsec isreal
+@DOCSTRING(isreal)
+
+
+@node iscomplex
+@unnumberedsec iscomplex
+@DOCSTRING(iscomplex)
+
+
+@node ismatrix
+@unnumberedsec ismatrix
+@DOCSTRING(ismatrix)
+
+
+@node isvector
+@unnumberedsec isvector
+@DOCSTRING(isvector)
+
+
+@node isrow
+@unnumberedsec isrow
+@DOCSTRING(isrow)
+
+
+@node iscolumn
+@unnumberedsec iscolumn
+@DOCSTRING(iscolumn)
+
+
+@node isscalar
+@unnumberedsec isscalar
+@DOCSTRING(isscalar)
+
+
+@node issquare
+@unnumberedsec issquare
+@DOCSTRING(issquare)
+
+
+@node issymmetric
+@unnumberedsec issymmetric
+@DOCSTRING(issymmetric)
+
+
+@node ishermitian
+@unnumberedsec ishermitian
+@DOCSTRING(ishermitian)
+
+
+@node isdefinite
+@unnumberedsec isdefinite
+@DOCSTRING(isdefinite)
+
+
+@node isbanded
+@unnumberedsec isbanded
+@DOCSTRING(isbanded)
+
+
+@node isdiag
+@unnumberedsec isdiag
+@DOCSTRING(isdiag)
+
+
+@node istril
+@unnumberedsec istril
+@DOCSTRING(istril)
+
+
+@node istriu
+@unnumberedsec istriu
+@DOCSTRING(istriu)
+
+
+@node isprime
+@unnumberedsec isprime
+@DOCSTRING(isprime)
+
+
+@node blanks
+@unnumberedsec blanks
+@DOCSTRING(blanks)
+
+
+@node is_dq_string
+@unnumberedsec is_dq_string
+@DOCSTRING(is_dq_string)
+
+
+@node is_sq_string
+@unnumberedsec is_sq_string
+@DOCSTRING(is_sq_string)
+
+
+@node ischar
+@unnumberedsec ischar
+@DOCSTRING(ischar)
+
+
+@node isstring
+@unnumberedsec isstring
+@DOCSTRING(isstring)
+
+
+@node string_fill_char
+@unnumberedsec string_fill_char
+@DOCSTRING(string_fill_char)
+
+
+@node strjust
+@unnumberedsec strjust
+@DOCSTRING(strjust)
+
+
+@node tolower
+@unnumberedsec tolower
+@DOCSTRING(tolower)
+
+
+@node toupper
+@unnumberedsec toupper
+@DOCSTRING(toupper)
+
+
+@node deblank
+@unnumberedsec deblank
+@DOCSTRING(deblank)
+
+
+@node strtrim
+@unnumberedsec strtrim
+@DOCSTRING(strtrim)
+
+
+@node strtrunc
+@unnumberedsec strtrunc
+@DOCSTRING(strtrunc)
+
+
+@node untabify
+@unnumberedsec untabify
+@DOCSTRING(untabify)
+
+
+@node do_string_escapes
+@unnumberedsec do_string_escapes
+@DOCSTRING(do_string_escapes)
+
+
+@node undo_string_escapes
+@unnumberedsec undo_string_escapes
+@DOCSTRING(undo_string_escapes)
+
+
+@node newline
+@unnumberedsec newline
+@DOCSTRING(newline)
+
+
+@node char
+@unnumberedsec char
+@DOCSTRING(char)
+
+
+@node strvcat
+@unnumberedsec strvcat
+@DOCSTRING(strvcat)
+
+
+@node strcat
+@unnumberedsec strcat
+@DOCSTRING(strcat)
+
+
+@node cstrcat
+@unnumberedsec cstrcat
+@DOCSTRING(cstrcat)
+
+
+@node substr
+@unnumberedsec substr
+@DOCSTRING(substr)
+
+
+@node strtok
+@unnumberedsec strtok
+@DOCSTRING(strtok)
+
+
+@node strsplit
+@unnumberedsec strsplit
+@DOCSTRING(strsplit)
+
+
+@node ostrsplit
+@unnumberedsec ostrsplit
+@DOCSTRING(ostrsplit)
+
+
+@node strjoin
+@unnumberedsec strjoin
+@DOCSTRING(strjoin)
+
+
+@node strcmp
+@unnumberedsec strcmp
+@DOCSTRING(strcmp)
+
+
+@node strncmp
+@unnumberedsec strncmp
+@DOCSTRING(strncmp)
+
+
+@node strcmpi
+@unnumberedsec strcmpi
+@DOCSTRING(strcmpi)
+
+
+@node strncmpi
+@unnumberedsec strncmpi
+@DOCSTRING(strncmpi)
+
+
+@node startsWith
+@unnumberedsec startsWith
+@DOCSTRING(startsWith)
+
+
+@node endsWith
+@unnumberedsec endsWith
+@DOCSTRING(endsWith)
+
+
+@node findstr
+@unnumberedsec findstr
+@DOCSTRING(findstr)
+
+
+@node strchr
+@unnumberedsec strchr
+@DOCSTRING(strchr)
+
+
+@node index
+@unnumberedsec index
+@DOCSTRING(index)
+
+
+@node rindex
+@unnumberedsec rindex
+@DOCSTRING(rindex)
+
+
+@node unicode_idx
+@unnumberedsec unicode_idx
+@DOCSTRING(unicode_idx)
+
+
+@node strfind
+@unnumberedsec strfind
+@DOCSTRING(strfind)
+
+
+@node strmatch
+@unnumberedsec strmatch
+@DOCSTRING(strmatch)
+
+
+@node strrep
+@unnumberedsec strrep
+@DOCSTRING(strrep)
+
+
+@node erase
+@unnumberedsec erase
+@DOCSTRING(erase)
+
+
+@node regexp
+@unnumberedsec regexp
+@DOCSTRING(regexp)
+
+
+@node regexpi
+@unnumberedsec regexpi
+@DOCSTRING(regexpi)
+
+
+@node regexprep
+@unnumberedsec regexprep
+@DOCSTRING(regexprep)
+
+
+@node regexptranslate
+@unnumberedsec regexptranslate
+@DOCSTRING(regexptranslate)
+
+
+@node unicode2native
+@unnumberedsec unicode2native
+@DOCSTRING(unicode2native)
+
+
+@node native2unicode
+@unnumberedsec native2unicode
+@DOCSTRING(native2unicode)
+
+
+@node mat2str
+@unnumberedsec mat2str
+@DOCSTRING(mat2str)
+
+
+@node num2str
+@unnumberedsec num2str
+@DOCSTRING(num2str)
+
+
+@node int2str
+@unnumberedsec int2str
+@DOCSTRING(int2str)
+
+
+@node str2double
+@unnumberedsec str2double
+@DOCSTRING(str2double)
+
+
+@node str2num
+@unnumberedsec str2num
+@DOCSTRING(str2num)
+
+
+@node bin2dec
+@unnumberedsec bin2dec
+@DOCSTRING(bin2dec)
+
+
+@node dec2bin
+@unnumberedsec dec2bin
+@DOCSTRING(dec2bin)
+
+
+@node dec2hex
+@unnumberedsec dec2hex
+@DOCSTRING(dec2hex)
+
+
+@node hex2dec
+@unnumberedsec hex2dec
+@DOCSTRING(hex2dec)
+
+
+@node dec2base
+@unnumberedsec dec2base
+@DOCSTRING(dec2base)
+
+
+@node base2dec
+@unnumberedsec base2dec
+@DOCSTRING(base2dec)
+
+
+@node num2hex
+@unnumberedsec num2hex
+@DOCSTRING(num2hex)
+
+
+@node hex2num
+@unnumberedsec hex2num
+@DOCSTRING(hex2num)
+
+
+@node strread
+@unnumberedsec strread
+@DOCSTRING(strread)
+
+
+@node jsonencode
+@unnumberedsec jsonencode
+@DOCSTRING(jsonencode)
+
+
+@node jsondecode
+@unnumberedsec jsondecode
+@DOCSTRING(jsondecode)
+
+
+@node isalnum
+@unnumberedsec isalnum
+@DOCSTRING(isalnum)
+
+
+@node isalpha
+@unnumberedsec isalpha
+@DOCSTRING(isalpha)
+
+
+@node isletter
+@unnumberedsec isletter
+@DOCSTRING(isletter)
+
+
+@node islower
+@unnumberedsec islower
+@DOCSTRING(islower)
+
+
+@node isupper
+@unnumberedsec isupper
+@DOCSTRING(isupper)
+
+
+@node isdigit
+@unnumberedsec isdigit
+@DOCSTRING(isdigit)
+
+
+@node isxdigit
+@unnumberedsec isxdigit
+@DOCSTRING(isxdigit)
+
+
+@node ispunct
+@unnumberedsec ispunct
+@DOCSTRING(ispunct)
+
+
+@node isspace
+@unnumberedsec isspace
+@DOCSTRING(isspace)
+
+
+@node iscntrl
+@unnumberedsec iscntrl
+@DOCSTRING(iscntrl)
+
+
+@node isgraph
+@unnumberedsec isgraph
+@DOCSTRING(isgraph)
+
+
+@node isprint
+@unnumberedsec isprint
+@DOCSTRING(isprint)
+
+
+@node isascii
+@unnumberedsec isascii
+@DOCSTRING(isascii)
+
+
+@node isstrprop
+@unnumberedsec isstrprop
+@DOCSTRING(isstrprop)
+
+
+@node struct_levels_to_print
+@unnumberedsec struct_levels_to_print
+@DOCSTRING(struct_levels_to_print)
+
+
+@node print_struct_array_contents
+@unnumberedsec print_struct_array_contents
+@DOCSTRING(print_struct_array_contents)
+
+
+@node struct
+@unnumberedsec struct
+@DOCSTRING(struct)
+
+
+@node isstruct
+@unnumberedsec isstruct
+@DOCSTRING(isstruct)
+
+
+@node numfields
+@unnumberedsec numfields
+@DOCSTRING(numfields)
+
+
+@node fieldnames
+@unnumberedsec fieldnames
+@DOCSTRING(fieldnames)
+
+
+@node isfield
+@unnumberedsec isfield
+@DOCSTRING(isfield)
+
+
+@node setfield
+@unnumberedsec setfield
+@DOCSTRING(setfield)
+
+
+@node getfield
+@unnumberedsec getfield
+@DOCSTRING(getfield)
+
+
+@node rmfield
+@unnumberedsec rmfield
+@DOCSTRING(rmfield)
+
+
+@node orderfields
+@unnumberedsec orderfields
+@DOCSTRING(orderfields)
+
+
+@node substruct
+@unnumberedsec substruct
+@DOCSTRING(substruct)
+
+
+@node struct2cell
+@unnumberedsec struct2cell
+@DOCSTRING(struct2cell)
+
+
+@node namedargs2cell
+@unnumberedsec namedargs2cell
+@DOCSTRING(namedargs2cell)
+
+
+@node containers_Map
+@unnumberedsec containers.Map
+@DOCSTRING(containers.Map)
+
+
+@node celldisp
+@unnumberedsec celldisp
+@DOCSTRING(celldisp)
+
+
+@node iscell
+@unnumberedsec iscell
+@DOCSTRING(iscell)
+
+
+@node cell
+@unnumberedsec cell
+@DOCSTRING(cell)
+
+
+@node num2cell
+@unnumberedsec num2cell
+@DOCSTRING(num2cell)
+
+
+@node mat2cell
+@unnumberedsec mat2cell
+@DOCSTRING(mat2cell)
+
+
+@node cellslices
+@unnumberedsec cellslices
+@DOCSTRING(cellslices)
+
+
+@node cellindexmat
+@unnumberedsec cellindexmat
+@DOCSTRING(cellindexmat)
+
+
+@node cellstr
+@unnumberedsec cellstr
+@DOCSTRING(cellstr)
+
+
+@node iscellstr
+@unnumberedsec iscellstr
+@DOCSTRING(iscellstr)
+
+
+@node cell2mat
+@unnumberedsec cell2mat
+@DOCSTRING(cell2mat)
+
+
+@node cell2struct
+@unnumberedsec cell2struct
+@DOCSTRING(cell2struct)
+
+
+@node ans
+@unnumberedsec ans
+@DOCSTRING(ans)
+
+
+@node isvarname
+@unnumberedsec isvarname
+@DOCSTRING(isvarname)
+
+
+@node matlab_lang_makeValidName
+@unnumberedsec matlab.lang.makeValidName
+@DOCSTRING(matlab.lang.makeValidName)
+
+
+@node matlab_lang_makeUniqueStrings
+@unnumberedsec matlab.lang.makeUniqueStrings
+@DOCSTRING(matlab.lang.makeUniqueStrings)
+
+
+@node namelengthmax
+@unnumberedsec namelengthmax
+@DOCSTRING(namelengthmax)
+
+
+@node isglobal
+@unnumberedsec isglobal
+@DOCSTRING(isglobal)
+
+
+@node who
+@unnumberedsec who
+@DOCSTRING(who)
+
+
+@node whos
+@unnumberedsec whos
+@DOCSTRING(whos)
+
+
+@node whos_line_format
+@unnumberedsec whos_line_format
+@DOCSTRING(whos_line_format)
+
+
+@node exist
+@unnumberedsec exist
+@DOCSTRING(exist)
+
+
+@node clear
+@unnumberedsec clear
+@DOCSTRING(clear)
+
+
+@node clearvars
+@unnumberedsec clearvars
+@DOCSTRING(clearvars)
+
+
+@node pack
+@unnumberedsec pack
+@DOCSTRING(pack)
+
+
+@node type
+@unnumberedsec type
+@DOCSTRING(type)
+
+
+@node which
+@unnumberedsec which
+@DOCSTRING(which)
+
+
+@node what
+@unnumberedsec what
+@DOCSTRING(what)
+
+
+@node sub2ind
+@unnumberedsec sub2ind
+@DOCSTRING(sub2ind)
+
+
+@node ind2sub
+@unnumberedsec ind2sub
+@DOCSTRING(ind2sub)
+
+
+@node isindex
+@unnumberedsec isindex
+@DOCSTRING(isindex)
+
+
+@node max_recursion_depth
+@unnumberedsec max_recursion_depth
+@DOCSTRING(max_recursion_depth)
+
+
+@node max_stack_depth
+@unnumberedsec max_stack_depth
+@DOCSTRING(max_stack_depth)
+
+
+@node ctranspose
+@unnumberedsec ctranspose
+@DOCSTRING(ctranspose)
+
+
+@node ldivide
+@unnumberedsec ldivide
+@DOCSTRING(ldivide)
+
+
+@node minus
+@unnumberedsec minus
+@DOCSTRING(minus)
+
+
+@node mldivide
+@unnumberedsec mldivide
+@DOCSTRING(mldivide)
+
+
+@node mpower
+@unnumberedsec mpower
+@DOCSTRING(mpower)
+
+
+@node mrdivide
+@unnumberedsec mrdivide
+@DOCSTRING(mrdivide)
+
+
+@node mtimes
+@unnumberedsec mtimes
+@DOCSTRING(mtimes)
+
+
+@node plus
+@unnumberedsec plus
+@DOCSTRING(plus)
+
+
+@node power
+@unnumberedsec power
+@DOCSTRING(power)
+
+
+@node rdivide
+@unnumberedsec rdivide
+@DOCSTRING(rdivide)
+
+
+@node times
+@unnumberedsec times
+@DOCSTRING(times)
+
+
+@node transpose
+@unnumberedsec transpose
+@DOCSTRING(transpose)
+
+
+@node uminus
+@unnumberedsec uminus
+@DOCSTRING(uminus)
+
+
+@node uplus
+@unnumberedsec uplus
+@DOCSTRING(uplus)
+
+
+@node eq
+@unnumberedsec eq
+@DOCSTRING(eq)
+
+
+@node ge
+@unnumberedsec ge
+@DOCSTRING(ge)
+
+
+@node gt
+@unnumberedsec gt
+@DOCSTRING(gt)
+
+
+@node isequal
+@unnumberedsec isequal
+@DOCSTRING(isequal)
+
+
+@node isequaln
+@unnumberedsec isequaln
+@DOCSTRING(isequaln)
+
+
+@node le
+@unnumberedsec le
+@DOCSTRING(le)
+
+
+@node lt
+@unnumberedsec lt
+@DOCSTRING(lt)
+
+
+@node ne
+@unnumberedsec ne
+@DOCSTRING(ne)
+
+
+@node and
+@unnumberedsec and
+@DOCSTRING(and)
+
+
+@node not
+@unnumberedsec not
+@DOCSTRING(not)
+
+
+@node or
+@unnumberedsec or
+@DOCSTRING(or)
+
+
+@node merge
+@unnumberedsec merge
+@DOCSTRING(merge)
+
+
+@node eval
+@unnumberedsec eval
+@DOCSTRING(eval)
+
+
+@node evalc
+@unnumberedsec evalc
+@DOCSTRING(evalc)
+
+
+@node feval
+@unnumberedsec feval
+@DOCSTRING(feval)
+
+
+@node run
+@unnumberedsec run
+@DOCSTRING(run)
+
+
+@node evalin
+@unnumberedsec evalin
+@DOCSTRING(evalin)
+
+
+@node assignin
+@unnumberedsec assignin
+@DOCSTRING(assignin)
+
+
+@node nargin
+@unnumberedsec nargin
+@DOCSTRING(nargin)
+
+
+@node inputname
+@unnumberedsec inputname
+@DOCSTRING(inputname)
+
+
+@node silent_functions
+@unnumberedsec silent_functions
+@DOCSTRING(silent_functions)
+
+
+@node nthargout
+@unnumberedsec nthargout
+@DOCSTRING(nthargout)
+
+
+@node nargout
+@unnumberedsec nargout
+@DOCSTRING(nargout)
+
+
+@node deal
+@unnumberedsec deal
+@DOCSTRING(deal)
+
+
+@node parseparams
+@unnumberedsec parseparams
+@DOCSTRING(parseparams)
+
+
+@node isargout
+@unnumberedsec isargout
+@DOCSTRING(isargout)
+
+
+@node narginchk
+@unnumberedsec narginchk
+@DOCSTRING(narginchk)
+
+
+@node nargoutchk
+@unnumberedsec nargoutchk
+@DOCSTRING(nargoutchk)
+
+
+@node validatestring
+@unnumberedsec validatestring
+@DOCSTRING(validatestring)
+
+
+@node validateattributes
+@unnumberedsec validateattributes
+@DOCSTRING(validateattributes)
+
+
+@node mustBeFinite
+@unnumberedsec mustBeFinite
+@DOCSTRING(mustBeFinite)
+
+
+@node mustBeGreaterThan
+@unnumberedsec mustBeGreaterThan
+@DOCSTRING(mustBeGreaterThan)
+
+
+@node mustBeGreaterThanOrEqual
+@unnumberedsec mustBeGreaterThanOrEqual
+@DOCSTRING(mustBeGreaterThanOrEqual)
+
+
+@node mustBeInteger
+@unnumberedsec mustBeInteger
+@DOCSTRING(mustBeInteger)
+
+
+@node mustBeLessThan
+@unnumberedsec mustBeLessThan
+@DOCSTRING(mustBeLessThan)
+
+
+@node mustBeLessThanOrEqual
+@unnumberedsec mustBeLessThanOrEqual
+@DOCSTRING(mustBeLessThanOrEqual)
+
+
+@node mustBeMember
+@unnumberedsec mustBeMember
+@DOCSTRING(mustBeMember)
+
+
+@node mustBeNegative
+@unnumberedsec mustBeNegative
+@DOCSTRING(mustBeNegative)
+
+
+@node mustBeNonempty
+@unnumberedsec mustBeNonempty
+@DOCSTRING(mustBeNonempty)
+
+
+@node mustBeNonNan
+@unnumberedsec mustBeNonNan
+@DOCSTRING(mustBeNonNan)
+
+
+@node mustBeNonnegative
+@unnumberedsec mustBeNonnegative
+@DOCSTRING(mustBeNonnegative)
+
+
+@node mustBeNonpositive
+@unnumberedsec mustBeNonpositive
+@DOCSTRING(mustBeNonpositive)
+
+
+@node mustBeNonsparse
+@unnumberedsec mustBeNonsparse
+@DOCSTRING(mustBeNonsparse)
+
+
+@node mustBeNonzero
+@unnumberedsec mustBeNonzero
+@DOCSTRING(mustBeNonzero)
+
+
+@node mustBeNumeric
+@unnumberedsec mustBeNumeric
+@DOCSTRING(mustBeNumeric)
+
+
+@node mustBeNumericOrLogical
+@unnumberedsec mustBeNumericOrLogical
+@DOCSTRING(mustBeNumericOrLogical)
+
+
+@node mustBePositive
+@unnumberedsec mustBePositive
+@DOCSTRING(mustBePositive)
+
+
+@node mustBeReal
+@unnumberedsec mustBeReal
+@DOCSTRING(mustBeReal)
+
+
+@node inputParser
+@unnumberedsec inputParser
+@DOCSTRING(inputParser)
+
+
+@node edit
+@unnumberedsec edit
+@DOCSTRING(edit)
+
+
+@node mfilename
+@unnumberedsec mfilename
+@DOCSTRING(mfilename)
+
+
+@node ignore_function_time_stamp
+@unnumberedsec ignore_function_time_stamp
+@DOCSTRING(ignore_function_time_stamp)
+
+
+@node addpath
+@unnumberedsec addpath
+@DOCSTRING(addpath)
+
+
+@node genpath
+@unnumberedsec genpath
+@DOCSTRING(genpath)
+
+
+@node rmpath
+@unnumberedsec rmpath
+@DOCSTRING(rmpath)
+
+
+@node savepath
+@unnumberedsec savepath
+@DOCSTRING(savepath)
+
+
+@node path
+@unnumberedsec path
+@DOCSTRING(path)
+
+
+@node pathdef
+@unnumberedsec pathdef
+@DOCSTRING(pathdef)
+
+
+@node pathsep
+@unnumberedsec pathsep
+@DOCSTRING(pathsep)
+
+
+@node rehash
+@unnumberedsec rehash
+@DOCSTRING(rehash)
+
+
+@node file_in_loadpath
+@unnumberedsec file_in_loadpath
+@DOCSTRING(file_in_loadpath)
+
+
+@node restoredefaultpath
+@unnumberedsec restoredefaultpath
+@DOCSTRING(restoredefaultpath)
+
+
+@node command_line_path
+@unnumberedsec command_line_path
+@DOCSTRING(command_line_path)
+
+
+@node dir_in_loadpath
+@unnumberedsec dir_in_loadpath
+@DOCSTRING(dir_in_loadpath)
+
+
+@node dir_encoding
+@unnumberedsec dir_encoding
+@DOCSTRING(dir_encoding)
+
+
+@node localfunctions
+@unnumberedsec localfunctions
+@DOCSTRING(localfunctions)
+
+
+@node builtin
+@unnumberedsec builtin
+@DOCSTRING(builtin)
+
+
+@node autoload
+@unnumberedsec autoload
+@DOCSTRING(autoload)
+
+
+@node mlock
+@unnumberedsec mlock
+@DOCSTRING(mlock)
+
+
+@node munlock
+@unnumberedsec munlock
+@DOCSTRING(munlock)
+
+
+@node mislocked
+@unnumberedsec mislocked
+@DOCSTRING(mislocked)
+
+
+@node source
+@unnumberedsec source
+@DOCSTRING(source)
+
+
+@node publish
+@unnumberedsec publish
+@DOCSTRING(publish)
+
+
+@node grabcode
+@unnumberedsec grabcode
+@DOCSTRING(grabcode)
+
+
+@node is_function_handle
+@unnumberedsec is_function_handle
+@DOCSTRING(is_function_handle)
+
+
+@node functions
+@unnumberedsec functions
+@DOCSTRING(functions)
+
+
+@node func2str
+@unnumberedsec func2str
+@DOCSTRING(func2str)
+
+
+@node str2func
+@unnumberedsec str2func
+@DOCSTRING(str2func)
+
+
+@node symvar
+@unnumberedsec symvar
+@DOCSTRING(symvar)
+
+
+@node error
+@unnumberedsec error
+@DOCSTRING(error)
+
+
+@node print_usage
+@unnumberedsec print_usage
+@DOCSTRING(print_usage)
+
+
+@node beep
+@unnumberedsec beep
+@DOCSTRING(beep)
+
+
+@node beep_on_error
+@unnumberedsec beep_on_error
+@DOCSTRING(beep_on_error)
+
+
+@node lasterror
+@unnumberedsec lasterror
+@DOCSTRING(lasterror)
+
+
+@node lasterr
+@unnumberedsec lasterr
+@DOCSTRING(lasterr)
+
+
+@node error_ids
+@unnumberedsec error_ids
+@DOCSTRING(error_ids)
+
+
+@node rethrow
+@unnumberedsec rethrow
+@DOCSTRING(rethrow)
+
+
+@node errno
+@unnumberedsec errno
+@DOCSTRING(errno)
+
+
+@node errno_list
+@unnumberedsec errno_list
+@DOCSTRING(errno_list)
+
+
+@node onCleanup
+@unnumberedsec onCleanup
+@DOCSTRING(onCleanup)
+
+
+@node warning
+@unnumberedsec warning
+@DOCSTRING(warning)
+
+
+@node lastwarn
+@unnumberedsec lastwarn
+@DOCSTRING(lastwarn)
+
+
+@node warning_ids
+@unnumberedsec warning_ids
+@DOCSTRING(warning_ids)
+
+
+@node debug_on_interrupt
+@unnumberedsec debug_on_interrupt
+@DOCSTRING(debug_on_interrupt)
+
+
+@node debug_on_warning
+@unnumberedsec debug_on_warning
+@DOCSTRING(debug_on_warning)
+
+
+@node debug_on_error
+@unnumberedsec debug_on_error
+@DOCSTRING(debug_on_error)
+
+
+@node dbcont
+@unnumberedsec dbcont
+@DOCSTRING(dbcont)
+
+
+@node dbquit
+@unnumberedsec dbquit
+@DOCSTRING(dbquit)
+
+
+@node dbstop
+@unnumberedsec dbstop
+@DOCSTRING(dbstop)
+
+
+@node dbstatus
+@unnumberedsec dbstatus
+@DOCSTRING(dbstatus)
+
+
+@node dbclear
+@unnumberedsec dbclear
+@DOCSTRING(dbclear)
+
+
+@node keyboard
+@unnumberedsec keyboard
+@DOCSTRING(keyboard)
+
+
+@node dbwhere
+@unnumberedsec dbwhere
+@DOCSTRING(dbwhere)
+
+
+@node dbtype
+@unnumberedsec dbtype
+@DOCSTRING(dbtype)
+
+
+@node dblist
+@unnumberedsec dblist
+@DOCSTRING(dblist)
+
+
+@node isdebugmode
+@unnumberedsec isdebugmode
+@DOCSTRING(isdebugmode)
+
+
+@node dbstep
+@unnumberedsec dbstep
+@DOCSTRING(dbstep)
+
+
+@node auto_repeat_debug_command
+@unnumberedsec auto_repeat_debug_command
+@DOCSTRING(auto_repeat_debug_command)
+
+
+@node dbstack
+@unnumberedsec dbstack
+@DOCSTRING(dbstack)
+
+
+@node dbup
+@unnumberedsec dbup
+@DOCSTRING(dbup)
+
+
+@node dbdown
+@unnumberedsec dbdown
+@DOCSTRING(dbdown)
+
+
+@node profile
+@unnumberedsec profile
+@DOCSTRING(profile)
+
+
+@node profshow
+@unnumberedsec profshow
+@DOCSTRING(profshow)
+
+
+@node profexport
+@unnumberedsec profexport
+@DOCSTRING(profexport)
+
+
+@node profexplore
+@unnumberedsec profexplore
+@DOCSTRING(profexplore)
+
+
+@node disp
+@unnumberedsec disp
+@DOCSTRING(disp)
+
+
+@node list_in_columns
+@unnumberedsec list_in_columns
+@DOCSTRING(list_in_columns)
+
+
+@node terminal_size
+@unnumberedsec terminal_size
+@DOCSTRING(terminal_size)
+
+
+@node format
+@unnumberedsec format
+@DOCSTRING(format)
+
+
+@node more
+@unnumberedsec more
+@DOCSTRING(more)
+
+
+@node PAGER
+@unnumberedsec PAGER
+@DOCSTRING(PAGER)
+
+
+@node PAGER_FLAGS
+@unnumberedsec PAGER_FLAGS
+@DOCSTRING(PAGER_FLAGS)
+
+
+@node page_screen_output
+@unnumberedsec page_screen_output
+@DOCSTRING(page_screen_output)
+
+
+@node page_output_immediately
+@unnumberedsec page_output_immediately
+@DOCSTRING(page_output_immediately)
+
+
+@node fflush
+@unnumberedsec fflush
+@DOCSTRING(fflush)
+
+
+@node input
+@unnumberedsec input
+@DOCSTRING(input)
+
+
+@node menu
+@unnumberedsec menu
+@DOCSTRING(menu)
+
+
+@node yes_or_no
+@unnumberedsec yes_or_no
+@DOCSTRING(yes_or_no)
+
+
+@node kbhit
+@unnumberedsec kbhit
+@DOCSTRING(kbhit)
+
+
+@node save
+@unnumberedsec save
+@DOCSTRING(save)
+
+
+@node save_default_options
+@unnumberedsec save_default_options
+@DOCSTRING(save_default_options)
+
+
+@node save_precision
+@unnumberedsec save_precision
+@DOCSTRING(save_precision)
+
+
+@node save_header_format_string
+@unnumberedsec save_header_format_string
+@DOCSTRING(save_header_format_string)
+
+
+@node load
+@unnumberedsec load
+@DOCSTRING(load)
+
+
+@node fileread
+@unnumberedsec fileread
+@DOCSTRING(fileread)
+
+
+@node native_float_format
+@unnumberedsec native_float_format
+@DOCSTRING(native_float_format)
+
+
+@node fdisp
+@unnumberedsec fdisp
+@DOCSTRING(fdisp)
+
+
+@node dlmwrite
+@unnumberedsec dlmwrite
+@DOCSTRING(dlmwrite)
+
+
+@node dlmread
+@unnumberedsec dlmread
+@DOCSTRING(dlmread)
+
+
+@node csvwrite
+@unnumberedsec csvwrite
+@DOCSTRING(csvwrite)
+
+
+@node csvread
+@unnumberedsec csvread
+@DOCSTRING(csvread)
+
+
+@node textread
+@unnumberedsec textread
+@DOCSTRING(textread)
+
+
+@node textscan
+@unnumberedsec textscan
+@DOCSTRING(textscan)
+
+
+@node importdata
+@unnumberedsec importdata
+@DOCSTRING(importdata)
+
+
+@node rescale
+@unnumberedsec rescale
+@DOCSTRING(rescale)
+
+
+@node crash_dumps_octave_core
+@unnumberedsec crash_dumps_octave_core
+@DOCSTRING(crash_dumps_octave_core)
+
+
+@node sighup_dumps_octave_core
+@unnumberedsec sighup_dumps_octave_core
+@DOCSTRING(sighup_dumps_octave_core)
+
+
+@node sigquit_dumps_octave_core
+@unnumberedsec sigquit_dumps_octave_core
+@DOCSTRING(sigquit_dumps_octave_core)
+
+
+@node sigterm_dumps_octave_core
+@unnumberedsec sigterm_dumps_octave_core
+@DOCSTRING(sigterm_dumps_octave_core)
+
+
+@node octave_core_file_options
+@unnumberedsec octave_core_file_options
+@DOCSTRING(octave_core_file_options)
+
+
+@node octave_core_file_limit
+@unnumberedsec octave_core_file_limit
+@DOCSTRING(octave_core_file_limit)
+
+
+@node octave_core_file_name
+@unnumberedsec octave_core_file_name
+@DOCSTRING(octave_core_file_name)
+
+
+@node stdin
+@unnumberedsec stdin
+@DOCSTRING(stdin)
+
+
+@node stdout
+@unnumberedsec stdout
+@DOCSTRING(stdout)
+
+
+@node stderr
+@unnumberedsec stderr
+@DOCSTRING(stderr)
+
+
+@node fopen
+@unnumberedsec fopen
+@DOCSTRING(fopen)
+
+
+@node fclose
+@unnumberedsec fclose
+@DOCSTRING(fclose)
+
+
+@node is_valid_file_id
+@unnumberedsec is_valid_file_id
+@DOCSTRING(is_valid_file_id)
+
+
+@node fputs
+@unnumberedsec fputs
+@DOCSTRING(fputs)
+
+
+@node puts
+@unnumberedsec puts
+@DOCSTRING(puts)
+
+
+@node fgetl
+@unnumberedsec fgetl
+@DOCSTRING(fgetl)
+
+
+@node fgets
+@unnumberedsec fgets
+@DOCSTRING(fgets)
+
+
+@node fskipl
+@unnumberedsec fskipl
+@DOCSTRING(fskipl)
+
+
+@node printf
+@unnumberedsec printf
+@DOCSTRING(printf)
+
+
+@node fprintf
+@unnumberedsec fprintf
+@DOCSTRING(fprintf)
+
+
+@node sprintf
+@unnumberedsec sprintf
+@DOCSTRING(sprintf)
+
+
+@node fscanf
+@unnumberedsec fscanf
+@DOCSTRING(fscanf)
+
+
+@node scanf
+@unnumberedsec scanf
+@DOCSTRING(scanf)
+
+
+@node sscanf
+@unnumberedsec sscanf
+@DOCSTRING(sscanf)
+
+
+@node fread
+@unnumberedsec fread
+@DOCSTRING(fread)
+
+
+@node fwrite
+@unnumberedsec fwrite
+@DOCSTRING(fwrite)
+
+
+@node mkstemp
+@unnumberedsec mkstemp
+@DOCSTRING(mkstemp)
+
+
+@node tmpfile
+@unnumberedsec tmpfile
+@DOCSTRING(tmpfile)
+
+
+@node tempname
+@unnumberedsec tempname
+@DOCSTRING(tempname)
+
+
+@node tempdir
+@unnumberedsec tempdir
+@DOCSTRING(tempdir)
+
+
+@node P_tmpdir
+@unnumberedsec P_tmpdir
+@DOCSTRING(P_tmpdir)
+
+
+@node feof
+@unnumberedsec feof
+@DOCSTRING(feof)
+
+
+@node ferror
+@unnumberedsec ferror
+@DOCSTRING(ferror)
+
+
+@node fclear
+@unnumberedsec fclear
+@DOCSTRING(fclear)
+
+
+@node freport
+@unnumberedsec freport
+@DOCSTRING(freport)
+
+
+@node ftell
+@unnumberedsec ftell
+@DOCSTRING(ftell)
+
+
+@node fseek
+@unnumberedsec fseek
+@DOCSTRING(fseek)
+
+
+@node SEEK_SET
+@unnumberedsec SEEK_SET
+@DOCSTRING(SEEK_SET)
+
+
+@node SEEK_CUR
+@unnumberedsec SEEK_CUR
+@DOCSTRING(SEEK_CUR)
+
+
+@node SEEK_END
+@unnumberedsec SEEK_END
+@DOCSTRING(SEEK_END)
+
+
+@node frewind
+@unnumberedsec frewind
+@DOCSTRING(frewind)
+
+
+@node plot
+@unnumberedsec plot
+@DOCSTRING(plot)
+
+
+@node plotyy
+@unnumberedsec plotyy
+@DOCSTRING(plotyy)
+
+
+@node semilogx
+@unnumberedsec semilogx
+@DOCSTRING(semilogx)
+
+
+@node semilogy
+@unnumberedsec semilogy
+@DOCSTRING(semilogy)
+
+
+@node loglog
+@unnumberedsec loglog
+@DOCSTRING(loglog)
+
+
+@node bar
+@unnumberedsec bar
+@DOCSTRING(bar)
+
+
+@node barh
+@unnumberedsec barh
+@DOCSTRING(barh)
+
+
+@node hist
+@unnumberedsec hist
+@DOCSTRING(hist)
+
+
+@node stemleaf
+@unnumberedsec stemleaf
+@DOCSTRING(stemleaf)
+
+
+@node printd
+@unnumberedsec printd
+@DOCSTRING(printd)
+
+
+@node stairs
+@unnumberedsec stairs
+@DOCSTRING(stairs)
+
+
+@node stem
+@unnumberedsec stem
+@DOCSTRING(stem)
+
+
+@node stem3
+@unnumberedsec stem3
+@DOCSTRING(stem3)
+
+
+@node scatter
+@unnumberedsec scatter
+@DOCSTRING(scatter)
+
+
+@node plotmatrix
+@unnumberedsec plotmatrix
+@DOCSTRING(plotmatrix)
+
+
+@node pareto
+@unnumberedsec pareto
+@DOCSTRING(pareto)
+
+
+@node rose
+@unnumberedsec rose
+@DOCSTRING(rose)
+
+
+@node contour
+@unnumberedsec contour
+@DOCSTRING(contour)
+
+
+@node contourf
+@unnumberedsec contourf
+@DOCSTRING(contourf)
+
+
+@node contourc
+@unnumberedsec contourc
+@DOCSTRING(contourc)
+
+
+@node contour3
+@unnumberedsec contour3
+@DOCSTRING(contour3)
+
+
+@node errorbar
+@unnumberedsec errorbar
+@DOCSTRING(errorbar)
+
+
+@node semilogxerr
+@unnumberedsec semilogxerr
+@DOCSTRING(semilogxerr)
+
+
+@node semilogyerr
+@unnumberedsec semilogyerr
+@DOCSTRING(semilogyerr)
+
+
+@node loglogerr
+@unnumberedsec loglogerr
+@DOCSTRING(loglogerr)
+
+
+@node polar
+@unnumberedsec polar
+@DOCSTRING(polar)
+
+
+@node pie
+@unnumberedsec pie
+@DOCSTRING(pie)
+
+
+@node pie3
+@unnumberedsec pie3
+@DOCSTRING(pie3)
+
+
+@node quiver
+@unnumberedsec quiver
+@DOCSTRING(quiver)
+
+
+@node quiver3
+@unnumberedsec quiver3
+@DOCSTRING(quiver3)
+
+
+@node streamribbon
+@unnumberedsec streamribbon
+@DOCSTRING(streamribbon)
+
+
+@node streamtube
+@unnumberedsec streamtube
+@DOCSTRING(streamtube)
+
+
+@node ostreamtube
+@unnumberedsec ostreamtube
+@DOCSTRING(ostreamtube)
+
+
+@node streamline
+@unnumberedsec streamline
+@DOCSTRING(streamline)
+
+
+@node stream2
+@unnumberedsec stream2
+@DOCSTRING(stream2)
+
+
+@node stream3
+@unnumberedsec stream3
+@DOCSTRING(stream3)
+
+
+@node compass
+@unnumberedsec compass
+@DOCSTRING(compass)
+
+
+@node feather
+@unnumberedsec feather
+@DOCSTRING(feather)
+
+
+@node pcolor
+@unnumberedsec pcolor
+@DOCSTRING(pcolor)
+
+
+@node area
+@unnumberedsec area
+@DOCSTRING(area)
+
+
+@node fill
+@unnumberedsec fill
+@DOCSTRING(fill)
+
+
+@node fill3
+@unnumberedsec fill3
+@DOCSTRING(fill3)
+
+
+@node comet
+@unnumberedsec comet
+@DOCSTRING(comet)
+
+
+@node comet3
+@unnumberedsec comet3
+@DOCSTRING(comet3)
+
+
+@node axis
+@unnumberedsec axis
+@DOCSTRING(axis)
+
+
+@node caxis
+@unnumberedsec caxis
+@DOCSTRING(caxis)
+
+
+@node xlim
+@unnumberedsec xlim
+@DOCSTRING(xlim)
+
+
+@node xticks
+@unnumberedsec xticks
+@DOCSTRING(xticks)
+
+
+@node xticklabels
+@unnumberedsec xticklabels
+@DOCSTRING(xticklabels)
+
+
+@node xtickangle
+@unnumberedsec xtickangle
+@DOCSTRING(xtickangle)
+
+
+@node fplot
+@unnumberedsec fplot
+@DOCSTRING(fplot)
+
+
+@node ezplot
+@unnumberedsec ezplot
+@DOCSTRING(ezplot)
+
+
+@node ezcontour
+@unnumberedsec ezcontour
+@DOCSTRING(ezcontour)
+
+
+@node ezcontourf
+@unnumberedsec ezcontourf
+@DOCSTRING(ezcontourf)
+
+
+@node ezpolar
+@unnumberedsec ezpolar
+@DOCSTRING(ezpolar)
+
+
+@node rectangle
+@unnumberedsec rectangle
+@DOCSTRING(rectangle)
+
+
+@node mesh
+@unnumberedsec mesh
+@DOCSTRING(mesh)
+
+
+@node meshc
+@unnumberedsec meshc
+@DOCSTRING(meshc)
+
+
+@node meshz
+@unnumberedsec meshz
+@DOCSTRING(meshz)
+
+
+@node hidden
+@unnumberedsec hidden
+@DOCSTRING(hidden)
+
+
+@node surf
+@unnumberedsec surf
+@DOCSTRING(surf)
+
+
+@node surfc
+@unnumberedsec surfc
+@DOCSTRING(surfc)
+
+
+@node surfl
+@unnumberedsec surfl
+@DOCSTRING(surfl)
+
+
+@node surfnorm
+@unnumberedsec surfnorm
+@DOCSTRING(surfnorm)
+
+
+@node isosurface
+@unnumberedsec isosurface
+@DOCSTRING(isosurface)
+
+
+@node isonormals
+@unnumberedsec isonormals
+@DOCSTRING(isonormals)
+
+
+@node isocaps
+@unnumberedsec isocaps
+@DOCSTRING(isocaps)
+
+
+@node isocolors
+@unnumberedsec isocolors
+@DOCSTRING(isocolors)
+
+
+@node smooth3
+@unnumberedsec smooth3
+@DOCSTRING(smooth3)
+
+
+@node reducevolume
+@unnumberedsec reducevolume
+@DOCSTRING(reducevolume)
+
+
+@node reducepatch
+@unnumberedsec reducepatch
+@DOCSTRING(reducepatch)
+
+
+@node shrinkfaces
+@unnumberedsec shrinkfaces
+@DOCSTRING(shrinkfaces)
+
+
+@node diffuse
+@unnumberedsec diffuse
+@DOCSTRING(diffuse)
+
+
+@node specular
+@unnumberedsec specular
+@DOCSTRING(specular)
+
+
+@node lighting
+@unnumberedsec lighting
+@DOCSTRING(lighting)
+
+
+@node material
+@unnumberedsec material
+@DOCSTRING(material)
+
+
+@node camlight
+@unnumberedsec camlight
+@DOCSTRING(camlight)
+
+
+@node lightangle
+@unnumberedsec lightangle
+@DOCSTRING(lightangle)
+
+
+@node meshgrid
+@unnumberedsec meshgrid
+@DOCSTRING(meshgrid)
+
+
+@node ndgrid
+@unnumberedsec ndgrid
+@DOCSTRING(ndgrid)
+
+
+@node plot3
+@unnumberedsec plot3
+@DOCSTRING(plot3)
+
+
+@node view
+@unnumberedsec view
+@DOCSTRING(view)
+
+
+@node camlookat
+@unnumberedsec camlookat
+@DOCSTRING(camlookat)
+
+
+@node campos
+@unnumberedsec campos
+@DOCSTRING(campos)
+
+
+@node camorbit
+@unnumberedsec camorbit
+@DOCSTRING(camorbit)
+
+
+@node camroll
+@unnumberedsec camroll
+@DOCSTRING(camroll)
+
+
+@node camtarget
+@unnumberedsec camtarget
+@DOCSTRING(camtarget)
+
+
+@node camup
+@unnumberedsec camup
+@DOCSTRING(camup)
+
+
+@node camva
+@unnumberedsec camva
+@DOCSTRING(camva)
+
+
+@node camzoom
+@unnumberedsec camzoom
+@DOCSTRING(camzoom)
+
+
+@node slice
+@unnumberedsec slice
+@DOCSTRING(slice)
+
+
+@node ribbon
+@unnumberedsec ribbon
+@DOCSTRING(ribbon)
+
+
+@node shading
+@unnumberedsec shading
+@DOCSTRING(shading)
+
+
+@node scatter3
+@unnumberedsec scatter3
+@DOCSTRING(scatter3)
+
+
+@node waterfall
+@unnumberedsec waterfall
+@DOCSTRING(waterfall)
+
+
+@node daspect
+@unnumberedsec daspect
+@DOCSTRING(daspect)
+
+
+@node pbaspect
+@unnumberedsec pbaspect
+@DOCSTRING(pbaspect)
+
+
+@node ezplot3
+@unnumberedsec ezplot3
+@DOCSTRING(ezplot3)
+
+
+@node ezmesh
+@unnumberedsec ezmesh
+@DOCSTRING(ezmesh)
+
+
+@node ezmeshc
+@unnumberedsec ezmeshc
+@DOCSTRING(ezmeshc)
+
+
+@node ezsurf
+@unnumberedsec ezsurf
+@DOCSTRING(ezsurf)
+
+
+@node ezsurfc
+@unnumberedsec ezsurfc
+@DOCSTRING(ezsurfc)
+
+
+@node cylinder
+@unnumberedsec cylinder
+@DOCSTRING(cylinder)
+
+
+@node sphere
+@unnumberedsec sphere
+@DOCSTRING(sphere)
+
+
+@node ellipsoid
+@unnumberedsec ellipsoid
+@DOCSTRING(ellipsoid)
+
+
+@node title
+@unnumberedsec title
+@DOCSTRING(title)
+
+
+@node legend
+@unnumberedsec legend
+@DOCSTRING(legend)
+
+
+@node text
+@unnumberedsec text
+@DOCSTRING(text)
+
+
+@node xlabel
+@unnumberedsec xlabel
+@DOCSTRING(xlabel)
+
+
+@node clabel
+@unnumberedsec clabel
+@DOCSTRING(clabel)
+
+
+@node box
+@unnumberedsec box
+@DOCSTRING(box)
+
+
+@node grid
+@unnumberedsec grid
+@DOCSTRING(grid)
+
+
+@node colorbar
+@unnumberedsec colorbar
+@DOCSTRING(colorbar)
+
+
+@node annotation
+@unnumberedsec annotation
+@DOCSTRING(annotation)
+
+
+@node subplot
+@unnumberedsec subplot
+@DOCSTRING(subplot)
+
+
+@node figure
+@unnumberedsec figure
+@DOCSTRING(figure)
+
+
+@node pan
+@unnumberedsec pan
+@DOCSTRING(pan)
+
+
+@node rotate
+@unnumberedsec rotate
+@DOCSTRING(rotate)
+
+
+@node rotate3d
+@unnumberedsec rotate3d
+@DOCSTRING(rotate3d)
+
+
+@node zoom
+@unnumberedsec zoom
+@DOCSTRING(zoom)
+
+
+@node drawnow
+@unnumberedsec drawnow
+@DOCSTRING(drawnow)
+
+
+@node refresh
+@unnumberedsec refresh
+@DOCSTRING(refresh)
+
+
+@node newplot
+@unnumberedsec newplot
+@DOCSTRING(newplot)
+
+
+@node hold
+@unnumberedsec hold
+@DOCSTRING(hold)
+
+
+@node ishold
+@unnumberedsec ishold
+@DOCSTRING(ishold)
+
+
+@node clf
+@unnumberedsec clf
+@DOCSTRING(clf)
+
+
+@node cla
+@unnumberedsec cla
+@DOCSTRING(cla)
+
+
+@node shg
+@unnumberedsec shg
+@DOCSTRING(shg)
+
+
+@node delete
+@unnumberedsec delete
+@DOCSTRING(delete)
+
+
+@node close
+@unnumberedsec close
+@DOCSTRING(close)
+
+
+@node closereq
+@unnumberedsec closereq
+@DOCSTRING(closereq)
+
+
+@node print
+@unnumberedsec print
+@DOCSTRING(print)
+
+
+@node saveas
+@unnumberedsec saveas
+@DOCSTRING(saveas)
+
+
+@node orient
+@unnumberedsec orient
+@DOCSTRING(orient)
+
+
+@node hgsave
+@unnumberedsec hgsave
+@DOCSTRING(hgsave)
+
+
+@node hgload
+@unnumberedsec hgload
+@DOCSTRING(hgload)
+
+
+@node openfig
+@unnumberedsec openfig
+@DOCSTRING(openfig)
+
+
+@node savefig
+@unnumberedsec savefig
+@DOCSTRING(savefig)
+
+
+@node ginput
+@unnumberedsec ginput
+@DOCSTRING(ginput)
+
+
+@node waitforbuttonpress
+@unnumberedsec waitforbuttonpress
+@DOCSTRING(waitforbuttonpress)
+
+
+@node gtext
+@unnumberedsec gtext
+@DOCSTRING(gtext)
+
+
+@node sombrero
+@unnumberedsec sombrero
+@DOCSTRING(sombrero)
+
+
+@node peaks
+@unnumberedsec peaks
+@DOCSTRING(peaks)
+
+
+@node isprop
+@unnumberedsec isprop
+@DOCSTRING(isprop)
+
+
+@node axes
+@unnumberedsec axes
+@DOCSTRING(axes)
+
+
+@node line
+@unnumberedsec line
+@DOCSTRING(line)
+
+
+@node patch
+@unnumberedsec patch
+@DOCSTRING(patch)
+
+
+@node surface
+@unnumberedsec surface
+@DOCSTRING(surface)
+
+
+@node light
+@unnumberedsec light
+@DOCSTRING(light)
+
+
+@node ishghandle
+@unnumberedsec ishghandle
+@DOCSTRING(ishghandle)
+
+
+@node isgraphics
+@unnumberedsec isgraphics
+@DOCSTRING(isgraphics)
+
+
+@node ishandle
+@unnumberedsec ishandle
+@DOCSTRING(ishandle)
+
+
+@node isaxes
+@unnumberedsec isaxes
+@DOCSTRING(isaxes)
+
+
+@node isfigure
+@unnumberedsec isfigure
+@DOCSTRING(isfigure)
+
+
+@node groot
+@unnumberedsec groot
+@DOCSTRING(groot)
+
+
+@node gcf
+@unnumberedsec gcf
+@DOCSTRING(gcf)
+
+
+@node gca
+@unnumberedsec gca
+@DOCSTRING(gca)
+
+
+@node gco
+@unnumberedsec gco
+@DOCSTRING(gco)
+
+
+@node get
+@unnumberedsec get
+@DOCSTRING(get)
+
+
+@node set
+@unnumberedsec set
+@DOCSTRING(set)
+
+
+@node ancestor
+@unnumberedsec ancestor
+@DOCSTRING(ancestor)
+
+
+@node allchild
+@unnumberedsec allchild
+@DOCSTRING(allchild)
+
+
+@node findfigs
+@unnumberedsec findfigs
+@DOCSTRING(findfigs)
+
+
+@node hdl2struct
+@unnumberedsec hdl2struct
+@DOCSTRING(hdl2struct)
+
+
+@node struct2hdl
+@unnumberedsec struct2hdl
+@DOCSTRING(struct2hdl)
+
+
+@node copyobj
+@unnumberedsec copyobj
+@DOCSTRING(copyobj)
+
+
+@node findobj
+@unnumberedsec findobj
+@DOCSTRING(findobj)
+
+
+@node findall
+@unnumberedsec findall
+@DOCSTRING(findall)
+
+
+@node reset
+@unnumberedsec reset
+@DOCSTRING(reset)
+
+
+@node colstyle
+@unnumberedsec colstyle
+@DOCSTRING(colstyle)
+
+
+@node gcbo
+@unnumberedsec gcbo
+@DOCSTRING(gcbo)
+
+
+@node gcbf
+@unnumberedsec gcbf
+@DOCSTRING(gcbf)
+
+
+@node setappdata
+@unnumberedsec setappdata
+@DOCSTRING(setappdata)
+
+
+@node getappdata
+@unnumberedsec getappdata
+@DOCSTRING(getappdata)
+
+
+@node rmappdata
+@unnumberedsec rmappdata
+@DOCSTRING(rmappdata)
+
+
+@node isappdata
+@unnumberedsec isappdata
+@DOCSTRING(isappdata)
+
+
+@node hggroup
+@unnumberedsec hggroup
+@DOCSTRING(hggroup)
+
+
+@node addproperty
+@unnumberedsec addproperty
+@DOCSTRING(addproperty)
+
+
+@node addlistener
+@unnumberedsec addlistener
+@DOCSTRING(addlistener)
+
+
+@node dellistener
+@unnumberedsec dellistener
+@DOCSTRING(dellistener)
+
+
+@node linkprop
+@unnumberedsec linkprop
+@DOCSTRING(linkprop)
+
+
+@node linkaxes
+@unnumberedsec linkaxes
+@DOCSTRING(linkaxes)
+
+
+@node refreshdata
+@unnumberedsec refreshdata
+@DOCSTRING(refreshdata)
+
+
+@node hgtransform
+@unnumberedsec hgtransform
+@DOCSTRING(hgtransform)
+
+
+@node graphics_toolkit
+@unnumberedsec graphics_toolkit
+@DOCSTRING(graphics_toolkit)
+
+
+@node available_graphics_toolkits
+@unnumberedsec available_graphics_toolkits
+@DOCSTRING(available_graphics_toolkits)
+
+
+@node loaded_graphics_toolkits
+@unnumberedsec loaded_graphics_toolkits
+@DOCSTRING(loaded_graphics_toolkits)
+
+
+@node register_graphics_toolkit
+@unnumberedsec register_graphics_toolkit
+@DOCSTRING(register_graphics_toolkit)
+
+
+@node gnuplot_binary
+@unnumberedsec gnuplot_binary
+@DOCSTRING(gnuplot_binary)
+
+
+@node any
+@unnumberedsec any
+@DOCSTRING(any)
+
+
+@node all
+@unnumberedsec all
+@DOCSTRING(all)
+
+
+@node xor
+@unnumberedsec xor
+@DOCSTRING(xor)
+
+
+@node diff
+@unnumberedsec diff
+@DOCSTRING(diff)
+
+
+@node isinf
+@unnumberedsec isinf
+@DOCSTRING(isinf)
+
+
+@node isnan
+@unnumberedsec isnan
+@DOCSTRING(isnan)
+
+
+@node isfinite
+@unnumberedsec isfinite
+@DOCSTRING(isfinite)
+
+
+@node common_size
+@unnumberedsec common_size
+@DOCSTRING(common_size)
+
+
+@node find
+@unnumberedsec find
+@DOCSTRING(find)
+
+
+@node lookup
+@unnumberedsec lookup
+@DOCSTRING(lookup)
+
+
+@node fliplr
+@unnumberedsec fliplr
+@DOCSTRING(fliplr)
+
+
+@node flipud
+@unnumberedsec flipud
+@DOCSTRING(flipud)
+
+
+@node flip
+@unnumberedsec flip
+@DOCSTRING(flip)
+
+
+@node rot90
+@unnumberedsec rot90
+@DOCSTRING(rot90)
+
+
+@node rotdim
+@unnumberedsec rotdim
+@DOCSTRING(rotdim)
+
+
+@node cat
+@unnumberedsec cat
+@DOCSTRING(cat)
+
+
+@node horzcat
+@unnumberedsec horzcat
+@DOCSTRING(horzcat)
+
+
+@node vertcat
+@unnumberedsec vertcat
+@DOCSTRING(vertcat)
+
+
+@node permute
+@unnumberedsec permute
+@DOCSTRING(permute)
+
+
+@node ipermute
+@unnumberedsec ipermute
+@DOCSTRING(ipermute)
+
+
+@node reshape
+@unnumberedsec reshape
+@DOCSTRING(reshape)
+
+
+@node resize
+@unnumberedsec resize
+@DOCSTRING(resize)
+
+
+@node circshift
+@unnumberedsec circshift
+@DOCSTRING(circshift)
+
+
+@node shift
+@unnumberedsec shift
+@DOCSTRING(shift)
+
+
+@node shiftdim
+@unnumberedsec shiftdim
+@DOCSTRING(shiftdim)
+
+
+@node sort
+@unnumberedsec sort
+@DOCSTRING(sort)
+
+
+@node sortrows
+@unnumberedsec sortrows
+@DOCSTRING(sortrows)
+
+
+@node issorted
+@unnumberedsec issorted
+@DOCSTRING(issorted)
+
+
+@node nth_element
+@unnumberedsec nth_element
+@DOCSTRING(nth_element)
+
+
+@node tril
+@unnumberedsec tril
+@DOCSTRING(tril)
+
+
+@node triu
+@unnumberedsec triu
+@DOCSTRING(triu)
+
+
+@node vec
+@unnumberedsec vec
+@DOCSTRING(vec)
+
+
+@node vech
+@unnumberedsec vech
+@DOCSTRING(vech)
+
+
+@node prepad
+@unnumberedsec prepad
+@DOCSTRING(prepad)
+
+
+@node postpad
+@unnumberedsec postpad
+@DOCSTRING(postpad)
+
+
+@node diag
+@unnumberedsec diag
+@DOCSTRING(diag)
+
+
+@node blkdiag
+@unnumberedsec blkdiag
+@DOCSTRING(blkdiag)
+
+
+@node eye
+@unnumberedsec eye
+@DOCSTRING(eye)
+
+
+@node ones
+@unnumberedsec ones
+@DOCSTRING(ones)
+
+
+@node zeros
+@unnumberedsec zeros
+@DOCSTRING(zeros)
+
+
+@node repmat
+@unnumberedsec repmat
+@DOCSTRING(repmat)
+
+
+@node repelems
+@unnumberedsec repelems
+@DOCSTRING(repelems)
+
+
+@node repelem
+@unnumberedsec repelem
+@DOCSTRING(repelem)
+
+
+@node linspace
+@unnumberedsec linspace
+@DOCSTRING(linspace)
+
+
+@node logspace
+@unnumberedsec logspace
+@DOCSTRING(logspace)
+
+
+@node rand
+@unnumberedsec rand
+@DOCSTRING(rand)
+
+
+@node randi
+@unnumberedsec randi
+@DOCSTRING(randi)
+
+
+@node randn
+@unnumberedsec randn
+@DOCSTRING(randn)
+
+
+@node rande
+@unnumberedsec rande
+@DOCSTRING(rande)
+
+
+@node randp
+@unnumberedsec randp
+@DOCSTRING(randp)
+
+
+@node randg
+@unnumberedsec randg
+@DOCSTRING(randg)
+
+
+@node rng
+@unnumberedsec rng
+@DOCSTRING(rng)
+
+
+@node randperm
+@unnumberedsec randperm
+@DOCSTRING(randperm)
+
+
+@node gallery
+@unnumberedsec gallery
+@DOCSTRING(gallery)
+
+
+@node hadamard
+@unnumberedsec hadamard
+@DOCSTRING(hadamard)
+
+
+@node hankel
+@unnumberedsec hankel
+@DOCSTRING(hankel)
+
+
+@node hilb
+@unnumberedsec hilb
+@DOCSTRING(hilb)
+
+
+@node invhilb
+@unnumberedsec invhilb
+@DOCSTRING(invhilb)
+
+
+@node magic
+@unnumberedsec magic
+@DOCSTRING(magic)
+
+
+@node pascal
+@unnumberedsec pascal
+@DOCSTRING(pascal)
+
+
+@node rosser
+@unnumberedsec rosser
+@DOCSTRING(rosser)
+
+
+@node toeplitz
+@unnumberedsec toeplitz
+@DOCSTRING(toeplitz)
+
+
+@node vander
+@unnumberedsec vander
+@DOCSTRING(vander)
+
+
+@node wilkinson
+@unnumberedsec wilkinson
+@DOCSTRING(wilkinson)
+
+
+@node exp
+@unnumberedsec exp
+@DOCSTRING(exp)
+
+
+@node expm1
+@unnumberedsec expm1
+@DOCSTRING(expm1)
+
+
+@node log
+@unnumberedsec log
+@DOCSTRING(log)
+
+
+@node reallog
+@unnumberedsec reallog
+@DOCSTRING(reallog)
+
+
+@node log1p
+@unnumberedsec log1p
+@DOCSTRING(log1p)
+
+
+@node log10
+@unnumberedsec log10
+@DOCSTRING(log10)
+
+
+@node log2
+@unnumberedsec log2
+@DOCSTRING(log2)
+
+
+@node pow2
+@unnumberedsec pow2
+@DOCSTRING(pow2)
+
+
+@node nextpow2
+@unnumberedsec nextpow2
+@DOCSTRING(nextpow2)
+
+
+@node realpow
+@unnumberedsec realpow
+@DOCSTRING(realpow)
+
+
+@node sqrt
+@unnumberedsec sqrt
+@DOCSTRING(sqrt)
+
+
+@node realsqrt
+@unnumberedsec realsqrt
+@DOCSTRING(realsqrt)
+
+
+@node cbrt
+@unnumberedsec cbrt
+@DOCSTRING(cbrt)
+
+
+@node nthroot
+@unnumberedsec nthroot
+@DOCSTRING(nthroot)
+
+
+@node abs
+@unnumberedsec abs
+@DOCSTRING(abs)
+
+
+@node arg
+@unnumberedsec arg
+@DOCSTRING(arg)
+
+
+@node conj
+@unnumberedsec conj
+@DOCSTRING(conj)
+
+
+@node cplxpair
+@unnumberedsec cplxpair
+@DOCSTRING(cplxpair)
+
+
+@node imag
+@unnumberedsec imag
+@DOCSTRING(imag)
+
+
+@node real
+@unnumberedsec real
+@DOCSTRING(real)
+
+
+@node deg2rad
+@unnumberedsec deg2rad
+@DOCSTRING(deg2rad)
+
+
+@node rad2deg
+@unnumberedsec rad2deg
+@DOCSTRING(rad2deg)
+
+
+@node sin
+@unnumberedsec sin
+@DOCSTRING(sin)
+
+
+@node cos
+@unnumberedsec cos
+@DOCSTRING(cos)
+
+
+@node tan
+@unnumberedsec tan
+@DOCSTRING(tan)
+
+
+@node sec
+@unnumberedsec sec
+@DOCSTRING(sec)
+
+
+@node csc
+@unnumberedsec csc
+@DOCSTRING(csc)
+
+
+@node cot
+@unnumberedsec cot
+@DOCSTRING(cot)
+
+
+@node asin
+@unnumberedsec asin
+@DOCSTRING(asin)
+
+
+@node acos
+@unnumberedsec acos
+@DOCSTRING(acos)
+
+
+@node atan
+@unnumberedsec atan
+@DOCSTRING(atan)
+
+
+@node asec
+@unnumberedsec asec
+@DOCSTRING(asec)
+
+
+@node acsc
+@unnumberedsec acsc
+@DOCSTRING(acsc)
+
+
+@node acot
+@unnumberedsec acot
+@DOCSTRING(acot)
+
+
+@node sinh
+@unnumberedsec sinh
+@DOCSTRING(sinh)
+
+
+@node cosh
+@unnumberedsec cosh
+@DOCSTRING(cosh)
+
+
+@node tanh
+@unnumberedsec tanh
+@DOCSTRING(tanh)
+
+
+@node sech
+@unnumberedsec sech
+@DOCSTRING(sech)
+
+
+@node csch
+@unnumberedsec csch
+@DOCSTRING(csch)
+
+
+@node coth
+@unnumberedsec coth
+@DOCSTRING(coth)
+
+
+@node asinh
+@unnumberedsec asinh
+@DOCSTRING(asinh)
+
+
+@node acosh
+@unnumberedsec acosh
+@DOCSTRING(acosh)
+
+
+@node atanh
+@unnumberedsec atanh
+@DOCSTRING(atanh)
+
+
+@node asech
+@unnumberedsec asech
+@DOCSTRING(asech)
+
+
+@node acsch
+@unnumberedsec acsch
+@DOCSTRING(acsch)
+
+
+@node acoth
+@unnumberedsec acoth
+@DOCSTRING(acoth)
+
+
+@node atan2
+@unnumberedsec atan2
+@DOCSTRING(atan2)
+
+
+@node sind
+@unnumberedsec sind
+@DOCSTRING(sind)
+
+
+@node cosd
+@unnumberedsec cosd
+@DOCSTRING(cosd)
+
+
+@node tand
+@unnumberedsec tand
+@DOCSTRING(tand)
+
+
+@node secd
+@unnumberedsec secd
+@DOCSTRING(secd)
+
+
+@node cscd
+@unnumberedsec cscd
+@DOCSTRING(cscd)
+
+
+@node cotd
+@unnumberedsec cotd
+@DOCSTRING(cotd)
+
+
+@node asind
+@unnumberedsec asind
+@DOCSTRING(asind)
+
+
+@node acosd
+@unnumberedsec acosd
+@DOCSTRING(acosd)
+
+
+@node atand
+@unnumberedsec atand
+@DOCSTRING(atand)
+
+
+@node atan2d
+@unnumberedsec atan2d
+@DOCSTRING(atan2d)
+
+
+@node asecd
+@unnumberedsec asecd
+@DOCSTRING(asecd)
+
+
+@node acscd
+@unnumberedsec acscd
+@DOCSTRING(acscd)
+
+
+@node acotd
+@unnumberedsec acotd
+@DOCSTRING(acotd)
+
+
+@node sinpi
+@unnumberedsec sinpi
+@DOCSTRING(sinpi)
+
+
+@node cospi
+@unnumberedsec cospi
+@DOCSTRING(cospi)
+
+
+@node sum
+@unnumberedsec sum
+@DOCSTRING(sum)
+
+
+@node prod
+@unnumberedsec prod
+@DOCSTRING(prod)
+
+
+@node cumsum
+@unnumberedsec cumsum
+@DOCSTRING(cumsum)
+
+
+@node cumprod
+@unnumberedsec cumprod
+@DOCSTRING(cumprod)
+
+
+@node sumsq
+@unnumberedsec sumsq
+@DOCSTRING(sumsq)
+
+
+@node ceil
+@unnumberedsec ceil
+@DOCSTRING(ceil)
+
+
+@node fix
+@unnumberedsec fix
+@DOCSTRING(fix)
+
+
+@node floor
+@unnumberedsec floor
+@DOCSTRING(floor)
+
+
+@node round
+@unnumberedsec round
+@DOCSTRING(round)
+
+
+@node roundb
+@unnumberedsec roundb
+@DOCSTRING(roundb)
+
+
+@node max
+@unnumberedsec max
+@DOCSTRING(max)
+
+
+@node min
+@unnumberedsec min
+@DOCSTRING(min)
+
+
+@node cummax
+@unnumberedsec cummax
+@DOCSTRING(cummax)
+
+
+@node cummin
+@unnumberedsec cummin
+@DOCSTRING(cummin)
+
+
+@node hypot
+@unnumberedsec hypot
+@DOCSTRING(hypot)
+
+
+@node gradient
+@unnumberedsec gradient
+@DOCSTRING(gradient)
+
+
+@node dot
+@unnumberedsec dot
+@DOCSTRING(dot)
+
+
+@node cross
+@unnumberedsec cross
+@DOCSTRING(cross)
+
+
+@node divergence
+@unnumberedsec divergence
+@DOCSTRING(divergence)
+
+
+@node curl
+@unnumberedsec curl
+@DOCSTRING(curl)
+
+
+@node del2
+@unnumberedsec del2
+@DOCSTRING(del2)
+
+
+@node factorial
+@unnumberedsec factorial
+@DOCSTRING(factorial)
+
+
+@node factor
+@unnumberedsec factor
+@DOCSTRING(factor)
+
+
+@node gcd
+@unnumberedsec gcd
+@DOCSTRING(gcd)
+
+
+@node lcm
+@unnumberedsec lcm
+@DOCSTRING(lcm)
+
+
+@node rem
+@unnumberedsec rem
+@DOCSTRING(rem)
+
+
+@node mod
+@unnumberedsec mod
+@DOCSTRING(mod)
+
+
+@node primes
+@unnumberedsec primes
+@DOCSTRING(primes)
+
+
+@node list_primes
+@unnumberedsec list_primes
+@DOCSTRING(list_primes)
+
+
+@node sign
+@unnumberedsec sign
+@DOCSTRING(sign)
+
+
+@node signbit
+@unnumberedsec signbit
+@DOCSTRING(signbit)
+
+
+@node airy
+@unnumberedsec airy
+@DOCSTRING(airy)
+
+
+@node besselj
+@unnumberedsec besselj
+@DOCSTRING(besselj)
+
+
+@node bessely
+@unnumberedsec bessely
+@DOCSTRING(bessely)
+
+
+@node besseli
+@unnumberedsec besseli
+@DOCSTRING(besseli)
+
+
+@node besselk
+@unnumberedsec besselk
+@DOCSTRING(besselk)
+
+
+@node besselh
+@unnumberedsec besselh
+@DOCSTRING(besselh)
+
+
+@node beta
+@unnumberedsec beta
+@DOCSTRING(beta)
+
+
+@node betainc
+@unnumberedsec betainc
+@DOCSTRING(betainc)
+
+
+@node betaincinv
+@unnumberedsec betaincinv
+@DOCSTRING(betaincinv)
+
+
+@node betaln
+@unnumberedsec betaln
+@DOCSTRING(betaln)
+
+
+@node bincoeff
+@unnumberedsec bincoeff
+@DOCSTRING(bincoeff)
+
+
+@node commutation_matrix
+@unnumberedsec commutation_matrix
+@DOCSTRING(commutation_matrix)
+
+
+@node cosint
+@unnumberedsec cosint
+@DOCSTRING(cosint)
+
+
+@node duplication_matrix
+@unnumberedsec duplication_matrix
+@DOCSTRING(duplication_matrix)
+
+
+@node dawson
+@unnumberedsec dawson
+@DOCSTRING(dawson)
+
+
+@node ellipj
+@unnumberedsec ellipj
+@DOCSTRING(ellipj)
+
+
+@node ellipke
+@unnumberedsec ellipke
+@DOCSTRING(ellipke)
+
+
+@node erf
+@unnumberedsec erf
+@DOCSTRING(erf)
+
+
+@node erfc
+@unnumberedsec erfc
+@DOCSTRING(erfc)
+
+
+@node erfcx
+@unnumberedsec erfcx
+@DOCSTRING(erfcx)
+
+
+@node erfi
+@unnumberedsec erfi
+@DOCSTRING(erfi)
+
+
+@node erfinv
+@unnumberedsec erfinv
+@DOCSTRING(erfinv)
+
+
+@node erfcinv
+@unnumberedsec erfcinv
+@DOCSTRING(erfcinv)
+
+
+@node expint
+@unnumberedsec expint
+@DOCSTRING(expint)
+
+
+@node gamma
+@unnumberedsec gamma
+@DOCSTRING(gamma)
+
+
+@node gammainc
+@unnumberedsec gammainc
+@DOCSTRING(gammainc)
+
+
+@node gammaincinv
+@unnumberedsec gammaincinv
+@DOCSTRING(gammaincinv)
+
+
+@node legendre
+@unnumberedsec legendre
+@DOCSTRING(legendre)
+
+
+@node lgamma
+@unnumberedsec lgamma
+@DOCSTRING(lgamma)
+
+
+@node psi
+@unnumberedsec psi
+@DOCSTRING(psi)
+
+
+@node sinint
+@unnumberedsec sinint
+@DOCSTRING(sinint)
+
+
+@node rat
+@unnumberedsec rat
+@DOCSTRING(rat)
+
+
+@node rats
+@unnumberedsec rats
+@DOCSTRING(rats)
+
+
+@node cart2pol
+@unnumberedsec cart2pol
+@DOCSTRING(cart2pol)
+
+
+@node pol2cart
+@unnumberedsec pol2cart
+@DOCSTRING(pol2cart)
+
+
+@node cart2sph
+@unnumberedsec cart2sph
+@DOCSTRING(cart2sph)
+
+
+@node sph2cart
+@unnumberedsec sph2cart
+@DOCSTRING(sph2cart)
+
+
+@node e
+@unnumberedsec e
+@DOCSTRING(e)
+
+
+@node pi
+@unnumberedsec pi
+@DOCSTRING(pi)
+
+
+@node I
+@unnumberedsec I
+@DOCSTRING(I)
+
+
+@node Inf
+@unnumberedsec Inf
+@DOCSTRING(Inf)
+
+
+@node NaN
+@unnumberedsec NaN
+@DOCSTRING(NaN)
+
+
+@node eps
+@unnumberedsec eps
+@DOCSTRING(eps)
+
+
+@node realmax
+@unnumberedsec realmax
+@DOCSTRING(realmax)
+
+
+@node realmin
+@unnumberedsec realmin
+@DOCSTRING(realmin)
+
+
+@node balance
+@unnumberedsec balance
+@DOCSTRING(balance)
+
+
+@node bandwidth
+@unnumberedsec bandwidth
+@DOCSTRING(bandwidth)
+
+
+@node cond
+@unnumberedsec cond
+@DOCSTRING(cond)
+
+
+@node condeig
+@unnumberedsec condeig
+@DOCSTRING(condeig)
+
+
+@node det
+@unnumberedsec det
+@DOCSTRING(det)
+
+
+@node eig
+@unnumberedsec eig
+@DOCSTRING(eig)
+
+
+@node givens
+@unnumberedsec givens
+@DOCSTRING(givens)
+
+
+@node gsvd
+@unnumberedsec gsvd
+@DOCSTRING(gsvd)
+
+
+@node planerot
+@unnumberedsec planerot
+@DOCSTRING(planerot)
+
+
+@node inv
+@unnumberedsec inv
+@DOCSTRING(inv)
+
+
+@node linsolve
+@unnumberedsec linsolve
+@DOCSTRING(linsolve)
+
+
+@node matrix_type
+@unnumberedsec matrix_type
+@DOCSTRING(matrix_type)
+
+
+@node norm
+@unnumberedsec norm
+@DOCSTRING(norm)
+
+
+@node null
+@unnumberedsec null
+@DOCSTRING(null)
+
+
+@node orth
+@unnumberedsec orth
+@DOCSTRING(orth)
+
+
+@node mgorth
+@unnumberedsec mgorth
+@DOCSTRING(mgorth)
+
+
+@node pinv
+@unnumberedsec pinv
+@DOCSTRING(pinv)
+
+
+@node rank
+@unnumberedsec rank
+@DOCSTRING(rank)
+
+
+@node rcond
+@unnumberedsec rcond
+@DOCSTRING(rcond)
+
+
+@node trace
+@unnumberedsec trace
+@DOCSTRING(trace)
+
+
+@node rref
+@unnumberedsec rref
+@DOCSTRING(rref)
+
+
+@node vecnorm
+@unnumberedsec vecnorm
+@DOCSTRING(vecnorm)
+
+
+@node chol
+@unnumberedsec chol
+@DOCSTRING(chol)
+
+
+@node cholinv
+@unnumberedsec cholinv
+@DOCSTRING(cholinv)
+
+
+@node chol2inv
+@unnumberedsec chol2inv
+@DOCSTRING(chol2inv)
+
+
+@node cholupdate
+@unnumberedsec cholupdate
+@DOCSTRING(cholupdate)
+
+
+@node cholinsert
+@unnumberedsec cholinsert
+@DOCSTRING(cholinsert)
+
+
+@node choldelete
+@unnumberedsec choldelete
+@DOCSTRING(choldelete)
+
+
+@node cholshift
+@unnumberedsec cholshift
+@DOCSTRING(cholshift)
+
+
+@node hess
+@unnumberedsec hess
+@DOCSTRING(hess)
+
+
+@node lu
+@unnumberedsec lu
+@DOCSTRING(lu)
+
+
+@node luupdate
+@unnumberedsec luupdate
+@DOCSTRING(luupdate)
+
+
+@node qr
+@unnumberedsec qr
+@DOCSTRING(qr)
+
+
+@node qrupdate
+@unnumberedsec qrupdate
+@DOCSTRING(qrupdate)
+
+
+@node qrinsert
+@unnumberedsec qrinsert
+@DOCSTRING(qrinsert)
+
+
+@node qrdelete
+@unnumberedsec qrdelete
+@DOCSTRING(qrdelete)
+
+
+@node qrshift
+@unnumberedsec qrshift
+@DOCSTRING(qrshift)
+
+
+@node qz
+@unnumberedsec qz
+@DOCSTRING(qz)
+
+
+@node qzhess
+@unnumberedsec qzhess
+@DOCSTRING(qzhess)
+
+
+@node schur
+@unnumberedsec schur
+@DOCSTRING(schur)
+
+
+@node rsf2csf
+@unnumberedsec rsf2csf
+@DOCSTRING(rsf2csf)
+
+
+@node ordschur
+@unnumberedsec ordschur
+@DOCSTRING(ordschur)
+
+
+@node ordqz
+@unnumberedsec ordqz
+@DOCSTRING(ordqz)
+
+
+@node ordeig
+@unnumberedsec ordeig
+@DOCSTRING(ordeig)
+
+
+@node subspace
+@unnumberedsec subspace
+@DOCSTRING(subspace)
+
+
+@node svd
+@unnumberedsec svd
+@DOCSTRING(svd)
+
+
+@node svd_driver
+@unnumberedsec svd_driver
+@DOCSTRING(svd_driver)
+
+
+@node housh
+@unnumberedsec housh
+@DOCSTRING(housh)
+
+
+@node krylov
+@unnumberedsec krylov
+@DOCSTRING(krylov)
+
+
+@node expm
+@unnumberedsec expm
+@DOCSTRING(expm)
+
+
+@node logm
+@unnumberedsec logm
+@DOCSTRING(logm)
+
+
+@node sqrtm
+@unnumberedsec sqrtm
+@DOCSTRING(sqrtm)
+
+
+@node kron
+@unnumberedsec kron
+@DOCSTRING(kron)
+
+
+@node blkmm
+@unnumberedsec blkmm
+@DOCSTRING(blkmm)
+
+
+@node sylvester
+@unnumberedsec sylvester
+@DOCSTRING(sylvester)
+
+
+@node bicg
+@unnumberedsec bicg
+@DOCSTRING(bicg)
+
+
+@node bicgstab
+@unnumberedsec bicgstab
+@DOCSTRING(bicgstab)
+
+
+@node cgs
+@unnumberedsec cgs
+@DOCSTRING(cgs)
+
+
+@node gmres
+@unnumberedsec gmres
+@DOCSTRING(gmres)
+
+
+@node qmr
+@unnumberedsec qmr
+@DOCSTRING(qmr)
+
+
+@node tfqmr
+@unnumberedsec tfqmr
+@DOCSTRING(tfqmr)
+
+
+@node bsxfun
+@unnumberedsec bsxfun
+@DOCSTRING(bsxfun)
+
+
+@node arrayfun
+@unnumberedsec arrayfun
+@DOCSTRING(arrayfun)
+
+
+@node spfun
+@unnumberedsec spfun
+@DOCSTRING(spfun)
+
+
+@node cellfun
+@unnumberedsec cellfun
+@DOCSTRING(cellfun)
+
+
+@node structfun
+@unnumberedsec structfun
+@DOCSTRING(structfun)
+
+
+@node accumarray
+@unnumberedsec accumarray
+@DOCSTRING(accumarray)
+
+
+@node accumdim
+@unnumberedsec accumdim
+@DOCSTRING(accumdim)
+
+
+@node jit_enable
+@unnumberedsec jit_enable
+@DOCSTRING(jit_enable)
+
+
+@node jit_startcnt
+@unnumberedsec jit_startcnt
+@DOCSTRING(jit_startcnt)
+
+
+@node jit_failcnt
+@unnumberedsec jit_failcnt
+@DOCSTRING(jit_failcnt)
+
+
+@node debug_jit
+@unnumberedsec debug_jit
+@DOCSTRING(debug_jit)
+
+
+@node fsolve
+@unnumberedsec fsolve
+@DOCSTRING(fsolve)
+
+
+@node fzero
+@unnumberedsec fzero
+@DOCSTRING(fzero)
+
+
+@node fminbnd
+@unnumberedsec fminbnd
+@DOCSTRING(fminbnd)
+
+
+@node fminunc
+@unnumberedsec fminunc
+@DOCSTRING(fminunc)
+
+
+@node fminsearch
+@unnumberedsec fminsearch
+@DOCSTRING(fminsearch)
+
+
+@node humps
+@unnumberedsec humps
+@DOCSTRING(humps)
+
+
+@node disable_diagonal_matrix
+@unnumberedsec disable_diagonal_matrix
+@DOCSTRING(disable_diagonal_matrix)
+
+
+@node disable_permutation_matrix
+@unnumberedsec disable_permutation_matrix
+@DOCSTRING(disable_permutation_matrix)
+
+
+@node spdiags
+@unnumberedsec spdiags
+@DOCSTRING(spdiags)
+
+
+@node speye
+@unnumberedsec speye
+@DOCSTRING(speye)
+
+
+@node spones
+@unnumberedsec spones
+@DOCSTRING(spones)
+
+
+@node sprand
+@unnumberedsec sprand
+@DOCSTRING(sprand)
+
+
+@node sprandn
+@unnumberedsec sprandn
+@DOCSTRING(sprandn)
+
+
+@node sprandsym
+@unnumberedsec sprandsym
+@DOCSTRING(sprandsym)
+
+
+@node full
+@unnumberedsec full
+@DOCSTRING(full)
+
+
+@node spalloc
+@unnumberedsec spalloc
+@DOCSTRING(spalloc)
+
+
+@node sparse
+@unnumberedsec sparse
+@DOCSTRING(sparse)
+
+
+@node spconvert
+@unnumberedsec spconvert
+@DOCSTRING(spconvert)
+
+
+@node issparse
+@unnumberedsec issparse
+@DOCSTRING(issparse)
+
+
+@node nnz
+@unnumberedsec nnz
+@DOCSTRING(nnz)
+
+
+@node nonzeros
+@unnumberedsec nonzeros
+@DOCSTRING(nonzeros)
+
+
+@node nzmax
+@unnumberedsec nzmax
+@DOCSTRING(nzmax)
+
+
+@node spstats
+@unnumberedsec spstats
+@DOCSTRING(spstats)
+
+
+@node spy
+@unnumberedsec spy
+@DOCSTRING(spy)
+
+
+@node etree
+@unnumberedsec etree
+@DOCSTRING(etree)
+
+
+@node etreeplot
+@unnumberedsec etreeplot
+@DOCSTRING(etreeplot)
+
+
+@node gplot
+@unnumberedsec gplot
+@DOCSTRING(gplot)
+
+
+@node treeplot
+@unnumberedsec treeplot
+@DOCSTRING(treeplot)
+
+
+@node treelayout
+@unnumberedsec treelayout
+@DOCSTRING(treelayout)
+
+
+@node sparse_auto_mutate
+@unnumberedsec sparse_auto_mutate
+@DOCSTRING(sparse_auto_mutate)
+
+
+@node amd
+@unnumberedsec amd
+@DOCSTRING(amd)
+
+
+@node ccolamd
+@unnumberedsec ccolamd
+@DOCSTRING(ccolamd)
+
+
+@node colamd
+@unnumberedsec colamd
+@DOCSTRING(colamd)
+
+
+@node colperm
+@unnumberedsec colperm
+@DOCSTRING(colperm)
+
+
+@node csymamd
+@unnumberedsec csymamd
+@DOCSTRING(csymamd)
+
+
+@node dmperm
+@unnumberedsec dmperm
+@DOCSTRING(dmperm)
+
+
+@node symamd
+@unnumberedsec symamd
+@DOCSTRING(symamd)
+
+
+@node symrcm
+@unnumberedsec symrcm
+@DOCSTRING(symrcm)
+
+
+@node normest
+@unnumberedsec normest
+@DOCSTRING(normest)
+
+
+@node normest1
+@unnumberedsec normest1
+@DOCSTRING(normest1)
+
+
+@node condest
+@unnumberedsec condest
+@DOCSTRING(condest)
+
+
+@node spparms
+@unnumberedsec spparms
+@DOCSTRING(spparms)
+
+
+@node sprank
+@unnumberedsec sprank
+@DOCSTRING(sprank)
+
+
+@node symbfact
+@unnumberedsec symbfact
+@DOCSTRING(symbfact)
+
+
+@node spaugment
+@unnumberedsec spaugment
+@DOCSTRING(spaugment)
+
+
+@node eigs
+@unnumberedsec eigs
+@DOCSTRING(eigs)
+
+
+@node svds
+@unnumberedsec svds
+@DOCSTRING(svds)
+
+
+@node pcg
+@unnumberedsec pcg
+@DOCSTRING(pcg)
+
+
+@node pcr
+@unnumberedsec pcr
+@DOCSTRING(pcr)
+
+
+@node ichol
+@unnumberedsec ichol
+@DOCSTRING(ichol)
+
+
+@node ilu
+@unnumberedsec ilu
+@DOCSTRING(ilu)
+
+
+@node quad
+@unnumberedsec quad
+@DOCSTRING(quad)
+
+
+@node quad_options
+@unnumberedsec quad_options
+@DOCSTRING(quad_options)
+
+
+@node quadv
+@unnumberedsec quadv
+@DOCSTRING(quadv)
+
+
+@node quadl
+@unnumberedsec quadl
+@DOCSTRING(quadl)
+
+
+@node quadgk
+@unnumberedsec quadgk
+@DOCSTRING(quadgk)
+
+
+@node quadcc
+@unnumberedsec quadcc
+@DOCSTRING(quadcc)
+
+
+@node integral
+@unnumberedsec integral
+@DOCSTRING(integral)
+
+
+@node trapz
+@unnumberedsec trapz
+@DOCSTRING(trapz)
+
+
+@node cumtrapz
+@unnumberedsec cumtrapz
+@DOCSTRING(cumtrapz)
+
+
+@node colloc
+@unnumberedsec colloc
+@DOCSTRING(colloc)
+
+
+@node dblquad
+@unnumberedsec dblquad
+@DOCSTRING(dblquad)
+
+
+@node triplequad
+@unnumberedsec triplequad
+@DOCSTRING(triplequad)
+
+
+@node quad2d
+@unnumberedsec quad2d
+@DOCSTRING(quad2d)
+
+
+@node integral2
+@unnumberedsec integral2
+@DOCSTRING(integral2)
+
+
+@node integral3
+@unnumberedsec integral3
+@DOCSTRING(integral3)
+
+
+@node lsode
+@unnumberedsec lsode
+@DOCSTRING(lsode)
+
+
+@node lsode_options
+@unnumberedsec lsode_options
+@DOCSTRING(lsode_options)
+
+
+@node ode45
+@unnumberedsec ode45
+@DOCSTRING(ode45)
+
+
+@node ode23
+@unnumberedsec ode23
+@DOCSTRING(ode23)
+
+
+@node ode23s
+@unnumberedsec ode23s
+@DOCSTRING(ode23s)
+
+
+@node ode15s
+@unnumberedsec ode15s
+@DOCSTRING(ode15s)
+
+
+@node ode15i
+@unnumberedsec ode15i
+@DOCSTRING(ode15i)
+
+
+@node decic
+@unnumberedsec decic
+@DOCSTRING(decic)
+
+
+@node odeset
+@unnumberedsec odeset
+@DOCSTRING(odeset)
+
+
+@node odeget
+@unnumberedsec odeget
+@DOCSTRING(odeget)
+
+
+@node odeplot
+@unnumberedsec odeplot
+@DOCSTRING(odeplot)
+
+
+@node daspk
+@unnumberedsec daspk
+@DOCSTRING(daspk)
+
+
+@node daspk_options
+@unnumberedsec daspk_options
+@DOCSTRING(daspk_options)
+
+
+@node dassl
+@unnumberedsec dassl
+@DOCSTRING(dassl)
+
+
+@node dassl_options
+@unnumberedsec dassl_options
+@DOCSTRING(dassl_options)
+
+
+@node dasrt
+@unnumberedsec dasrt
+@DOCSTRING(dasrt)
+
+
+@node dasrt_options
+@unnumberedsec dasrt_options
+@DOCSTRING(dasrt_options)
+
+
+@node glpk
+@unnumberedsec glpk
+@DOCSTRING(glpk)
+
+
+@node qp
+@unnumberedsec qp
+@DOCSTRING(qp)
+
+
+@node pqpnonneg
+@unnumberedsec pqpnonneg
+@DOCSTRING(pqpnonneg)
+
+
+@node sqp
+@unnumberedsec sqp
+@DOCSTRING(sqp)
+
+
+@node ols
+@unnumberedsec ols
+@DOCSTRING(ols)
+
+
+@node gls
+@unnumberedsec gls
+@DOCSTRING(gls)
+
+
+@node lsqnonneg
+@unnumberedsec lsqnonneg
+@DOCSTRING(lsqnonneg)
+
+
+@node lscov
+@unnumberedsec lscov
+@DOCSTRING(lscov)
+
+
+@node optimset
+@unnumberedsec optimset
+@DOCSTRING(optimset)
+
+
+@node optimget
+@unnumberedsec optimget
+@DOCSTRING(optimget)
+
+
+@node mean
+@unnumberedsec mean
+@DOCSTRING(mean)
+
+
+@node median
+@unnumberedsec median
+@DOCSTRING(median)
+
+
+@node mode
+@unnumberedsec mode
+@DOCSTRING(mode)
+
+
+@node bounds
+@unnumberedsec bounds
+@DOCSTRING(bounds)
+
+
+@node range
+@unnumberedsec range
+@DOCSTRING(range)
+
+
+@node iqr
+@unnumberedsec iqr
+@DOCSTRING(iqr)
+
+
+@node mad
+@unnumberedsec mad
+@DOCSTRING(mad)
+
+
+@node meansq
+@unnumberedsec meansq
+@DOCSTRING(meansq)
+
+
+@node std
+@unnumberedsec std
+@DOCSTRING(std)
+
+
+@node var
+@unnumberedsec var
+@DOCSTRING(var)
+
+
+@node skewness
+@unnumberedsec skewness
+@DOCSTRING(skewness)
+
+
+@node kurtosis
+@unnumberedsec kurtosis
+@DOCSTRING(kurtosis)
+
+
+@node moment
+@unnumberedsec moment
+@DOCSTRING(moment)
+
+
+@node quantile
+@unnumberedsec quantile
+@DOCSTRING(quantile)
+
+
+@node prctile
+@unnumberedsec prctile
+@DOCSTRING(prctile)
+
+
+@node statistics
+@unnumberedsec statistics
+@DOCSTRING(statistics)
+
+
+@node movfun
+@unnumberedsec movfun
+@DOCSTRING(movfun)
+
+
+@node movslice
+@unnumberedsec movslice
+@DOCSTRING(movslice)
+
+
+@node movmad
+@unnumberedsec movmad
+@DOCSTRING(movmad)
+
+
+@node movmax
+@unnumberedsec movmax
+@DOCSTRING(movmax)
+
+
+@node movmean
+@unnumberedsec movmean
+@DOCSTRING(movmean)
+
+
+@node movmedian
+@unnumberedsec movmedian
+@DOCSTRING(movmedian)
+
+
+@node movmin
+@unnumberedsec movmin
+@DOCSTRING(movmin)
+
+
+@node movprod
+@unnumberedsec movprod
+@DOCSTRING(movprod)
+
+
+@node movstd
+@unnumberedsec movstd
+@DOCSTRING(movstd)
+
+
+@node movsum
+@unnumberedsec movsum
+@DOCSTRING(movsum)
+
+
+@node movvar
+@unnumberedsec movvar
+@DOCSTRING(movvar)
+
+
+@node center
+@unnumberedsec center
+@DOCSTRING(center)
+
+
+@node zscore
+@unnumberedsec zscore
+@DOCSTRING(zscore)
+
+
+@node histc
+@unnumberedsec histc
+@DOCSTRING(histc)
+
+
+@node nchoosek
+@unnumberedsec nchoosek
+@DOCSTRING(nchoosek)
+
+
+@node perms
+@unnumberedsec perms
+@DOCSTRING(perms)
+
+
+@node ranks
+@unnumberedsec ranks
+@DOCSTRING(ranks)
+
+
+@node run_count
+@unnumberedsec run_count
+@DOCSTRING(run_count)
+
+
+@node runlength
+@unnumberedsec runlength
+@DOCSTRING(runlength)
+
+
+@node cov
+@unnumberedsec cov
+@DOCSTRING(cov)
+
+
+@node corr
+@unnumberedsec corr
+@DOCSTRING(corr)
+
+
+@node corrcoef
+@unnumberedsec corrcoef
+@DOCSTRING(corrcoef)
+
+
+@node spearman
+@unnumberedsec spearman
+@DOCSTRING(spearman)
+
+
+@node kendall
+@unnumberedsec kendall
+@DOCSTRING(kendall)
+
+
+@node discrete_pdf
+@unnumberedsec discrete_pdf
+@DOCSTRING(discrete_pdf)
+
+
+@node discrete_cdf
+@unnumberedsec discrete_cdf
+@DOCSTRING(discrete_cdf)
+
+
+@node discrete_inv
+@unnumberedsec discrete_inv
+@DOCSTRING(discrete_inv)
+
+
+@node empirical_pdf
+@unnumberedsec empirical_pdf
+@DOCSTRING(empirical_pdf)
+
+
+@node empirical_cdf
+@unnumberedsec empirical_cdf
+@DOCSTRING(empirical_cdf)
+
+
+@node empirical_inv
+@unnumberedsec empirical_inv
+@DOCSTRING(empirical_inv)
+
+
+@node discrete_rnd
+@unnumberedsec discrete_rnd
+@DOCSTRING(discrete_rnd)
+
+
+@node empirical_rnd
+@unnumberedsec empirical_rnd
+@DOCSTRING(empirical_rnd)
+
+
+@node unique
+@unnumberedsec unique
+@DOCSTRING(unique)
+
+
+@node uniquetol
+@unnumberedsec uniquetol
+@DOCSTRING(uniquetol)
+
+
+@node intersect
+@unnumberedsec intersect
+@DOCSTRING(intersect)
+
+
+@node union
+@unnumberedsec union
+@DOCSTRING(union)
+
+
+@node setdiff
+@unnumberedsec setdiff
+@DOCSTRING(setdiff)
+
+
+@node setxor
+@unnumberedsec setxor
+@DOCSTRING(setxor)
+
+
+@node ismember
+@unnumberedsec ismember
+@DOCSTRING(ismember)
+
+
+@node powerset
+@unnumberedsec powerset
+@DOCSTRING(powerset)
+
+
+@node polyval
+@unnumberedsec polyval
+@DOCSTRING(polyval)
+
+
+@node polyvalm
+@unnumberedsec polyvalm
+@DOCSTRING(polyvalm)
+
+
+@node roots
+@unnumberedsec roots
+@DOCSTRING(roots)
+
+
+@node polyeig
+@unnumberedsec polyeig
+@DOCSTRING(polyeig)
+
+
+@node compan
+@unnumberedsec compan
+@DOCSTRING(compan)
+
+
+@node mpoles
+@unnumberedsec mpoles
+@DOCSTRING(mpoles)
+
+
+@node conv
+@unnumberedsec conv
+@DOCSTRING(conv)
+
+
+@node convn
+@unnumberedsec convn
+@DOCSTRING(convn)
+
+
+@node deconv
+@unnumberedsec deconv
+@DOCSTRING(deconv)
+
+
+@node conv2
+@unnumberedsec conv2
+@DOCSTRING(conv2)
+
+
+@node polygcd
+@unnumberedsec polygcd
+@DOCSTRING(polygcd)
+
+
+@node residue
+@unnumberedsec residue
+@DOCSTRING(residue)
+
+
+@node polyder
+@unnumberedsec polyder
+@DOCSTRING(polyder)
+
+
+@node polyint
+@unnumberedsec polyint
+@DOCSTRING(polyint)
+
+
+@node polyaffine
+@unnumberedsec polyaffine
+@DOCSTRING(polyaffine)
+
+
+@node polyfit
+@unnumberedsec polyfit
+@DOCSTRING(polyfit)
+
+
+@node splinefit
+@unnumberedsec splinefit
+@DOCSTRING(splinefit)
+
+
+@node padecoef
+@unnumberedsec padecoef
+@DOCSTRING(padecoef)
+
+
+@node mkpp
+@unnumberedsec mkpp
+@DOCSTRING(mkpp)
+
+
+@node unmkpp
+@unnumberedsec unmkpp
+@DOCSTRING(unmkpp)
+
+
+@node ppval
+@unnumberedsec ppval
+@DOCSTRING(ppval)
+
+
+@node ppder
+@unnumberedsec ppder
+@DOCSTRING(ppder)
+
+
+@node ppint
+@unnumberedsec ppint
+@DOCSTRING(ppint)
+
+
+@node ppjumps
+@unnumberedsec ppjumps
+@DOCSTRING(ppjumps)
+
+
+@node poly
+@unnumberedsec poly
+@DOCSTRING(poly)
+
+
+@node polyout
+@unnumberedsec polyout
+@DOCSTRING(polyout)
+
+
+@node polyreduce
+@unnumberedsec polyreduce
+@DOCSTRING(polyreduce)
+
+
+@node interp1
+@unnumberedsec interp1
+@DOCSTRING(interp1)
+
+
+@node interpft
+@unnumberedsec interpft
+@DOCSTRING(interpft)
+
+
+@node spline
+@unnumberedsec spline
+@DOCSTRING(spline)
+
+
+@node interp2
+@unnumberedsec interp2
+@DOCSTRING(interp2)
+
+
+@node interp3
+@unnumberedsec interp3
+@DOCSTRING(interp3)
+
+
+@node interpn
+@unnumberedsec interpn
+@DOCSTRING(interpn)
+
+
+@node delaunay
+@unnumberedsec delaunay
+@DOCSTRING(delaunay)
+
+
+@node delaunayn
+@unnumberedsec delaunayn
+@DOCSTRING(delaunayn)
+
+
+@node triplot
+@unnumberedsec triplot
+@DOCSTRING(triplot)
+
+
+@node trimesh
+@unnumberedsec trimesh
+@DOCSTRING(trimesh)
+
+
+@node trisurf
+@unnumberedsec trisurf
+@DOCSTRING(trisurf)
+
+
+@node tetramesh
+@unnumberedsec tetramesh
+@DOCSTRING(tetramesh)
+
+
+@node tsearch
+@unnumberedsec tsearch
+@DOCSTRING(tsearch)
+
+
+@node tsearchn
+@unnumberedsec tsearchn
+@DOCSTRING(tsearchn)
+
+
+@node dsearch
+@unnumberedsec dsearch
+@DOCSTRING(dsearch)
+
+
+@node dsearchn
+@unnumberedsec dsearchn
+@DOCSTRING(dsearchn)
+
+
+@node voronoi
+@unnumberedsec voronoi
+@DOCSTRING(voronoi)
+
+
+@node voronoin
+@unnumberedsec voronoin
+@DOCSTRING(voronoin)
+
+
+@node polyarea
+@unnumberedsec polyarea
+@DOCSTRING(polyarea)
+
+
+@node rectint
+@unnumberedsec rectint
+@DOCSTRING(rectint)
+
+
+@node inpolygon
+@unnumberedsec inpolygon
+@DOCSTRING(inpolygon)
+
+
+@node convhull
+@unnumberedsec convhull
+@DOCSTRING(convhull)
+
+
+@node convhulln
+@unnumberedsec convhulln
+@DOCSTRING(convhulln)
+
+
+@node griddata
+@unnumberedsec griddata
+@DOCSTRING(griddata)
+
+
+@node griddata3
+@unnumberedsec griddata3
+@DOCSTRING(griddata3)
+
+
+@node griddatan
+@unnumberedsec griddatan
+@DOCSTRING(griddatan)
+
+
+@node rotx
+@unnumberedsec rotx
+@DOCSTRING(rotx)
+
+
+@node roty
+@unnumberedsec roty
+@DOCSTRING(roty)
+
+
+@node rotz
+@unnumberedsec rotz
+@DOCSTRING(rotz)
+
+
+@node fft
+@unnumberedsec fft
+@DOCSTRING(fft)
+
+
+@node ifft
+@unnumberedsec ifft
+@DOCSTRING(ifft)
+
+
+@node fft2
+@unnumberedsec fft2
+@DOCSTRING(fft2)
+
+
+@node ifft2
+@unnumberedsec ifft2
+@DOCSTRING(ifft2)
+
+
+@node fftn
+@unnumberedsec fftn
+@DOCSTRING(fftn)
+
+
+@node ifftn
+@unnumberedsec ifftn
+@DOCSTRING(ifftn)
+
+
+@node fftw
+@unnumberedsec fftw
+@DOCSTRING(fftw)
+
+
+@node fftconv
+@unnumberedsec fftconv
+@DOCSTRING(fftconv)
+
+
+@node fftfilt
+@unnumberedsec fftfilt
+@DOCSTRING(fftfilt)
+
+
+@node filter
+@unnumberedsec filter
+@DOCSTRING(filter)
+
+
+@node filter2
+@unnumberedsec filter2
+@DOCSTRING(filter2)
+
+
+@node freqz
+@unnumberedsec freqz
+@DOCSTRING(freqz)
+
+
+@node freqz_plot
+@unnumberedsec freqz_plot
+@DOCSTRING(freqz_plot)
+
+
+@node sinc
+@unnumberedsec sinc
+@DOCSTRING(sinc)
+
+
+@node unwrap
+@unnumberedsec unwrap
+@DOCSTRING(unwrap)
+
+
+@node arch_fit
+@unnumberedsec arch_fit
+@DOCSTRING(arch_fit)
+
+
+@node arch_rnd
+@unnumberedsec arch_rnd
+@DOCSTRING(arch_rnd)
+
+
+@node arch_test
+@unnumberedsec arch_test
+@DOCSTRING(arch_test)
+
+
+@node arma_rnd
+@unnumberedsec arma_rnd
+@DOCSTRING(arma_rnd)
+
+
+@node autoreg_matrix
+@unnumberedsec autoreg_matrix
+@DOCSTRING(autoreg_matrix)
+
+
+@node bartlett
+@unnumberedsec bartlett
+@DOCSTRING(bartlett)
+
+
+@node blackman
+@unnumberedsec blackman
+@DOCSTRING(blackman)
+
+
+@node detrend
+@unnumberedsec detrend
+@DOCSTRING(detrend)
+
+
+@node diffpara
+@unnumberedsec diffpara
+@DOCSTRING(diffpara)
+
+
+@node durbinlevinson
+@unnumberedsec durbinlevinson
+@DOCSTRING(durbinlevinson)
+
+
+@node fftshift
+@unnumberedsec fftshift
+@DOCSTRING(fftshift)
+
+
+@node ifftshift
+@unnumberedsec ifftshift
+@DOCSTRING(ifftshift)
+
+
+@node fractdiff
+@unnumberedsec fractdiff
+@DOCSTRING(fractdiff)
+
+
+@node hamming
+@unnumberedsec hamming
+@DOCSTRING(hamming)
+
+
+@node hanning
+@unnumberedsec hanning
+@DOCSTRING(hanning)
+
+
+@node hurst
+@unnumberedsec hurst
+@DOCSTRING(hurst)
+
+
+@node pchip
+@unnumberedsec pchip
+@DOCSTRING(pchip)
+
+
+@node periodogram
+@unnumberedsec periodogram
+@DOCSTRING(periodogram)
+
+
+@node sinetone
+@unnumberedsec sinetone
+@DOCSTRING(sinetone)
+
+
+@node sinewave
+@unnumberedsec sinewave
+@DOCSTRING(sinewave)
+
+
+@node spectral_adf
+@unnumberedsec spectral_adf
+@DOCSTRING(spectral_adf)
+
+
+@node spectral_xdf
+@unnumberedsec spectral_xdf
+@DOCSTRING(spectral_xdf)
+
+
+@node spencer
+@unnumberedsec spencer
+@DOCSTRING(spencer)
+
+
+@node stft
+@unnumberedsec stft
+@DOCSTRING(stft)
+
+
+@node synthesis
+@unnumberedsec synthesis
+@DOCSTRING(synthesis)
+
+
+@node yulewalker
+@unnumberedsec yulewalker
+@DOCSTRING(yulewalker)
+
+
+@node imread
+@unnumberedsec imread
+@DOCSTRING(imread)
+
+
+@node imwrite
+@unnumberedsec imwrite
+@DOCSTRING(imwrite)
+
+
+@node IMAGE_PATH
+@unnumberedsec IMAGE_PATH
+@DOCSTRING(IMAGE_PATH)
+
+
+@node imfinfo
+@unnumberedsec imfinfo
+@DOCSTRING(imfinfo)
+
+
+@node imformats
+@unnumberedsec imformats
+@DOCSTRING(imformats)
+
+
+@node imshow
+@unnumberedsec imshow
+@DOCSTRING(imshow)
+
+
+@node image
+@unnumberedsec image
+@DOCSTRING(image)
+
+
+@node imagesc
+@unnumberedsec imagesc
+@DOCSTRING(imagesc)
+
+
+@node im2double
+@unnumberedsec im2double
+@DOCSTRING(im2double)
+
+
+@node gray2ind
+@unnumberedsec gray2ind
+@DOCSTRING(gray2ind)
+
+
+@node ind2gray
+@unnumberedsec ind2gray
+@DOCSTRING(ind2gray)
+
+
+@node rgb2ind
+@unnumberedsec rgb2ind
+@DOCSTRING(rgb2ind)
+
+
+@node ind2rgb
+@unnumberedsec ind2rgb
+@DOCSTRING(ind2rgb)
+
+
+@node getframe
+@unnumberedsec getframe
+@DOCSTRING(getframe)
+
+
+@node movie
+@unnumberedsec movie
+@DOCSTRING(movie)
+
+
+@node frame2im
+@unnumberedsec frame2im
+@DOCSTRING(frame2im)
+
+
+@node im2frame
+@unnumberedsec im2frame
+@DOCSTRING(im2frame)
+
+
+@node colormap
+@unnumberedsec colormap
+@DOCSTRING(colormap)
+
+
+@node iscolormap
+@unnumberedsec iscolormap
+@DOCSTRING(iscolormap)
+
+
+@node rgbplot
+@unnumberedsec rgbplot
+@DOCSTRING(rgbplot)
+
+
+@node autumn
+@unnumberedsec autumn
+@DOCSTRING(autumn)
+
+
+@node bone
+@unnumberedsec bone
+@DOCSTRING(bone)
+
+
+@node colorcube
+@unnumberedsec colorcube
+@DOCSTRING(colorcube)
+
+
+@node cool
+@unnumberedsec cool
+@DOCSTRING(cool)
+
+
+@node copper
+@unnumberedsec copper
+@DOCSTRING(copper)
+
+
+@node cubehelix
+@unnumberedsec cubehelix
+@DOCSTRING(cubehelix)
+
+
+@node flag
+@unnumberedsec flag
+@DOCSTRING(flag)
+
+
+@node gray
+@unnumberedsec gray
+@DOCSTRING(gray)
+
+
+@node hot
+@unnumberedsec hot
+@DOCSTRING(hot)
+
+
+@node hsv
+@unnumberedsec hsv
+@DOCSTRING(hsv)
+
+
+@node jet
+@unnumberedsec jet
+@DOCSTRING(jet)
+
+
+@node lines
+@unnumberedsec lines
+@DOCSTRING(lines)
+
+
+@node ocean
+@unnumberedsec ocean
+@DOCSTRING(ocean)
+
+
+@node pink
+@unnumberedsec pink
+@DOCSTRING(pink)
+
+
+@node prism
+@unnumberedsec prism
+@DOCSTRING(prism)
+
+
+@node rainbow
+@unnumberedsec rainbow
+@DOCSTRING(rainbow)
+
+
+@node spring
+@unnumberedsec spring
+@DOCSTRING(spring)
+
+
+@node summer
+@unnumberedsec summer
+@DOCSTRING(summer)
+
+
+@node turbo
+@unnumberedsec turbo
+@DOCSTRING(turbo)
+
+
+@node viridis
+@unnumberedsec viridis
+@DOCSTRING(viridis)
+
+
+@node white
+@unnumberedsec white
+@DOCSTRING(white)
+
+
+@node winter
+@unnumberedsec winter
+@DOCSTRING(winter)
+
+
+@node contrast
+@unnumberedsec contrast
+@DOCSTRING(contrast)
+
+
+@node brighten
+@unnumberedsec brighten
+@DOCSTRING(brighten)
+
+
+@node spinmap
+@unnumberedsec spinmap
+@DOCSTRING(spinmap)
+
+
+@node whitebg
+@unnumberedsec whitebg
+@DOCSTRING(whitebg)
+
+
+@node cmunique
+@unnumberedsec cmunique
+@DOCSTRING(cmunique)
+
+
+@node cmpermute
+@unnumberedsec cmpermute
+@DOCSTRING(cmpermute)
+
+
+@node rgb2hsv
+@unnumberedsec rgb2hsv
+@DOCSTRING(rgb2hsv)
+
+
+@node hsv2rgb
+@unnumberedsec hsv2rgb
+@DOCSTRING(hsv2rgb)
+
+
+@node rgb2gray
+@unnumberedsec rgb2gray
+@DOCSTRING(rgb2gray)
+
+
+@node audioinfo
+@unnumberedsec audioinfo
+@DOCSTRING(audioinfo)
+
+
+@node audioread
+@unnumberedsec audioread
+@DOCSTRING(audioread)
+
+
+@node audiowrite
+@unnumberedsec audiowrite
+@DOCSTRING(audiowrite)
+
+
+@node audioformats
+@unnumberedsec audioformats
+@DOCSTRING(audioformats)
+
+
+@node audiodevinfo
+@unnumberedsec audiodevinfo
+@DOCSTRING(audiodevinfo)
+
+
+@node @@audioplayer/audioplayer
+@unnumberedsec @@audioplayer/audioplayer
+@DOCSTRING(@audioplayer/audioplayer)
+
+
+@node @@audioplayer/play
+@unnumberedsec @@audioplayer/play
+@DOCSTRING(@audioplayer/play)
+
+
+@node @@audioplayer/playblocking
+@unnumberedsec @@audioplayer/playblocking
+@DOCSTRING(@audioplayer/playblocking)
+
+
+@node @@audioplayer/pause
+@unnumberedsec @@audioplayer/pause
+@DOCSTRING(@audioplayer/pause)
+
+
+@node @@audioplayer/resume
+@unnumberedsec @@audioplayer/resume
+@DOCSTRING(@audioplayer/resume)
+
+
+@node @@audioplayer/stop
+@unnumberedsec @@audioplayer/stop
+@DOCSTRING(@audioplayer/stop)
+
+
+@node @@audioplayer/isplaying
+@unnumberedsec @@audioplayer/isplaying
+@DOCSTRING(@audioplayer/isplaying)
+
+
+@node @@audioplayer/get
+@unnumberedsec @@audioplayer/get
+@DOCSTRING(@audioplayer/get)
+
+
+@node @@audioplayer/set
+@unnumberedsec @@audioplayer/set
+@DOCSTRING(@audioplayer/set)
+
+
+@node @@audiorecorder/audiorecorder
+@unnumberedsec @@audiorecorder/audiorecorder
+@DOCSTRING(@audiorecorder/audiorecorder)
+
+
+@node @@audiorecorder/record
+@unnumberedsec @@audiorecorder/record
+@DOCSTRING(@audiorecorder/record)
+
+
+@node @@audiorecorder/recordblocking
+@unnumberedsec @@audiorecorder/recordblocking
+@DOCSTRING(@audiorecorder/recordblocking)
+
+
+@node @@audiorecorder/pause
+@unnumberedsec @@audiorecorder/pause
+@DOCSTRING(@audiorecorder/pause)
+
+
+@node @@audiorecorder/resume
+@unnumberedsec @@audiorecorder/resume
+@DOCSTRING(@audiorecorder/resume)
+
+
+@node @@audiorecorder/stop
+@unnumberedsec @@audiorecorder/stop
+@DOCSTRING(@audiorecorder/stop)
+
+
+@node @@audiorecorder/isrecording
+@unnumberedsec @@audiorecorder/isrecording
+@DOCSTRING(@audiorecorder/isrecording)
+
+
+@node @@audiorecorder/getaudiodata
+@unnumberedsec @@audiorecorder/getaudiodata
+@DOCSTRING(@audiorecorder/getaudiodata)
+
+
+@node @@audiorecorder/getplayer
+@unnumberedsec @@audiorecorder/getplayer
+@DOCSTRING(@audiorecorder/getplayer)
+
+
+@node @@audiorecorder/play
+@unnumberedsec @@audiorecorder/play
+@DOCSTRING(@audiorecorder/play)
+
+
+@node @@audiorecorder/get
+@unnumberedsec @@audiorecorder/get
+@DOCSTRING(@audiorecorder/get)
+
+
+@node @@audiorecorder/set
+@unnumberedsec @@audiorecorder/set
+@DOCSTRING(@audiorecorder/set)
+
+
+@node lin2mu
+@unnumberedsec lin2mu
+@DOCSTRING(lin2mu)
+
+
+@node mu2lin
+@unnumberedsec mu2lin
+@DOCSTRING(mu2lin)
+
+
+@node record
+@unnumberedsec record
+@DOCSTRING(record)
+
+
+@node sound
+@unnumberedsec sound
+@DOCSTRING(sound)
+
+
+@node soundsc
+@unnumberedsec soundsc
+@DOCSTRING(soundsc)
+
+
+@node isobject
+@unnumberedsec isobject
+@DOCSTRING(isobject)
+
+
+@node methods
+@unnumberedsec methods
+@DOCSTRING(methods)
+
+
+@node ismethod
+@unnumberedsec ismethod
+@DOCSTRING(ismethod)
+
+
+@node saveobj
+@unnumberedsec saveobj
+@DOCSTRING(saveobj)
+
+
+@node loadobj
+@unnumberedsec loadobj
+@DOCSTRING(loadobj)
+
+
+@node subsref
+@unnumberedsec subsref
+@DOCSTRING(subsref)
+
+
+@node subsasgn
+@unnumberedsec subsasgn
+@DOCSTRING(subsasgn)
+
+
+@node optimize_subsasgn_calls
+@unnumberedsec optimize_subsasgn_calls
+@DOCSTRING(optimize_subsasgn_calls)
+
+
+@node subsindex
+@unnumberedsec subsindex
+@DOCSTRING(subsindex)
+
+
+@node colon
+@unnumberedsec colon
+@DOCSTRING(colon)
+
+
+@node superiorto
+@unnumberedsec superiorto
+@DOCSTRING(superiorto)
+
+
+@node inferiorto
+@unnumberedsec inferiorto
+@DOCSTRING(inferiorto)
+
+
+@node display
+@unnumberedsec display
+@DOCSTRING(display)
+
+
+@node properties
+@unnumberedsec properties
+@DOCSTRING(properties)
+
+
+@node uigetdir
+@unnumberedsec uigetdir
+@DOCSTRING(uigetdir)
+
+
+@node uigetfile
+@unnumberedsec uigetfile
+@DOCSTRING(uigetfile)
+
+
+@node uiputfile
+@unnumberedsec uiputfile
+@DOCSTRING(uiputfile)
+
+
+@node errordlg
+@unnumberedsec errordlg
+@DOCSTRING(errordlg)
+
+
+@node helpdlg
+@unnumberedsec helpdlg
+@DOCSTRING(helpdlg)
+
+
+@node inputdlg
+@unnumberedsec inputdlg
+@DOCSTRING(inputdlg)
+
+
+@node listdlg
+@unnumberedsec listdlg
+@DOCSTRING(listdlg)
+
+
+@node msgbox
+@unnumberedsec msgbox
+@DOCSTRING(msgbox)
+
+
+@node questdlg
+@unnumberedsec questdlg
+@DOCSTRING(questdlg)
+
+
+@node warndlg
+@unnumberedsec warndlg
+@DOCSTRING(warndlg)
+
+
+@node uisetfont
+@unnumberedsec uisetfont
+@DOCSTRING(uisetfont)
+
+
+@node dialog
+@unnumberedsec dialog
+@DOCSTRING(dialog)
+
+
+@node waitbar
+@unnumberedsec waitbar
+@DOCSTRING(waitbar)
+
+
+@node uipanel
+@unnumberedsec uipanel
+@DOCSTRING(uipanel)
+
+
+@node uibuttongroup
+@unnumberedsec uibuttongroup
+@DOCSTRING(uibuttongroup)
+
+
+@node uicontrol
+@unnumberedsec uicontrol
+@DOCSTRING(uicontrol)
+
+
+@node uitable
+@unnumberedsec uitable
+@DOCSTRING(uitable)
+
+
+@node uimenu
+@unnumberedsec uimenu
+@DOCSTRING(uimenu)
+
+
+@node uicontextmenu
+@unnumberedsec uicontextmenu
+@DOCSTRING(uicontextmenu)
+
+
+@node uitoolbar
+@unnumberedsec uitoolbar
+@DOCSTRING(uitoolbar)
+
+
+@node uipushtool
+@unnumberedsec uipushtool
+@DOCSTRING(uipushtool)
+
+
+@node uitoggletool
+@unnumberedsec uitoggletool
+@DOCSTRING(uitoggletool)
+
+
+@node guidata
+@unnumberedsec guidata
+@DOCSTRING(guidata)
+
+
+@node guihandles
+@unnumberedsec guihandles
+@DOCSTRING(guihandles)
+
+
+@node have_window_system
+@unnumberedsec have_window_system
+@DOCSTRING(have_window_system)
+
+
+@node isguirunning
+@unnumberedsec isguirunning
+@DOCSTRING(isguirunning)
+
+
+@node getpixelposition
+@unnumberedsec getpixelposition
+@DOCSTRING(getpixelposition)
+
+
+@node listfonts
+@unnumberedsec listfonts
+@DOCSTRING(listfonts)
+
+
+@node movegui
+@unnumberedsec movegui
+@DOCSTRING(movegui)
+
+
+@node openvar
+@unnumberedsec openvar
+@DOCSTRING(openvar)
+
+
+@node uiwait
+@unnumberedsec uiwait
+@DOCSTRING(uiwait)
+
+
+@node uiresume
+@unnumberedsec uiresume
+@DOCSTRING(uiresume)
+
+
+@node waitfor
+@unnumberedsec waitfor
+@DOCSTRING(waitfor)
+
+
+@node getpref
+@unnumberedsec getpref
+@DOCSTRING(getpref)
+
+
+@node setpref
+@unnumberedsec setpref
+@DOCSTRING(setpref)
+
+
+@node addpref
+@unnumberedsec addpref
+@DOCSTRING(addpref)
+
+
+@node rmpref
+@unnumberedsec rmpref
+@DOCSTRING(rmpref)
+
+
+@node ispref
+@unnumberedsec ispref
+@DOCSTRING(ispref)
+
+
+@node prefdir
+@unnumberedsec prefdir
+@DOCSTRING(prefdir)
+
+
+@node preferences
+@unnumberedsec preferences
+@DOCSTRING(preferences)
+
+
+@node commandhistory
+@unnumberedsec commandhistory
+@DOCSTRING(commandhistory)
+
+
+@node commandwindow
+@unnumberedsec commandwindow
+@DOCSTRING(commandwindow)
+
+
+@node filebrowser
+@unnumberedsec filebrowser
+@DOCSTRING(filebrowser)
+
+
+@node workspace
+@unnumberedsec workspace
+@DOCSTRING(workspace)
+
+
+@node time
+@unnumberedsec time
+@DOCSTRING(time)
+
+
+@node now
+@unnumberedsec now
+@DOCSTRING(now)
+
+
+@node ctime
+@unnumberedsec ctime
+@DOCSTRING(ctime)
+
+
+@node gmtime
+@unnumberedsec gmtime
+@DOCSTRING(gmtime)
+
+
+@node localtime
+@unnumberedsec localtime
+@DOCSTRING(localtime)
+
+
+@node mktime
+@unnumberedsec mktime
+@DOCSTRING(mktime)
+
+
+@node asctime
+@unnumberedsec asctime
+@DOCSTRING(asctime)
+
+
+@node strftime
+@unnumberedsec strftime
+@DOCSTRING(strftime)
+
+
+@node strptime
+@unnumberedsec strptime
+@DOCSTRING(strptime)
+
+
+@node clock
+@unnumberedsec clock
+@DOCSTRING(clock)
+
+
+@node date
+@unnumberedsec date
+@DOCSTRING(date)
+
+
+@node etime
+@unnumberedsec etime
+@DOCSTRING(etime)
+
+
+@node cputime
+@unnumberedsec cputime
+@DOCSTRING(cputime)
+
+
+@node is_leap_year
+@unnumberedsec is_leap_year
+@DOCSTRING(is_leap_year)
+
+
+@node tic
+@unnumberedsec tic
+@DOCSTRING(tic)
+
+
+@node toc
+@unnumberedsec toc
+@DOCSTRING(toc)
+
+
+@node pause
+@unnumberedsec pause
+@DOCSTRING(pause)
+
+
+@node datenum
+@unnumberedsec datenum
+@DOCSTRING(datenum)
+
+
+@node datestr
+@unnumberedsec datestr
+@DOCSTRING(datestr)
+
+
+@node datevec
+@unnumberedsec datevec
+@DOCSTRING(datevec)
+
+
+@node addtodate
+@unnumberedsec addtodate
+@DOCSTRING(addtodate)
+
+
+@node calendar
+@unnumberedsec calendar
+@DOCSTRING(calendar)
+
+
+@node weekday
+@unnumberedsec weekday
+@DOCSTRING(weekday)
+
+
+@node eomday
+@unnumberedsec eomday
+@DOCSTRING(eomday)
+
+
+@node datetick
+@unnumberedsec datetick
+@DOCSTRING(datetick)
+
+
+@node movefile
+@unnumberedsec movefile
+@DOCSTRING(movefile)
+
+
+@node rename
+@unnumberedsec rename
+@DOCSTRING(rename)
+
+
+@node copyfile
+@unnumberedsec copyfile
+@DOCSTRING(copyfile)
+
+
+@node unlink
+@unnumberedsec unlink
+@DOCSTRING(unlink)
+
+
+@node link
+@unnumberedsec link
+@DOCSTRING(link)
+
+
+@node symlink
+@unnumberedsec symlink
+@DOCSTRING(symlink)
+
+
+@node readlink
+@unnumberedsec readlink
+@DOCSTRING(readlink)
+
+
+@node mkdir
+@unnumberedsec mkdir
+@DOCSTRING(mkdir)
+
+
+@node rmdir
+@unnumberedsec rmdir
+@DOCSTRING(rmdir)
+
+
+@node confirm_recursive_rmdir
+@unnumberedsec confirm_recursive_rmdir
+@DOCSTRING(confirm_recursive_rmdir)
+
+
+@node mkfifo
+@unnumberedsec mkfifo
+@DOCSTRING(mkfifo)
+
+
+@node umask
+@unnumberedsec umask
+@DOCSTRING(umask)
+
+
+@node stat
+@unnumberedsec stat
+@DOCSTRING(stat)
+
+
+@node S_ISBLK
+@unnumberedsec S_ISBLK
+@DOCSTRING(S_ISBLK)
+
+
+@node S_ISCHR
+@unnumberedsec S_ISCHR
+@DOCSTRING(S_ISCHR)
+
+
+@node S_ISDIR
+@unnumberedsec S_ISDIR
+@DOCSTRING(S_ISDIR)
+
+
+@node S_ISFIFO
+@unnumberedsec S_ISFIFO
+@DOCSTRING(S_ISFIFO)
+
+
+@node S_ISLNK
+@unnumberedsec S_ISLNK
+@DOCSTRING(S_ISLNK)
+
+
+@node S_ISREG
+@unnumberedsec S_ISREG
+@DOCSTRING(S_ISREG)
+
+
+@node S_ISSOCK
+@unnumberedsec S_ISSOCK
+@DOCSTRING(S_ISSOCK)
+
+
+@node fileattrib
+@unnumberedsec fileattrib
+@DOCSTRING(fileattrib)
+
+
+@node isfile
+@unnumberedsec isfile
+@DOCSTRING(isfile)
+
+
+@node isdir
+@unnumberedsec isdir
+@DOCSTRING(isdir)
+
+
+@node isfolder
+@unnumberedsec isfolder
+@DOCSTRING(isfolder)
+
+
+@node readdir
+@unnumberedsec readdir
+@DOCSTRING(readdir)
+
+
+@node glob
+@unnumberedsec glob
+@DOCSTRING(glob)
+
+
+@node file_in_path
+@unnumberedsec file_in_path
+@DOCSTRING(file_in_path)
+
+
+@node filesep
+@unnumberedsec filesep
+@DOCSTRING(filesep)
+
+
+@node fileparts
+@unnumberedsec fileparts
+@DOCSTRING(fileparts)
+
+
+@node fullfile
+@unnumberedsec fullfile
+@DOCSTRING(fullfile)
+
+
+@node tilde_expand
+@unnumberedsec tilde_expand
+@DOCSTRING(tilde_expand)
+
+
+@node canonicalize_file_name
+@unnumberedsec canonicalize_file_name
+@DOCSTRING(canonicalize_file_name)
+
+
+@node make_absolute_filename
+@unnumberedsec make_absolute_filename
+@DOCSTRING(make_absolute_filename)
+
+
+@node is_absolute_filename
+@unnumberedsec is_absolute_filename
+@DOCSTRING(is_absolute_filename)
+
+
+@node is_same_file
+@unnumberedsec is_same_file
+@DOCSTRING(is_same_file)
+
+
+@node is_rooted_relative_filename
+@unnumberedsec is_rooted_relative_filename
+@DOCSTRING(is_rooted_relative_filename)
+
+
+@node recycle
+@unnumberedsec recycle
+@DOCSTRING(recycle)
+
+
+@node bunzip2
+@unnumberedsec bunzip2
+@DOCSTRING(bunzip2)
+
+
+@node gzip
+@unnumberedsec gzip
+@DOCSTRING(gzip)
+
+
+@node gunzip
+@unnumberedsec gunzip
+@DOCSTRING(gunzip)
+
+
+@node tar
+@unnumberedsec tar
+@DOCSTRING(tar)
+
+
+@node untar
+@unnumberedsec untar
+@DOCSTRING(untar)
+
+
+@node zip
+@unnumberedsec zip
+@DOCSTRING(zip)
+
+
+@node unzip
+@unnumberedsec unzip
+@DOCSTRING(unzip)
+
+
+@node unpack
+@unnumberedsec unpack
+@DOCSTRING(unpack)
+
+
+@node bzip2
+@unnumberedsec bzip2
+@DOCSTRING(bzip2)
+
+
+@node gethostname
+@unnumberedsec gethostname
+@DOCSTRING(gethostname)
+
+
+@node @@ftp/ftp
+@unnumberedsec @@ftp/ftp
+@DOCSTRING(@ftp/ftp)
+
+
+@node @@ftp/close
+@unnumberedsec @@ftp/close
+@DOCSTRING(@ftp/close)
+
+
+@node @@ftp/mget
+@unnumberedsec @@ftp/mget
+@DOCSTRING(@ftp/mget)
+
+
+@node @@ftp/mput
+@unnumberedsec @@ftp/mput
+@DOCSTRING(@ftp/mput)
+
+
+@node @@ftp/cd
+@unnumberedsec @@ftp/cd
+@DOCSTRING(@ftp/cd)
+
+
+@node @@ftp/dir
+@unnumberedsec @@ftp/dir
+@DOCSTRING(@ftp/dir)
+
+
+@node @@ftp/ascii
+@unnumberedsec @@ftp/ascii
+@DOCSTRING(@ftp/ascii)
+
+
+@node @@ftp/binary
+@unnumberedsec @@ftp/binary
+@DOCSTRING(@ftp/binary)
+
+
+@node @@ftp/delete
+@unnumberedsec @@ftp/delete
+@DOCSTRING(@ftp/delete)
+
+
+@node @@ftp/rename
+@unnumberedsec @@ftp/rename
+@DOCSTRING(@ftp/rename)
+
+
+@node @@ftp/mkdir
+@unnumberedsec @@ftp/mkdir
+@DOCSTRING(@ftp/mkdir)
+
+
+@node @@ftp/rmdir
+@unnumberedsec @@ftp/rmdir
+@DOCSTRING(@ftp/rmdir)
+
+
+@node web
+@unnumberedsec web
+@DOCSTRING(web)
+
+
+@node urlread
+@unnumberedsec urlread
+@DOCSTRING(urlread)
+
+
+@node urlwrite
+@unnumberedsec urlwrite
+@DOCSTRING(urlwrite)
+
+
+@node webread
+@unnumberedsec webread
+@DOCSTRING(webread)
+
+
+@node webwrite
+@unnumberedsec webwrite
+@DOCSTRING(webwrite)
+
+
+@node weboptions
+@unnumberedsec weboptions
+@DOCSTRING(weboptions)
+
+
+@node base64_encode
+@unnumberedsec base64_encode
+@DOCSTRING(base64_encode)
+
+
+@node base64_decode
+@unnumberedsec base64_decode
+@DOCSTRING(base64_decode)
+
+
+@node matlab_net_base64encode
+@unnumberedsec matlab.net.base64encode
+@DOCSTRING(matlab.net.base64encode)
+
+
+@node matlab_net_base64decode
+@unnumberedsec matlab.net.base64decode
+@DOCSTRING(matlab.net.base64decode)
+
+
+@node system
+@unnumberedsec system
+@DOCSTRING(system)
+
+
+@node unix
+@unnumberedsec unix
+@DOCSTRING(unix)
+
+
+@node dos
+@unnumberedsec dos
+@DOCSTRING(dos)
+
+
+@node open
+@unnumberedsec open
+@DOCSTRING(open)
+
+
+@node perl
+@unnumberedsec perl
+@DOCSTRING(perl)
+
+
+@node python
+@unnumberedsec python
+@DOCSTRING(python)
+
+
+@node popen
+@unnumberedsec popen
+@DOCSTRING(popen)
+
+
+@node pclose
+@unnumberedsec pclose
+@DOCSTRING(pclose)
+
+
+@node popen2
+@unnumberedsec popen2
+@DOCSTRING(popen2)
+
+
+@node EXEC_PATH
+@unnumberedsec EXEC_PATH
+@DOCSTRING(EXEC_PATH)
+
+
+@node fork
+@unnumberedsec fork
+@DOCSTRING(fork)
+
+
+@node exec
+@unnumberedsec exec
+@DOCSTRING(exec)
+
+
+@node pipe
+@unnumberedsec pipe
+@DOCSTRING(pipe)
+
+
+@node dup2
+@unnumberedsec dup2
+@DOCSTRING(dup2)
+
+
+@node waitpid
+@unnumberedsec waitpid
+@DOCSTRING(waitpid)
+
+
+@node WCONTINUE
+@unnumberedsec WCONTINUE
+@DOCSTRING(WCONTINUE)
+
+
+@node WCOREDUMP
+@unnumberedsec WCOREDUMP
+@DOCSTRING(WCOREDUMP)
+
+
+@node WEXITSTATUS
+@unnumberedsec WEXITSTATUS
+@DOCSTRING(WEXITSTATUS)
+
+
+@node WIFCONTINUED
+@unnumberedsec WIFCONTINUED
+@DOCSTRING(WIFCONTINUED)
+
+
+@node WIFSIGNALED
+@unnumberedsec WIFSIGNALED
+@DOCSTRING(WIFSIGNALED)
+
+
+@node WIFSTOPPED
+@unnumberedsec WIFSTOPPED
+@DOCSTRING(WIFSTOPPED)
+
+
+@node WIFEXITED
+@unnumberedsec WIFEXITED
+@DOCSTRING(WIFEXITED)
+
+
+@node WNOHANG
+@unnumberedsec WNOHANG
+@DOCSTRING(WNOHANG)
+
+
+@node WSTOPSIG
+@unnumberedsec WSTOPSIG
+@DOCSTRING(WSTOPSIG)
+
+
+@node WTERMSIG
+@unnumberedsec WTERMSIG
+@DOCSTRING(WTERMSIG)
+
+
+@node WUNTRACED
+@unnumberedsec WUNTRACED
+@DOCSTRING(WUNTRACED)
+
+
+@node fcntl
+@unnumberedsec fcntl
+@DOCSTRING(fcntl)
+
+
+@node kill
+@unnumberedsec kill
+@DOCSTRING(kill)
+
+
+@node SIG
+@unnumberedsec SIG
+@DOCSTRING(SIG)
+
+
+@node getpgrp
+@unnumberedsec getpgrp
+@DOCSTRING(getpgrp)
+
+
+@node getpid
+@unnumberedsec getpid
+@DOCSTRING(getpid)
+
+
+@node getppid
+@unnumberedsec getppid
+@DOCSTRING(getppid)
+
+
+@node geteuid
+@unnumberedsec geteuid
+@DOCSTRING(geteuid)
+
+
+@node getuid
+@unnumberedsec getuid
+@DOCSTRING(getuid)
+
+
+@node getegid
+@unnumberedsec getegid
+@DOCSTRING(getegid)
+
+
+@node getgid
+@unnumberedsec getgid
+@DOCSTRING(getgid)
+
+
+@node getenv
+@unnumberedsec getenv
+@DOCSTRING(getenv)
+
+
+@node setenv
+@unnumberedsec setenv
+@DOCSTRING(setenv)
+
+
+@node unsetenv
+@unnumberedsec unsetenv
+@DOCSTRING(unsetenv)
+
+
+@node get_home_directory
+@unnumberedsec get_home_directory
+@DOCSTRING(get_home_directory)
+
+
+@node cd
+@unnumberedsec cd
+@DOCSTRING(cd)
+
+
+@node ls
+@unnumberedsec ls
+@DOCSTRING(ls)
+
+
+@node ls_command
+@unnumberedsec ls_command
+@DOCSTRING(ls_command)
+
+
+@node dir
+@unnumberedsec dir
+@DOCSTRING(dir)
+
+
+@node pwd
+@unnumberedsec pwd
+@DOCSTRING(pwd)
+
+
+@node getpwent
+@unnumberedsec getpwent
+@DOCSTRING(getpwent)
+
+
+@node getpwuid
+@unnumberedsec getpwuid
+@DOCSTRING(getpwuid)
+
+
+@node getpwnam
+@unnumberedsec getpwnam
+@DOCSTRING(getpwnam)
+
+
+@node setpwent
+@unnumberedsec setpwent
+@DOCSTRING(setpwent)
+
+
+@node endpwent
+@unnumberedsec endpwent
+@DOCSTRING(endpwent)
+
+
+@node getgrent
+@unnumberedsec getgrent
+@DOCSTRING(getgrent)
+
+
+@node getgrgid
+@unnumberedsec getgrgid
+@DOCSTRING(getgrgid)
+
+
+@node getgrnam
+@unnumberedsec getgrnam
+@DOCSTRING(getgrnam)
+
+
+@node setgrent
+@unnumberedsec setgrent
+@DOCSTRING(setgrent)
+
+
+@node endgrent
+@unnumberedsec endgrent
+@DOCSTRING(endgrent)
+
+
+@node computer
+@unnumberedsec computer
+@DOCSTRING(computer)
+
+
+@node uname
+@unnumberedsec uname
+@DOCSTRING(uname)
+
+
+@node nproc
+@unnumberedsec nproc
+@DOCSTRING(nproc)
+
+
+@node ispc
+@unnumberedsec ispc
+@DOCSTRING(ispc)
+
+
+@node isunix
+@unnumberedsec isunix
+@DOCSTRING(isunix)
+
+
+@node ismac
+@unnumberedsec ismac
+@DOCSTRING(ismac)
+
+
+@node isieee
+@unnumberedsec isieee
+@DOCSTRING(isieee)
+
+
+@node isdeployed
+@unnumberedsec isdeployed
+@DOCSTRING(isdeployed)
+
+
+@node isstudent
+@unnumberedsec isstudent
+@DOCSTRING(isstudent)
+
+
+@node OCTAVE_HOME
+@unnumberedsec OCTAVE_HOME
+@DOCSTRING(OCTAVE_HOME)
+
+
+@node OCTAVE_EXEC_HOME
+@unnumberedsec OCTAVE_EXEC_HOME
+@DOCSTRING(OCTAVE_EXEC_HOME)
+
+
+@node matlabroot
+@unnumberedsec matlabroot
+@DOCSTRING(matlabroot)
+
+
+@node OCTAVE_VERSION
+@unnumberedsec OCTAVE_VERSION
+@DOCSTRING(OCTAVE_VERSION)
+
+
+@node version
+@unnumberedsec version
+@DOCSTRING(version)
+
+
+@node ver
+@unnumberedsec ver
+@DOCSTRING(ver)
+
+
+@node compare_versions
+@unnumberedsec compare_versions
+@DOCSTRING(compare_versions)
+
+
+@node verLessThan
+@unnumberedsec verLessThan
+@DOCSTRING(verLessThan)
+
+
+@node license
+@unnumberedsec license
+@DOCSTRING(license)
+
+
+@node memory
+@unnumberedsec memory
+@DOCSTRING(memory)
+
+
+@node getrusage
+@unnumberedsec getrusage
+@DOCSTRING(getrusage)
+
+
+@node winqueryreg
+@unnumberedsec winqueryreg
+@DOCSTRING(winqueryreg)
+
+
+@node hash
+@unnumberedsec hash
+@DOCSTRING(hash)
+
+
+@node pkg
+@unnumberedsec pkg
+@DOCSTRING(pkg)
+
+
+@node missing_component_hook
+@unnumberedsec missing_component_hook
+@DOCSTRING(missing_component_hook)
+
+
+@node mkoctfile
+@unnumberedsec mkoctfile
+@DOCSTRING(mkoctfile)
+
+
+@node mex
+@unnumberedsec mex
+@DOCSTRING(mex)
+
+
+@node mexext
+@unnumberedsec mexext
+@DOCSTRING(mexext)
+
+
+@node javaObject
+@unnumberedsec javaObject
+@DOCSTRING(javaObject)
+
+
+@node javaArray
+@unnumberedsec javaArray
+@DOCSTRING(javaArray)
+
+
+@node isjava
+@unnumberedsec isjava
+@DOCSTRING(isjava)
+
+
+@node java_get
+@unnumberedsec java_get
+@DOCSTRING(java_get)
+
+
+@node java_set
+@unnumberedsec java_set
+@DOCSTRING(java_set)
+
+
+@node javaMethod
+@unnumberedsec javaMethod
+@DOCSTRING(javaMethod)
+
+
+@node javaclasspath
+@unnumberedsec javaclasspath
+@DOCSTRING(javaclasspath)
+
+
+@node javaaddpath
+@unnumberedsec javaaddpath
+@DOCSTRING(javaaddpath)
+
+
+@node javarmpath
+@unnumberedsec javarmpath
+@DOCSTRING(javarmpath)
+
+
+@node javachk
+@unnumberedsec javachk
+@DOCSTRING(javachk)
+
+
+@node usejava
+@unnumberedsec usejava
+@DOCSTRING(usejava)
+
+
+@node javamem
+@unnumberedsec javamem
+@DOCSTRING(javamem)
+
+
+@node java_matrix_autoconversion
+@unnumberedsec java_matrix_autoconversion
+@DOCSTRING(java_matrix_autoconversion)
+
+
+@node java_unsigned_autoconversion
+@unnumberedsec java_unsigned_autoconversion
+@DOCSTRING(java_unsigned_autoconversion)
+
+
+@node debug_java
+@unnumberedsec debug_java
+@DOCSTRING(debug_java)
+
+
+@node test
+@unnumberedsec test
+@DOCSTRING(test)
+
+
+@node assert
+@unnumberedsec assert
+@DOCSTRING(assert)
+
+
+@node fail
+@unnumberedsec fail
+@DOCSTRING(fail)
+
+
+@node demo
+@unnumberedsec demo
+@DOCSTRING(demo)
+
+
+@node example
+@unnumberedsec example
+@DOCSTRING(example)
+
+
+@node oruntests
+@unnumberedsec oruntests
+@DOCSTRING(oruntests)
+
+
+@node rundemos
+@unnumberedsec rundemos
+@DOCSTRING(rundemos)
+
+
+@node speed
+@unnumberedsec speed
+@DOCSTRING(speed)
+
+
+@node iskeyword
+@unnumberedsec iskeyword
+@DOCSTRING(iskeyword)
+
+
+@node add_input_event_hook
+@unnumberedsec add_input_event_hook
+@DOCSTRING(add_input_event_hook)
+
+
+@node remove_input_event_hook
+@unnumberedsec remove_input_event_hook
+@DOCSTRING(remove_input_event_hook)
+
+
+@node missing_function_hook
+@unnumberedsec missing_function_hook
+@DOCSTRING(missing_function_hook)
+
+
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/set.txi
--- a/doc/interpreter/set.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/set.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -26,9 +26,9 @@
 However, it isn't necessary to explicitly create a set as all of the functions
 which operate on sets will convert their input to a set before proceeding.
 
-@DOCSTRING(unique)
+@ref{XREFunique, , @code{unique}}: Return the unique elements of X.
 
-@DOCSTRING(uniquetol)
+@ref{XREFuniquetol, , @code{uniquetol}}: Return the unique elements of A within tolerance TOL.
 
 @menu
 * Set Operations::
@@ -57,14 +57,15 @@
 efficient and is of order O(log2(n)) which is preferable to the @code{find}
 function which is of order O(n).
 
-@DOCSTRING(intersect)
+@ref{XREFintersect, , @code{intersect}}: Return the unique elements common to both A and B.
 
-@DOCSTRING(union)
+@ref{XREFunion, , @code{union}}: Return the unique elements that are in either A or B.
 
-@DOCSTRING(setdiff)
+@ref{XREFsetdiff, , @code{setdiff}}: Return the unique elements in A that are not in B.
 
-@DOCSTRING(setxor)
+@ref{XREFsetxor, , @code{setxor}}: Return the unique elements exclusive to sets A or B.
 
-@DOCSTRING(ismember)
+@ref{XREFismember, , @code{ismember}}: Return a logical matrix TF with the same shape as A which is true (1) if
+the ...
 
-@DOCSTRING(powerset)
+@ref{XREFpowerset, , @code{powerset}}: Compute the powerset (all subsets) of the set A.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/signal.txi
--- a/doc/interpreter/signal.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/signal.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -24,17 +24,23 @@
 computed with the @sc{fftw} or @sc{fftpack} libraries depending on how
 Octave is built.
 
-@DOCSTRING(fft)
+@ref{XREFfft, , @code{fft}}: Compute the discrete Fourier transform of X using a Fast Fourier
+Transform (F...
 
-@DOCSTRING(ifft)
+@ref{XREFifft, , @code{ifft}}: Compute the inverse discrete Fourier transform of X using a Fast Fourier
+Tran...
 
-@DOCSTRING(fft2)
+@ref{XREFfft2, , @code{fft2}}: Compute the two-dimensional discrete Fourier transform of A using a Fast
+Four...
 
-@DOCSTRING(ifft2)
+@ref{XREFifft2, , @code{ifft2}}: Compute the inverse two-dimensional discrete Fourier transform of A
+using a F...
 
-@DOCSTRING(fftn)
+@ref{XREFfftn, , @code{fftn}}: Compute the N-dimensional discrete Fourier transform of A using a Fast
+Fourie...
 
-@DOCSTRING(ifftn)
+@ref{XREFifftn, , @code{ifftn}}: Compute the inverse N-dimensional discrete Fourier transform of A using
+a Fas...
 
 Octave uses the @sc{fftw} libraries to perform FFT computations.  When Octave
 starts up and initializes the @sc{fftw} libraries, they read a system wide
@@ -48,74 +54,93 @@
 (@command{fftw-wisdom} on Unix systems), you can even add wisdom
 generated by Octave to the system-wide wisdom file.
 
-@DOCSTRING(fftw)
+@ref{XREFfftw, , @code{fftw}}: Manage FFTW wisdom data.
 
-@DOCSTRING(fftconv)
+@ref{XREFfftconv, , @code{fftconv}}: Convolve two vectors using the FFT for computation.
 
-@DOCSTRING(fftfilt)
+@ref{XREFfftfilt, , @code{fftfilt}}: Filter X with the FIR filter B using the FFT.
 
-@DOCSTRING(filter)
+@ref{XREFfilter, , @code{filter}}: Apply a 1-D digital filter to the data X.
+
+@ref{XREFfilter2, , @code{filter2}}: Apply the 2-D FIR filter B to X.
 
-@DOCSTRING(filter2)
+@ref{XREFfreqz, , @code{freqz}}: Return the complex frequency response H of the rational IIR filter whose
+nume...
 
-@DOCSTRING(freqz)
+@ref{XREFfreqz_plot, , @code{freqz_plot}}: Plot the magnitude and phase response of H.
 
-@DOCSTRING(freqz_plot)
+@ref{XREFsinc, , @code{sinc}}: Compute the sinc function.
 
-@DOCSTRING(sinc)
-
-@DOCSTRING(unwrap)
+@ref{XREFunwrap, , @code{unwrap}}: Unwrap radian phases by adding or subtracting multiples of 2*pi as
+appropriat...
 
 @c FIXME: someone needs to organize these ...
 
-@DOCSTRING(arch_fit)
+@ref{XREFarch_fit, , @code{arch_fit}}: Fit an ARCH regression model to the time series Y using the scoring
+algorithm...
 
-@DOCSTRING(arch_rnd)
+@ref{XREFarch_rnd, , @code{arch_rnd}}: Simulate an ARCH sequence of length T with AR coefficients B and CH
+coefficie...
 
-@DOCSTRING(arch_test)
+@ref{XREFarch_test, , @code{arch_test}}: For a linear regression model
 
-@DOCSTRING(arma_rnd)
+@ref{XREFarma_rnd, , @code{arma_rnd}}: Return a simulation of the ARMA model.
 
-@DOCSTRING(autoreg_matrix)
+@ref{XREFautoreg_matrix, , @code{autoreg_matrix}}: Given a time series (vector) Y, return a matrix with ones in the first
+column...
 
-@DOCSTRING(bartlett)
+@ref{XREFbartlett, , @code{bartlett}}: Return the filter coefficients of a Bartlett (triangular) window of
+length M.
 
-@DOCSTRING(blackman)
+@ref{XREFblackman, , @code{blackman}}: Return the filter coefficients of a Blackman window of length M.
 
-@DOCSTRING(detrend)
+@ref{XREFdetrend, , @code{detrend}}: If X is a vector, 'detrend (X, P)' removes the best fit of a polynomial
+of or...
 
-@DOCSTRING(diffpara)
+@ref{XREFdiffpara, , @code{diffpara}}: Return the estimator D for the differencing parameter of an integrated
+time s...
 
-@DOCSTRING(durbinlevinson)
+@ref{XREFdurbinlevinson, , @code{durbinlevinson}}: Perform one step of the Durbin-Levinson algorithm.
 
-@DOCSTRING(fftshift)
+@ref{XREFfftshift, , @code{fftshift}}: Perform a shift of the vector X, for use with the 'fft' and 'ifft'
+functions,...
 
-@DOCSTRING(ifftshift)
+@ref{XREFifftshift, , @code{ifftshift}}: Undo the action of the 'fftshift' function.
 
-@DOCSTRING(fractdiff)
+@ref{XREFfractdiff, , @code{fractdiff}}: Compute the fractional differences (1-L)^d x where L denotes the
+lag-operator...
 
-@DOCSTRING(hamming)
+@ref{XREFhamming, , @code{hamming}}: Return the filter coefficients of a Hamming window of length M.
 
-@DOCSTRING(hanning)
+@ref{XREFhanning, , @code{hanning}}: Return the filter coefficients of a Hanning window of length M.
 
-@DOCSTRING(hurst)
+@ref{XREFhurst, , @code{hurst}}: Estimate the Hurst parameter of sample X via the rescaled range
+statistic.
 
-@DOCSTRING(pchip)
+@ref{XREFpchip, , @code{pchip}}: Return the Piecewise Cubic Hermite Interpolating Polynomial (pchip) of
+points...
 
-@DOCSTRING(periodogram)
+@ref{XREFperiodogram, , @code{periodogram}}: Return the periodogram (Power Spectral Density) of X.
 
-@DOCSTRING(sinetone)
+@ref{XREFsinetone, , @code{sinetone}}: Return a sinetone of frequency FREQ with a length of SEC seconds at
+sampling ...
 
-@DOCSTRING(sinewave)
+@ref{XREFsinewave, , @code{sinewave}}: Return an M-element vector with I-th element given by 'sin (2 * pi *
+(I+D-1) ...
 
-@DOCSTRING(spectral_adf)
+@ref{XREFspectral_adf, , @code{spectral_adf}}: Return the spectral density estimator given a vector of autocovariances
+C, wi...
 
-@DOCSTRING(spectral_xdf)
+@ref{XREFspectral_xdf, , @code{spectral_xdf}}: Return the spectral density estimator given a data vector X, window name
+WIN,...
 
-@DOCSTRING(spencer)
+@ref{XREFspencer, , @code{spencer}}: Return Spencer's 15-point moving average of each column of X.
 
-@DOCSTRING(stft)
+@ref{XREFstft, , @code{stft}}: Compute the short-time Fourier transform of the vector X with NUM_COEF
+coeffi...
 
-@DOCSTRING(synthesis)
+@ref{XREFsynthesis, , @code{synthesis}}: Compute a signal from its short-time Fourier transform Y and a 3-element
+vect...
 
-@DOCSTRING(yulewalker)
+@ref{XREFyulewalker, , @code{yulewalker}}: Fit an AR (p)-model with Yule-Walker estimates given a vector C of
+autocovari...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/sparse.txi
--- a/doc/interpreter/sparse.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/sparse.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -221,17 +221,17 @@
 creates a sparse (@var{n}+1)-by-(@var{n}+1) sparse matrix with a single
 diagonal defined.
 
-@DOCSTRING(spdiags)
+@ref{XREFspdiags, , @code{spdiags}}: A generalization of the function 'diag'.
 
-@DOCSTRING(speye)
+@ref{XREFspeye, , @code{speye}}: Return a sparse identity matrix of size MxN.
 
-@DOCSTRING(spones)
+@ref{XREFspones, , @code{spones}}: Replace the nonzero entries of S with ones.
 
-@DOCSTRING(sprand)
+@ref{XREFsprand, , @code{sprand}}: Generate a sparse matrix with uniformly distributed random values.
 
-@DOCSTRING(sprandn)
+@ref{XREFsprandn, , @code{sprandn}}: Generate a sparse matrix with normally distributed random values.
 
-@DOCSTRING(sprandsym)
+@ref{XREFsprandsym, , @code{sprandsym}}: Generate a symmetric random sparse matrix.
 
 The recommended way for the user to create a sparse matrix, is to create
 two vectors containing the row and column index of the data and a third
@@ -297,13 +297,17 @@
 as much as possible to minimize the number of assignments and reduce the
 number of memory allocations.
 
-@DOCSTRING(full)
+@ref{XREFfull, , @code{full}}: Return a full storage matrix from a sparse, diagonal, or permutation
+matrix, ...
 
-@DOCSTRING(spalloc)
+@ref{XREFspalloc, , @code{spalloc}}: Create an M-by-N sparse matrix with pre-allocated space for at most NZ
+nonzer...
 
-@DOCSTRING(sparse)
+@ref{XREFsparse, , @code{sparse}}: Create a sparse matrix from a full matrix, or row, column, value
+triplets.
 
-@DOCSTRING(spconvert)
+@ref{XREFspconvert, , @code{spconvert}}: Convert a simple sparse matrix format easily generated by other programs
+into...
 
 The above problem of memory reallocation can be avoided in
 oct-files.  However, the construction of a sparse matrix from an oct-file
@@ -329,15 +333,15 @@
 the columns of a sparse matrix including the number of elements, the
 mean and the variance of each column.
 
-@DOCSTRING(issparse)
+@ref{XREFissparse, , @code{issparse}}: Return true if X is a sparse matrix.
 
-@DOCSTRING(nnz)
+@ref{XREFnnz, , @code{nnz}}: Return the number of nonzero elements in A.
 
-@DOCSTRING(nonzeros)
+@ref{XREFnonzeros, , @code{nonzeros}}: Return a column vector of the nonzero values of the matrix A.
 
-@DOCSTRING(nzmax)
+@ref{XREFnzmax, , @code{nzmax}}: Return the amount of storage allocated to the sparse matrix SM.
 
-@DOCSTRING(spstats)
+@ref{XREFspstats, , @code{spstats}}: Return the stats for the nonzero elements of the sparse matrix S.
 
 When solving linear equations involving sparse matrices Octave
 determines the means to solve the equation based on the type of the
@@ -426,17 +430,17 @@
 graphically by the command @code{treeplot (etree (A))} if @code{A} is
 symmetric or @code{treeplot (etree (A+A'))} otherwise.
 
-@DOCSTRING(spy)
+@ref{XREFspy, , @code{spy}}: Plot the sparsity pattern of the sparse matrix X.
 
-@DOCSTRING(etree)
+@ref{XREFetree, , @code{etree}}: Return the elimination tree for the matrix S.
 
-@DOCSTRING(etreeplot)
+@ref{XREFetreeplot, , @code{etreeplot}}: Plot the elimination tree of the matrix A or A+A' if A in not symmetric.
 
-@DOCSTRING(gplot)
+@ref{XREFgplot, , @code{gplot}}: Plot a graph defined by A and XY in the graph theory sense.
 
-@DOCSTRING(treeplot)
+@ref{XREFtreeplot, , @code{treeplot}}: Produce a graph of tree or forest.
 
-@DOCSTRING(treelayout)
+@ref{XREFtreelayout, , @code{treelayout}}: treelayout lays out a tree or a forest.
 
 @node Operators and Functions
 @subsection Basic Operators and Functions on Sparse Matrices
@@ -561,7 +565,8 @@
 always returns a sparse matrix, even if the memory used will be larger
 than its full representation.
 
-@DOCSTRING(sparse_auto_mutate)
+@ref{XREFsparse_auto_mutate, , @code{sparse_auto_mutate}}: Query or set the internal variable that controls whether Octave will
+automati...
 
 Note that the @code{sparse_auto_mutate} option is incompatible with
 @sc{matlab}, and so it is off by default.
@@ -719,21 +724,24 @@
 and ldiv (\) operators, and so no the user does not need to explicitly
 reorder the matrix to maximize performance.
 
-@DOCSTRING(amd)
+@ref{XREFamd, , @code{amd}}: Return the approximate minimum degree permutation of a matrix.
 
-@DOCSTRING(ccolamd)
+@ref{XREFccolamd, , @code{ccolamd}}: Constrained column approximate minimum degree permutation.
 
-@DOCSTRING(colamd)
+@ref{XREFcolamd, , @code{colamd}}: Compute the column approximate minimum degree permutation.
 
-@DOCSTRING(colperm)
+@ref{XREFcolperm, , @code{colperm}}: Return the column permutations such that the columns of 'S(:, P)' are
+ordered...
 
-@DOCSTRING(csymamd)
+@ref{XREFcsymamd, , @code{csymamd}}: For a symmetric positive definite matrix S, return the permutation
+vector P s...
 
-@DOCSTRING(dmperm)
+@ref{XREFdmperm, , @code{dmperm}}: Perform a Dulmage-Mendelsohn permutation of the sparse matrix A.
 
-@DOCSTRING(symamd)
+@ref{XREFsymamd, , @code{symamd}}: For a symmetric positive definite matrix S, returns the permutation
+vector p ...
 
-@DOCSTRING(symrcm)
+@ref{XREFsymrcm, , @code{symrcm}}: Return the symmetric reverse Cuthill-McKee permutation of S.
 
 @node Sparse Linear Algebra
 @section Linear Algebra on Sparse Matrices
@@ -828,31 +836,34 @@
 will lead to unpredictable results, and so @code{matrix_type} should be
 used with care.
 
-@DOCSTRING(normest)
+@ref{XREFnormest, , @code{normest}}: Estimate the 2-norm of the matrix A using a power series analysis.
 
-@DOCSTRING(normest1)
+@ref{XREFnormest1, , @code{normest1}}: Estimate the 1-norm of the matrix A using a block algorithm.
 
-@DOCSTRING(condest)
+@ref{XREFcondest, , @code{condest}}: Estimate the 1-norm condition number of a square matrix A using T test
+vector...
 
-@DOCSTRING(spparms)
+@ref{XREFspparms, , @code{spparms}}: Query or set the parameters used by the sparse solvers and factorization
+func...
 
-@DOCSTRING(sprank)
+@ref{XREFsprank, , @code{sprank}}: Calculate the structural rank of the sparse matrix S.
 
-@DOCSTRING(symbfact)
+@ref{XREFsymbfact, , @code{symbfact}}: Perform a symbolic factorization analysis of the sparse matrix S.
 
 For non square matrices, the user can also utilize the @code{spaugment}
 function to find a least squares solution to a linear equation.
 
-@DOCSTRING(spaugment)
+@ref{XREFspaugment, , @code{spaugment}}: Create the augmented matrix of A.
 
 Finally, the function @code{eigs} can be used to calculate a limited
 number of eigenvalues and eigenvectors based on a selection criteria
 and likewise for @code{svds} which calculates a limited number of
 singular values and vectors.
 
-@DOCSTRING(eigs)
+@ref{XREFeigs, , @code{eigs}}: Calculate a limited number of eigenvalues and eigenvectors based on a
+selecti...
 
-@DOCSTRING(svds)
+@ref{XREFsvds, , @code{svds}}: Find a few singular values of the matrix A.
 
 @node Iterative Techniques
 @section Iterative Techniques Applied to Sparse Matrices
@@ -863,9 +874,11 @@
 @code{@var{x} = @var{b} / @var{A}}.  Octave also includes a number of
 functions to solve sparse linear equations using iterative techniques.
 
-@DOCSTRING(pcg)
+@ref{XREFpcg, , @code{pcg}}: Solve the linear system of equations 'A * X = B' by means of the
+Precondition...
 
-@DOCSTRING(pcr)
+@ref{XREFpcr, , @code{pcr}}: Solve the linear system of equations 'A * X = B' by means of the
+Precondition...
 
 The speed with which an iterative solver converges to a solution can be
 accelerated with the use of a pre-conditioning matrix @var{M}.  In this
@@ -873,9 +886,10 @@
 @var{A} \ @var{b}} is solved instead.  Typical pre-conditioning matrices
 are partial factorizations of the original matrix.
 
-@DOCSTRING(ichol)
+@ref{XREFichol, , @code{ichol}}: Compute the incomplete Cholesky factorization of the sparse square
+matrix A.
 
-@DOCSTRING(ilu)
+@ref{XREFilu, , @code{ilu}}: Compute the incomplete LU factorization of the sparse square matrix A.
 
 @node Real Life Example
 @section Real Life Example using Sparse Matrices
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/stats.txi
--- a/doc/interpreter/stats.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/stats.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -62,28 +62,30 @@
 which all summarize a data set with just a single number corresponding to
 the central tendency of the data.
 
-@DOCSTRING(mean)
+@ref{XREFmean, , @code{mean}}: Compute the mean of the elements of the vector X.
 
-@DOCSTRING(median)
+@ref{XREFmedian, , @code{median}}: Compute the median value of the elements of the vector X.
 
-@DOCSTRING(mode)
+@ref{XREFmode, , @code{mode}}: Compute the most frequently occurring value in a dataset (mode).
 
 Using just one number, such as the mean, to represent an entire data set may
 not give an accurate picture of the data.  One way to characterize the fit is
 to measure the dispersion of the data.  Octave provides several functions for
 measuring dispersion.
 
-@DOCSTRING(bounds)
+@ref{XREFbounds, , @code{bounds}}: Return the smallest and largest values of the input data X.
 
-@DOCSTRING(range)
-
-@DOCSTRING(iqr)
+@ref{XREFrange, , @code{range}}: Return the range, i.e., the difference between the maximum and the
+minimum of...
 
-@DOCSTRING(mad)
+@ref{XREFiqr, , @code{iqr}}: Return the interquartile range, i.e., the difference between the upper
+and lo...
 
-@DOCSTRING(meansq)
+@ref{XREFmad, , @code{mad}}: Compute the mean or median absolute deviation of the elements of X.
 
-@DOCSTRING(std)
+@ref{XREFmeansq, , @code{meansq}}: Compute the mean square of the elements of the vector X.
+
+@ref{XREFstd, , @code{std}}: Compute the standard deviation of the elements of the vector X.
 
 In addition to knowing the size of a dispersion it is useful to know the shape
 of the data set.  For example, are data points massed to the left or right
@@ -91,22 +93,25 @@
 of the data set.  Octave can also calculate moments allowing arbitrary shape
 measures to be developed.
 
-@DOCSTRING(var)
+@ref{XREFvar, , @code{var}}: Compute the variance of the elements of the vector X.
 
-@DOCSTRING(skewness)
+@ref{XREFskewness, , @code{skewness}}: Compute the sample skewness of the elements of X.
 
-@DOCSTRING(kurtosis)
+@ref{XREFkurtosis, , @code{kurtosis}}: Compute the sample kurtosis of the elements of X.
 
-@DOCSTRING(moment)
+@ref{XREFmoment, , @code{moment}}: Compute the P-th central moment of the vector X.
 
-@DOCSTRING(quantile)
+@ref{XREFquantile, , @code{quantile}}: For a sample, X, calculate the quantiles, Q, corresponding to the
+cumulative ...
 
-@DOCSTRING(prctile)
+@ref{XREFprctile, , @code{prctile}}: For a sample X, compute the quantiles, Q, corresponding to the
+cumulative pro...
 
 A summary view of a data set can be generated quickly with the
 @code{statistics} function.
 
-@DOCSTRING(statistics)
+@ref{XREFstatistics, , @code{statistics}}: Return a vector with the minimum, first quartile, median, third
+quartile, max...
 
 @node Statistics on Sliding Windows of Data
 @section Statistics on Sliding Windows of Data
@@ -118,27 +123,36 @@
 the moving average over a window of data (@code{movmean}), are already
 provided.
 
-@DOCSTRING(movfun)
+@ref{XREFmovfun, , @code{movfun}}: Apply function FCN to a moving window of length WLEN on data X.
 
-@DOCSTRING(movslice)
+@ref{XREFmovslice, , @code{movslice}}: Generate indices to slice a vector of length N in to windows of length
+WLEN.
 
-@DOCSTRING(movmad)
+@ref{XREFmovmad, , @code{movmad}}: Calculate the moving mean absolute deviation over a sliding window of
+length ...
 
-@DOCSTRING(movmax)
+@ref{XREFmovmax, , @code{movmax}}: Calculate the moving maximum over a sliding window of length WLEN on
+data X.
 
-@DOCSTRING(movmean)
+@ref{XREFmovmean, , @code{movmean}}: Calculate the moving average over a sliding window of length WLEN on
+data X.
 
-@DOCSTRING(movmedian)
+@ref{XREFmovmedian, , @code{movmedian}}: Calculate the moving median over a sliding window of length WLEN on data
+X.
 
-@DOCSTRING(movmin)
-
-@DOCSTRING(movprod)
+@ref{XREFmovmin, , @code{movmin}}: Calculate the moving minimum over a sliding window of length WLEN on
+data X.
 
-@DOCSTRING(movstd)
+@ref{XREFmovprod, , @code{movprod}}: Calculate the moving product over a sliding window of length WLEN on
+data X.
 
-@DOCSTRING(movsum)
+@ref{XREFmovstd, , @code{movstd}}: Calculate the moving standard deviation over a sliding window of length
+WLEN ...
 
-@DOCSTRING(movvar)
+@ref{XREFmovsum, , @code{movsum}}: Calculate the moving sum over a sliding window of length WLEN on data X.
+
+@ref{XREFmovvar, , @code{movvar}}: Calculate the moving variance over a sliding window of length WLEN on
+data X.
 
 @node Basic Statistical Functions
 @section Basic Statistical Functions
@@ -147,40 +161,43 @@
 initial steps to prepare a data set for further analysis.  Others provide
 different measures from those of the basic descriptive statistics.
 
-@DOCSTRING(center)
+@ref{XREFcenter, , @code{center}}: Center data by subtracting its mean.
 
-@DOCSTRING(zscore)
+@ref{XREFzscore, , @code{zscore}}: Compute the Z score of X.
 
-@DOCSTRING(histc)
+@ref{XREFhistc, , @code{histc}}: Compute histogram counts.
 
 @noindent
 @code{unique} function documented at @ref{XREFunique,,unique} is often
 useful for statistics.
 
-@DOCSTRING(nchoosek)
+@ref{XREFnchoosek, , @code{nchoosek}}: Compute the binomial coefficient of N or list all possible combinations
+of a ...
 
-@DOCSTRING(perms)
+@ref{XREFperms, , @code{perms}}: Generate all permutations of vector V with one row per permutation.
 
-@DOCSTRING(ranks)
+@ref{XREFranks, , @code{ranks}}: Return the ranks (in the sense of order statistics) of X along the first
+non-...
 
-@DOCSTRING(run_count)
+@ref{XREFrun_count, , @code{run_count}}: Count the upward runs along the first non-singleton dimension of X of
+length ...
 
-@DOCSTRING(runlength)
+@ref{XREFrunlength, , @code{runlength}}: Find the lengths of all sequences of common values.
 
 @node Correlation and Regression Analysis
 @section Correlation and Regression Analysis
 
 @c FIXME: Need Intro Here
 
-@DOCSTRING(cov)
+@ref{XREFcov, , @code{cov}}: Compute the covariance matrix.
 
-@DOCSTRING(corr)
+@ref{XREFcorr, , @code{corr}}: Compute matrix of correlation coefficients.
 
-@DOCSTRING(corrcoef)
+@ref{XREFcorrcoef, , @code{corrcoef}}: Compute a matrix of correlation coefficients.
 
-@DOCSTRING(spearman)
+@ref{XREFspearman, , @code{spearman}}: Compute Spearman's rank correlation coefficient RHO.
 
-@DOCSTRING(kendall)
+@ref{XREFkendall, , @code{kendall}}: Compute Kendall's TAU.
 
 @node Distributions
 @section Distributions
@@ -225,17 +242,23 @@
 @end multitable
 @end ifnottex
 
-@DOCSTRING(discrete_pdf)
+@ref{XREFdiscrete_pdf, , @code{discrete_pdf}}: For each element of X, compute the probability density function (PDF) at
+X of...
 
-@DOCSTRING(discrete_cdf)
+@ref{XREFdiscrete_cdf, , @code{discrete_cdf}}: For each element of X, compute the cumulative distribution function
+(CDF) at ...
 
-@DOCSTRING(discrete_inv)
+@ref{XREFdiscrete_inv, , @code{discrete_inv}}: For each element of X, compute the quantile (the inverse of the CDF) at
+X of ...
 
-@DOCSTRING(empirical_pdf)
+@ref{XREFempirical_pdf, , @code{empirical_pdf}}: For each element of X, compute the probability density function (PDF) at
+X of...
 
-@DOCSTRING(empirical_cdf)
+@ref{XREFempirical_cdf, , @code{empirical_cdf}}: For each element of X, compute the cumulative distribution function
+(CDF) at ...
 
-@DOCSTRING(empirical_inv)
+@ref{XREFempirical_inv, , @code{empirical_inv}}: For each element of X, compute the quantile (the inverse of the CDF) at
+X of ...
 
 @node Random Number Generation
 @section Random Number Generation
@@ -281,6 +304,8 @@
 @end multitable
 @end ifnottex
 
-@DOCSTRING(discrete_rnd)
+@ref{XREFdiscrete_rnd, , @code{discrete_rnd}}: Return a matrix of random samples from the univariate distribution which
+assu...
 
-@DOCSTRING(empirical_rnd)
+@ref{XREFempirical_rnd, , @code{empirical_rnd}}: Return a matrix of random samples from the empirical distribution
+obtained fr...
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/strings.txi
--- a/doc/interpreter/strings.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/strings.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -60,7 +60,7 @@
 The function @code{blanks} creates a string of a given length consisting only
 of blank characters (ASCII code 32).
 
-@DOCSTRING(blanks)
+@ref{XREFblanks, , @code{blanks}}: Return a string of N blanks.
 
 @menu
 * Escape Sequences in String Constants::
@@ -153,9 +153,9 @@
 In scripts the two different string types can be distinguished if necessary
 by using @code{is_dq_string} and @code{is_sq_string}.
 
-@DOCSTRING(is_dq_string)
+@ref{XREFis_dq_string, , @code{is_dq_string}}: Return true if X is a double-quoted character string.
 
-@DOCSTRING(is_sq_string)
+@ref{XREFis_sq_string, , @code{is_sq_string}}: Return true if X is a single-quoted character string.
 
 @node Character Arrays
 @section Character Arrays
@@ -182,9 +182,9 @@
 The function @code{ischar} can be used to test if an object is a character
 matrix.
 
-@DOCSTRING(ischar)
+@ref{XREFischar, , @code{ischar}}: Return true if X is a character array.
 
-@DOCSTRING(isstring)
+@ref{XREFisstring, , @code{isstring}}: Return true if S is a string array.
 
 To test if an object is a string (i.e., a @nospell{1xN} row vector of
 characters and not a character matrix) you can use the @code{ischar} function
@@ -209,12 +209,14 @@
 string.  It is possible to use a different character than the
 blank character using the @code{string_fill_char} function.
 
-@DOCSTRING(string_fill_char)
+@ref{XREFstring_fill_char, , @code{string_fill_char}}: Query or set the internal variable used to pad all rows of a character
+matrix...
 
 Another useful function to control the text justification in this case is
 the @code{strjust} function.
 
-@DOCSTRING(strjust)
+@ref{XREFstrjust, , @code{strjust}}: Return the text, S, justified according to POS, which may be "left",
+"center"...
 
 This shows a problem with character matrices.  It simply isn't possible to
 represent strings of different lengths.  The solution is to use a cell array of
@@ -254,21 +256,23 @@
 
 The following functions are useful to perform common String operations.
 
-@DOCSTRING(tolower)
-
-@DOCSTRING(toupper)
+@ref{XREFtolower, , @code{tolower}}: Return a copy of the string or cell string S, with each uppercase
+character r...
 
-@DOCSTRING(deblank)
+@ref{XREFtoupper, , @code{toupper}}: Return a copy of the string or cell string S, with each lowercase
+character r...
 
-@DOCSTRING(strtrim)
+@ref{XREFdeblank, , @code{deblank}}: Remove trailing whitespace and nulls from S.
 
-@DOCSTRING(strtrunc)
+@ref{XREFstrtrim, , @code{strtrim}}: Remove leading and trailing whitespace from S.
 
-@DOCSTRING(untabify)
+@ref{XREFstrtrunc, , @code{strtrunc}}: Truncate the character string S to length N.
 
-@DOCSTRING(do_string_escapes)
+@ref{XREFuntabify, , @code{untabify}}: Replace TAB characters in T with spaces.
 
-@DOCSTRING(undo_string_escapes)
+@ref{XREFdo_string_escapes, , @code{do_string_escapes}}: Convert escape sequences in STRING to the characters they represent.
+
+@ref{XREFundo_string_escapes, , @code{undo_string_escapes}}: Convert special characters in strings back to their escaped forms.
 
 @node Concatenating Strings
 @subsection Concatenating Strings
@@ -294,7 +298,7 @@
 The @code{newline} function can be used to join strings such that they appear
 as multiple lines of text when displayed.
 
-@DOCSTRING(newline)
+@ref{XREFnewline, , @code{newline}}: Return the character corresponding to a newline.
 
 In addition, there are several other functions for concatenating string
 objects which can be useful in specific circumstances: @code{char},
@@ -405,26 +409,33 @@
 (@pxref{Character Arrays}).
 @end itemize
 
-@DOCSTRING(char)
-
-@DOCSTRING(strvcat)
+@ref{XREFchar, , @code{char}}: Create a string array from one or more numeric matrices, character
+matrices, ...
 
-@DOCSTRING(strcat)
+@ref{XREFstrvcat, , @code{strvcat}}: Create a character array from one or more numeric matrices, character
+matrice...
 
-@DOCSTRING(cstrcat)
+@ref{XREFstrcat, , @code{strcat}}: Return a string containing all the arguments concatenated horizontally.
+
+@ref{XREFcstrcat, , @code{cstrcat}}: Return a string containing all the arguments concatenated horizontally
+with t...
 
 @node Splitting and Joining Strings
 @subsection Splitting and Joining Strings
 
-@DOCSTRING(substr)
+@ref{XREFsubstr, , @code{substr}}: Return the substring of S which starts at character number OFFSET and is
+LEN ...
 
-@DOCSTRING(strtok)
+@ref{XREFstrtok, , @code{strtok}}: Find all characters in the string STR up to, but not including, the
+first cha...
 
-@DOCSTRING(strsplit)
+@ref{XREFstrsplit, , @code{strsplit}}: Split the string STR using the delimiters specified by DEL and return a
+cell ...
 
-@DOCSTRING(ostrsplit)
+@ref{XREFostrsplit, , @code{ostrsplit}}: Split the string S using one or more separators SEP and return a cell
+array o...
 
-@DOCSTRING(strjoin)
+@ref{XREFstrjoin, , @code{strjoin}}: Join the elements of the cell string array, CSTR, into a single string.
 
 @node Searching in Strings
 @subsection Searching in Strings
@@ -447,49 +458,60 @@
 @code{N} given as a parameter).  @code{strcmpi} and @code{strncmpi} are the
 corresponding functions for case-insensitive comparison.
 
-@DOCSTRING(strcmp)
+@ref{XREFstrcmp, , @code{strcmp}}: Return 1 if the character strings S1 and S2 are the same, and 0
+otherwise.
 
-@DOCSTRING(strncmp)
+@ref{XREFstrncmp, , @code{strncmp}}: Return 1 if the first N characters of strings S1 and S2 are the same,
+and 0 o...
 
-@DOCSTRING(strcmpi)
+@ref{XREFstrcmpi, , @code{strcmpi}}: Return 1 if the character strings S1 and S2 are the same, disregarding
+case o...
 
-@DOCSTRING(strncmpi)
+@ref{XREFstrncmpi, , @code{strncmpi}}: Return 1 if the first N character of S1 and S2 are the same,
+disregarding cas...
 
 Despite those comparison functions, there are more specialized function to
 find the index position of a search pattern within a string.
 
-@DOCSTRING(startsWith)
+@ref{XREFstartsWith, , @code{startsWith}}: Check whether string(s) start with pattern(s).
 
-@DOCSTRING(endsWith)
+@ref{XREFendsWith, , @code{endsWith}}: Check whether string(s) end with pattern(s).
+
+@ref{XREFfindstr, , @code{findstr}}: This function is obsolete.
 
-@DOCSTRING(findstr)
+@ref{XREFstrchr, , @code{strchr}}: Search through the string STR for occurrences of characters from the set
+CHARS.
 
-@DOCSTRING(strchr)
+@ref{XREFindex, , @code{index}}: Return the position of the first occurrence of the string T in the
+string S, ...
 
-@DOCSTRING(index)
+@ref{XREFrindex, , @code{rindex}}: Return the position of the last occurrence of the character string T in
+the c...
 
-@DOCSTRING(rindex)
+@ref{XREFunicode_idx, , @code{unicode_idx}}: Return an array with the indices for each UTF-8 encoded character in
+STR.
 
-@DOCSTRING(unicode_idx)
+@ref{XREFstrfind, , @code{strfind}}: Search for PATTERN in the string STR and return the starting index of
+every s...
 
-@DOCSTRING(strfind)
-
-@DOCSTRING(strmatch)
+@ref{XREFstrmatch, , @code{strmatch}}: This function is obsolete.  *Use an alternative* such as 'strncmp' or
+'strcmp...
 
 @node Searching and Replacing in Strings
 @subsection Searching and Replacing in Strings
 
-@DOCSTRING(strrep)
+@ref{XREFstrrep, , @code{strrep}}: Replace all occurrences of the pattern PTN in the string STR with the
+string ...
 
-@DOCSTRING(erase)
-
-@DOCSTRING(regexp)
+@ref{XREFerase, , @code{erase}}: Delete all occurrences of PTN within STR.
 
-@DOCSTRING(regexpi)
+@ref{XREFregexp, , @code{regexp}}: Regular expression string matching.
+
+@ref{XREFregexpi, , @code{regexpi}}: Case insensitive regular expression string matching.
 
-@DOCSTRING(regexprep)
+@ref{XREFregexprep, , @code{regexprep}}: Replace occurrences of pattern PAT in STRING with REPSTR.
 
-@DOCSTRING(regexptranslate)
+@ref{XREFregexptranslate, , @code{regexptranslate}}: Translate a string for use in a regular expression.
 
 @node Converting Strings
 @section Converting Strings
@@ -505,9 +527,9 @@
 @node String encoding
 @subsection String encoding
 
-@DOCSTRING(unicode2native)
+@ref{XREFunicode2native, , @code{unicode2native}}: Convert UTF-8 string UTF8_STR to byte stream using CODEPAGE.
 
-@DOCSTRING(native2unicode)
+@ref{XREFnative2unicode, , @code{native2unicode}}: Convert byte stream NATIVE_BYTES to UTF-8 using CODEPAGE.
 
 @node Numerical Data and Strings
 @subsection Numerical Data and Strings
@@ -521,33 +543,41 @@
 numerical data as strings is the @code{sprintf} function
 (@pxref{Formatted Output}, @ref{XREFsprintf,,sprintf}).
 
-@DOCSTRING(mat2str)
+@ref{XREFmat2str, , @code{mat2str}}: Format real, complex, and logical matrices as strings.
 
-@DOCSTRING(num2str)
+@ref{XREFnum2str, , @code{num2str}}: Convert a number (or array) to a string (or a character array).
 
-@DOCSTRING(int2str)
+@ref{XREFint2str, , @code{int2str}}: Convert an integer (or array of integers) to a string (or a character
+array).
 
-@DOCSTRING(str2double)
+@ref{XREFstr2double, , @code{str2double}}: Convert a string to a real or complex number.
 
-@DOCSTRING(str2num)
+@ref{XREFstr2num, , @code{str2num}}: Convert the string (or character array) S to a number (or an array).
 
-@DOCSTRING(bin2dec)
+@ref{XREFbin2dec, , @code{bin2dec}}: Return the decimal number corresponding to the binary number represented
+by t...
 
-@DOCSTRING(dec2bin)
+@ref{XREFdec2bin, , @code{dec2bin}}: Return a string of ones and zeros representing the conversion of the
+integer ...
 
-@DOCSTRING(dec2hex)
+@ref{XREFdec2hex, , @code{dec2hex}}: Return a string representing the conversion of the integer D to a
+hexadecimal...
 
-@DOCSTRING(hex2dec)
+@ref{XREFhex2dec, , @code{hex2dec}}: Return the integer corresponding to the hexadecimal number represented
+by the...
 
-@DOCSTRING(dec2base)
+@ref{XREFdec2base, , @code{dec2base}}: Return a string of symbols in base BASE corresponding to the
+non-negative int...
 
-@DOCSTRING(base2dec)
+@ref{XREFbase2dec, , @code{base2dec}}: Convert S from a string of digits in base BASE to a decimal integer
+(base 10).
 
-@DOCSTRING(num2hex)
+@ref{XREFnum2hex, , @code{num2hex}}: Convert a numeric array to an array of hexadecimal strings.
 
-@DOCSTRING(hex2num)
+@ref{XREFhex2num, , @code{hex2num}}: Typecast a hexadecimal character array or cell array of strings to an
+array o...
 
-@DOCSTRING(strread)
+@ref{XREFstrread, , @code{strread}}: This function is obsolete.
 
 @node JSON data encoding/decoding
 @subsection JSON data encoding/decoding
@@ -556,9 +586,9 @@
 and structured data format.  GNU Octave supports encoding and decoding this
 format with the following two functions.
 
-@DOCSTRING(jsonencode)
+@ref{XREFjsonencode, , @code{jsonencode}}: Encode Octave data types into JSON text.
 
-@DOCSTRING(jsondecode)
+@ref{XREFjsondecode, , @code{jsondecode}}: Decode text that is formatted in JSON.
 
 @node Character Class Functions
 @section Character Class Functions
@@ -576,30 +606,43 @@
 @end group
 @end example
 
-@DOCSTRING(isalnum)
+@ref{XREFisalnum, , @code{isalnum}}: Return a logical array which is true where the elements of S are letters
+or d...
 
-@DOCSTRING(isalpha)
+@ref{XREFisalpha, , @code{isalpha}}: Return a logical array which is true where the elements of S are letters
+and ...
 
-@DOCSTRING(isletter)
+@ref{XREFisletter, , @code{isletter}}: Return a logical array which is true where the elements of S are letters
+and ...
 
-@DOCSTRING(islower)
-
-@DOCSTRING(isupper)
+@ref{XREFislower, , @code{islower}}: Return a logical array which is true where the elements of S are
+lowercase le...
 
-@DOCSTRING(isdigit)
+@ref{XREFisupper, , @code{isupper}}: Return a logical array which is true where the elements of S are
+uppercase le...
 
-@DOCSTRING(isxdigit)
+@ref{XREFisdigit, , @code{isdigit}}: Return a logical array which is true where the elements of S are decimal
+digi...
 
-@DOCSTRING(ispunct)
+@ref{XREFisxdigit, , @code{isxdigit}}: Return a logical array which is true where the elements of S are
+hexadecimal ...
 
-@DOCSTRING(isspace)
+@ref{XREFispunct, , @code{ispunct}}: Return a logical array which is true where the elements of S are
+punctuation ...
 
-@DOCSTRING(iscntrl)
+@ref{XREFisspace, , @code{isspace}}: Return a logical array which is true where the elements of S are
+whitespace c...
 
-@DOCSTRING(isgraph)
+@ref{XREFiscntrl, , @code{iscntrl}}: Return a logical array which is true where the elements of S are control
+char...
 
-@DOCSTRING(isprint)
+@ref{XREFisgraph, , @code{isgraph}}: Return a logical array which is true where the elements of S are
+printable ch...
 
-@DOCSTRING(isascii)
+@ref{XREFisprint, , @code{isprint}}: Return a logical array which is true where the elements of S are
+printable ch...
 
-@DOCSTRING(isstrprop)
+@ref{XREFisascii, , @code{isascii}}: Return a logical array which is true where the elements of S are ASCII
+charac...
+
+@ref{XREFisstrprop, , @code{isstrprop}}: Test character string properties.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/system.txi
--- a/doc/interpreter/system.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/system.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -91,60 +91,73 @@
 In the descriptions of the following functions, this structure is
 referred to as a @var{tm_struct}.
 
-@DOCSTRING(time)
+@ref{XREFtime, , @code{time}}: Return the current time as the number of seconds since the epoch.
 
-@DOCSTRING(now)
+@ref{XREFnow, , @code{now}}: Return the current local date/time as a serial day number (see
+'datenum').
 
-@DOCSTRING(ctime)
+@ref{XREFctime, , @code{ctime}}: Convert a value returned from 'time' (or any other non-negative
+integer), to ...
 
-@DOCSTRING(gmtime)
+@ref{XREFgmtime, , @code{gmtime}}: Given a value returned from 'time', or any non-negative integer, return
+a tim...
 
-@DOCSTRING(localtime)
+@ref{XREFlocaltime, , @code{localtime}}: Given a value returned from 'time', or any non-negative integer, return
+a tim...
 
-@DOCSTRING(mktime)
+@ref{XREFmktime, , @code{mktime}}: Convert a time structure corresponding to the local time to the number
+of sec...
 
-@DOCSTRING(asctime)
+@ref{XREFasctime, , @code{asctime}}: Convert a time structure to a string using the following format: "ddd
+mmm mm ...
 
-@DOCSTRING(strftime)
+@ref{XREFstrftime, , @code{strftime}}: Format the time structure TM_STRUCT in a flexible way using the format
+string...
 
-@DOCSTRING(strptime)
+@ref{XREFstrptime, , @code{strptime}}: Convert the string STR to the time structure TM_STRUCT under the control
+of t...
 
 Most of the remaining functions described in this section are not
 patterned after the standard C library.  Some are available for
 compatibility with @sc{matlab} and others are provided because they are
 useful.
 
-@DOCSTRING(clock)
+@ref{XREFclock, , @code{clock}}: Return the current local date and time as a date vector.
 
-@DOCSTRING(date)
+@ref{XREFdate, , @code{date}}: Return the current date as a character string in the form DD-MMM-YYYY.
 
-@DOCSTRING(etime)
+@ref{XREFetime, , @code{etime}}: Return the difference in seconds between two time values returned from
+'clock...
 
-@DOCSTRING(cputime)
+@ref{XREFcputime, , @code{cputime}}: Return the CPU time used by your Octave session.
 
-@DOCSTRING(is_leap_year)
+@ref{XREFis_leap_year, , @code{is_leap_year}}: Return true if YEAR is a leap year and false otherwise.
 
-@DOCSTRING(tic)
+@ref{XREFtic, , @code{tic}}: Initialize a wall-clock timer.
 
-@DOCSTRING(toc)
+@ref{XREFtoc, , @code{toc}}: Measure elapsed time on a wall-clock timer.
 
-@DOCSTRING(pause)
+@ref{XREFpause, , @code{pause}}: Suspend the execution of the program or change the state of the pause
+function.
 
-@DOCSTRING(datenum)
-
-@DOCSTRING(datestr)
+@ref{XREFdatenum, , @code{datenum}}: Return the date/time input as a serial day number, with Jan 1, 0000
+defined a...
 
-@DOCSTRING(datevec)
+@ref{XREFdatestr, , @code{datestr}}: Format the given date/time according to the format F and return the
+result in...
 
-@DOCSTRING(addtodate)
+@ref{XREFdatevec, , @code{datevec}}: Convert a serial date number (see 'datenum') or date string (see
+'datestr') i...
 
-@DOCSTRING(calendar)
+@ref{XREFaddtodate, , @code{addtodate}}: Add Q amount of time (with units F) to the serial datenum, D.
 
-@DOCSTRING(weekday)
+@ref{XREFcalendar, , @code{calendar}}: Return the current monthly calendar in a 6x7 matrix.
 
-@DOCSTRING(eomday)
+@ref{XREFweekday, , @code{weekday}}: Return the day of the week as a number in N and as a string in S.
 
-@DOCSTRING(datetick)
+@ref{XREFeomday, , @code{eomday}}: Return the last day of the month M for the year Y.
+
+@ref{XREFdatetick, , @code{datetick}}: Add date-formatted tick labels to an axis.
 
 @node Filesystem Utilities
 @section Filesystem Utilities
@@ -153,101 +166,108 @@
 deleting files; for creating, reading, and deleting directories; for retrieving
 status information on files; and for manipulating file and path names.
 
-@DOCSTRING(movefile)
+@ref{XREFmovefile, , @code{movefile}}: Move the source file or directory F1 to the destination F2.
 
-@DOCSTRING(rename)
+@ref{XREFrename, , @code{rename}}: Change the name of file OLD to NEW.
 
-@DOCSTRING(copyfile)
+@ref{XREFcopyfile, , @code{copyfile}}: Copy the source file(s) or directory F1 to the destination F2.
 
-@DOCSTRING(unlink)
+@ref{XREFunlink, , @code{unlink}}: Delete the file named FILE.
 
-@DOCSTRING(link)
+@ref{XREFlink, , @code{link}}: Create a new link (also known as a hard link) to an existing file.
 
-@DOCSTRING(symlink)
+@ref{XREFsymlink, , @code{symlink}}: Create a symbolic link NEW which contains the string OLD.
 
-@DOCSTRING(readlink)
+@ref{XREFreadlink, , @code{readlink}}: Read the value of the symbolic link SYMLINK.
 
-@DOCSTRING(mkdir)
+@ref{XREFmkdir, , @code{mkdir}}: Create a directory named DIRNAME in the directory PARENT, creating any
+interm...
 
-@DOCSTRING(rmdir)
+@ref{XREFrmdir, , @code{rmdir}}: Remove the directory named DIR.
 
-@DOCSTRING(confirm_recursive_rmdir)
+@ref{XREFconfirm_recursive_rmdir, , @code{confirm_recursive_rmdir}}: Query or set the internal variable that controls whether Octave will ask
+for ...
 
-@DOCSTRING(mkfifo)
+@ref{XREFmkfifo, , @code{mkfifo}}: Create a FIFO special file named NAME with file mode MODE.
 
-@DOCSTRING(umask)
+@ref{XREFumask, , @code{umask}}: Set the permission mask for file creation.
 
 @anchor{XREFlstat}
-@DOCSTRING(stat)
+@ref{XREFstat, , @code{stat}}: Return a structure INFO containing the following information about FILE
+or fi...
 
-@DOCSTRING(S_ISBLK)
-
-@DOCSTRING(S_ISCHR)
+@ref{XREFS_ISBLK, , @code{S_ISBLK}}: Return true if MODE corresponds to a block device.
 
-@DOCSTRING(S_ISDIR)
+@ref{XREFS_ISCHR, , @code{S_ISCHR}}: Return true if MODE corresponds to a character device.
 
-@DOCSTRING(S_ISFIFO)
+@ref{XREFS_ISDIR, , @code{S_ISDIR}}: Return true if MODE corresponds to a directory.
 
-@DOCSTRING(S_ISLNK)
+@ref{XREFS_ISFIFO, , @code{S_ISFIFO}}: Return true if MODE corresponds to a fifo.
 
-@DOCSTRING(S_ISREG)
+@ref{XREFS_ISLNK, , @code{S_ISLNK}}: Return true if MODE corresponds to a symbolic link.
 
-@DOCSTRING(S_ISSOCK)
+@ref{XREFS_ISREG, , @code{S_ISREG}}: Return true if MODE corresponds to a regular file.
 
-@DOCSTRING(fileattrib)
+@ref{XREFS_ISSOCK, , @code{S_ISSOCK}}: Return true if MODE corresponds to a socket.
 
-@DOCSTRING(isfile)
+@ref{XREFfileattrib, , @code{fileattrib}}: Report attribute information about FILE.
+
+@ref{XREFisfile, , @code{isfile}}: Return true if F is a regular file and false otherwise.
 
-@DOCSTRING(isdir)
+@ref{XREFisdir, , @code{isdir}}: This function is not recommended.
 
-@DOCSTRING(isfolder)
+@ref{XREFisfolder, , @code{isfolder}}: Return true if F is a directory and false otherwise.
 
-@DOCSTRING(readdir)
+@ref{XREFreaddir, , @code{readdir}}: Return the names of files in the directory DIR as a cell array of
+strings.
 
-@DOCSTRING(glob)
-
-@DOCSTRING(file_in_path)
+@ref{XREFglob, , @code{glob}}: Given an array of pattern strings (as a char array or a cell array) in
+PATTER...
 
-@DOCSTRING(filesep)
+@ref{XREFfile_in_path, , @code{file_in_path}}: Return the absolute name of FILE if it can be found in PATH.
+
+@ref{XREFfilesep, , @code{filesep}}: Return the system-dependent character used to separate directory names.
 
-@DOCSTRING(fileparts)
+@ref{XREFfileparts, , @code{fileparts}}: Return the directory, name, and extension components of FILENAME.
 
-@DOCSTRING(fullfile)
+@ref{XREFfullfile, , @code{fullfile}}: Build complete filename from separate parts.
 
-@DOCSTRING(tilde_expand)
+@ref{XREFtilde_expand, , @code{tilde_expand}}: Perform tilde expansion on STRING.
 
-@DOCSTRING(canonicalize_file_name)
+@ref{XREFcanonicalize_file_name, , @code{canonicalize_file_name}}: Return the canonical name of file FNAME.
 
-@DOCSTRING(make_absolute_filename)
+@ref{XREFmake_absolute_filename, , @code{make_absolute_filename}}: Return the full name of FILE beginning from the root of the file system.
 
-@DOCSTRING(is_absolute_filename)
+@ref{XREFis_absolute_filename, , @code{is_absolute_filename}}: Return true if FILE is an absolute filename.
 
-@DOCSTRING(is_same_file)
+@ref{XREFis_same_file, , @code{is_same_file}}: Return true if FILEPATH1 and FILEPATH2 refer to the same file.
 
-@DOCSTRING(is_rooted_relative_filename)
+@ref{XREFis_rooted_relative_filename, , @code{is_rooted_relative_filename}}: Return true if FILE is a rooted-relative filename.
 
-@DOCSTRING(recycle)
+@ref{XREFrecycle, , @code{recycle}}: Query or set the preference for recycling deleted files.
 
 @node File Archiving Utilities
 @section File Archiving Utilities
 
-@DOCSTRING(bunzip2)
+@ref{XREFbunzip2, , @code{bunzip2}}: Unpack the bzip2 archive BZFILE.
 
-@DOCSTRING(gzip)
+@ref{XREFgzip, , @code{gzip}}: Compress the list of files and directories specified in FILES.
 
-@DOCSTRING(gunzip)
+@ref{XREFgunzip, , @code{gunzip}}: Unpack the gzip archive GZFILE.
 
-@DOCSTRING(tar)
+@ref{XREFtar, , @code{tar}}: Pack the list of files and directories specified in FILES into the TAR
+archiv...
 
-@DOCSTRING(untar)
+@ref{XREFuntar, , @code{untar}}: Unpack the TAR archive TARFILE.
 
-@DOCSTRING(zip)
+@ref{XREFzip, , @code{zip}}: Compress the list of files and directories specified in FILES into the
+ZIP ar...
 
-@DOCSTRING(unzip)
+@ref{XREFunzip, , @code{unzip}}: Unpack the ZIP archive ZIPFILE.
 
-@DOCSTRING(unpack)
+@ref{XREFunpack, , @code{unpack}}: Unpack the archive FILE based on its extension to the directory DIR.
 
-@DOCSTRING(bzip2)
+@ref{XREFbzip2, , @code{bzip2}}: Compress the list of files specified in FILES.
 
 @node Networking Utilities
 @section Networking Utilities
@@ -258,7 +278,7 @@
 * Base64 and Binary Data Transmission::
 @end menu
 
-@DOCSTRING(gethostname)
+@ref{XREFgethostname, , @code{gethostname}}: Return the hostname of the system where Octave is running.
 
 @node FTP Objects
 @subsection FTP Objects
@@ -267,29 +287,32 @@
 Use the function @code{ftp} to create an FTP object which represents the
 connection.  All FTP functions take an FTP object as the first argument.
 
-@DOCSTRING(@ftp/ftp)
+@ref{XREF@@ftp/ftp, , @code{@@ftp/ftp}}: Connect to the FTP server HOST with USERNAME and PASSWORD.
 
-@DOCSTRING(@ftp/close)
-
-@DOCSTRING(@ftp/mget)
+@ref{XREF@@ftp/close, , @code{@@ftp/close}}: Close the FTP connection represented by the FTP object F.
 
-@DOCSTRING(@ftp/mput)
+@ref{XREF@@ftp/mget, , @code{@@ftp/mget}}: Download a remote file FILE or directory DIR to the local directory on
+the FT...
 
-@DOCSTRING(@ftp/cd)
+@ref{XREF@@ftp/mput, , @code{@@ftp/mput}}: Upload the local file FILE into the current remote directory on the FTP
+conne...
 
-@DOCSTRING(@ftp/dir)
+@ref{XREF@@ftp/cd, , @code{@@ftp/cd}}: Get or set the remote directory on the FTP connection F.
 
-@DOCSTRING(@ftp/ascii)
+@ref{XREF@@ftp/dir, , @code{@@ftp/dir}}: List the current directory in verbose form for the FTP connection F.
 
-@DOCSTRING(@ftp/binary)
+@ref{XREF@@ftp/ascii, , @code{@@ftp/ascii}}: Set the FTP connection F to use ASCII mode for transfers.
 
-@DOCSTRING(@ftp/delete)
+@ref{XREF@@ftp/binary, , @code{@@ftp/binary}}: Set the FTP connection F to use binary mode for transfers.
 
-@DOCSTRING(@ftp/rename)
+@ref{XREF@@ftp/delete, , @code{@@ftp/delete}}: Delete the remote file FILE over the FTP connection F.
 
-@DOCSTRING(@ftp/mkdir)
+@ref{XREF@@ftp/rename, , @code{@@ftp/rename}}: Rename or move the remote file or directory OLDNAME to NEWNAME, over the
+FTP ...
 
-@DOCSTRING(@ftp/rmdir)
+@ref{XREF@@ftp/mkdir, , @code{@@ftp/mkdir}}: Create the remote directory PATH, over the FTP connection F.
+
+@ref{XREF@@ftp/rmdir, , @code{@@ftp/rmdir}}: Remove the remote directory PATH, over the FTP connection F.
 
 @node WWW Access
 @subsection WWW Access
@@ -301,17 +324,18 @@
 data to/from Octave and a website identified by a URL (Uniform Resource
 Locator).
 
-@DOCSTRING(web)
+@ref{XREFweb, , @code{web}}: Open URL in the default system web browser.
 
-@DOCSTRING(urlread)
-
-@DOCSTRING(urlwrite)
+@ref{XREFurlread, , @code{urlread}}: Download a remote file specified by its URL and return its content in
+string S.
 
-@DOCSTRING(webread)
+@ref{XREFurlwrite, , @code{urlwrite}}: Download a remote file specified by its URL and save it as LOCALFILE.
+
+@ref{XREFwebread, , @code{webread}}: Read content from RESTful web service.
 
-@DOCSTRING(webwrite)
+@ref{XREFwebwrite, , @code{webwrite}}: Write data to RESTful web services.
 
-@DOCSTRING(weboptions)
+@ref{XREFweboptions, , @code{weboptions}}: Specify parameters for RESTful web services.
 
 @node Base64 and Binary Data Transmission
 @subsection Base64 and Binary Data Transmission
@@ -320,13 +344,13 @@
 encode binary data in Base64 for transmission and to decode the data upon
 reception.
 
-@DOCSTRING(base64_encode)
+@ref{XREFbase64_encode, , @code{base64_encode}}: Encode a double matrix or array X into the base64 format string S.
 
-@DOCSTRING(base64_decode)
+@ref{XREFbase64_decode, , @code{base64_decode}}: Decode the double matrix or array X from the base64 encoded string S.
 
-@DOCSTRING(matlab.net.base64encode)
+@ref{XREFmatlab_net_base64encode, , @code{matlab.net.base64encode}}: Convert IN to a base64 encoded string B64_STR.
 
-@DOCSTRING(matlab.net.base64decode)
+@ref{XREFmatlab_net_base64decode, , @code{matlab.net.base64decode}}: Convert base64 encoded B64_STR to uint8 vector OUT_VEC.
 
 @node Controlling Subprocesses
 @section Controlling Subprocesses
@@ -341,108 +365,124 @@
 use them if you can't find any way to do what you need with the
 higher-level functions.
 
-@DOCSTRING(system)
+@ref{XREFsystem, , @code{system}}: Execute a shell command specified by STRING.
 
-@DOCSTRING(unix)
+@ref{XREFunix, , @code{unix}}: Execute a system command if running under a Unix-like operating system,
+other...
 
-@DOCSTRING(dos)
+@ref{XREFdos, , @code{dos}}: Execute a system command if running under a Windows-like operating
+system, ot...
 
-@DOCSTRING(open)
-
-@DOCSTRING(perl)
+@ref{XREFopen, , @code{open}}: Open the file FILE in Octave or in an external application based on the
+file ...
 
-@DOCSTRING(python)
+@ref{XREFperl, , @code{perl}}: Invoke Perl script SCRIPTFILE, possibly with a list of command line
+arguments.
 
-@DOCSTRING(popen)
+@ref{XREFpython, , @code{python}}: Invoke Python script SCRIPTFILE, possibly with a list of command line
+argumen...
 
-@DOCSTRING(pclose)
+@ref{XREFpopen, , @code{popen}}: Start a process and create a pipe.
+
+@ref{XREFpclose, , @code{pclose}}: Close a file identifier that was opened by 'popen'.
 
-@DOCSTRING(popen2)
+@ref{XREFpopen2, , @code{popen2}}: Start a subprocess with two-way communication.
 
-@DOCSTRING(EXEC_PATH)
+@ref{XREFEXEC_PATH, , @code{EXEC_PATH}}: Query or set the internal variable that specifies a colon separated list
+of d...
 
 In most cases, the following functions simply decode their arguments and
 make the corresponding Unix system calls.  For a complete example of how
 they can be used, look at the definition of the function @code{popen2}.
 
-@DOCSTRING(fork)
+@ref{XREFfork, , @code{fork}}: Create a copy of the current process.
 
-@DOCSTRING(exec)
+@ref{XREFexec, , @code{exec}}: Replace current process with a new process.
 
-@DOCSTRING(pipe)
+@ref{XREFpipe, , @code{pipe}}: Create a pipe and return the reading and writing ends of the pipe into
+READ_F...
 
-@DOCSTRING(dup2)
+@ref{XREFdup2, , @code{dup2}}: Duplicate a file descriptor.
+
+@ref{XREFwaitpid, , @code{waitpid}}: Wait for process PID to terminate.
 
-@DOCSTRING(waitpid)
+@ref{XREFWCONTINUE, , @code{WCONTINUE}}: Return the numerical value of the 'WCONTINUE' macro.
 
-@DOCSTRING(WCONTINUE)
+@ref{XREFWCOREDUMP, , @code{WCOREDUMP}}: Given STATUS from a call to 'waitpid', return true if the child produced
+a co...
 
-@DOCSTRING(WCOREDUMP)
+@ref{XREFWEXITSTATUS, , @code{WEXITSTATUS}}: Given STATUS from a call to 'waitpid', return the exit status of the
+child.
 
-@DOCSTRING(WEXITSTATUS)
-
-@DOCSTRING(WIFCONTINUED)
+@ref{XREFWIFCONTINUED, , @code{WIFCONTINUED}}: Given STATUS from a call to 'waitpid', return true if the child process
+was r...
 
-@DOCSTRING(WIFSIGNALED)
-
-@DOCSTRING(WIFSTOPPED)
+@ref{XREFWIFSIGNALED, , @code{WIFSIGNALED}}: Given STATUS from a call to 'waitpid', return true if the child process
+was t...
 
-@DOCSTRING(WIFEXITED)
+@ref{XREFWIFSTOPPED, , @code{WIFSTOPPED}}: Given STATUS from a call to 'waitpid', return true if the child process
+was s...
 
-@DOCSTRING(WNOHANG)
+@ref{XREFWIFEXITED, , @code{WIFEXITED}}: Given STATUS from a call to 'waitpid', return true if the child
+terminated no...
 
-@DOCSTRING(WSTOPSIG)
+@ref{XREFWNOHANG, , @code{WNOHANG}}: Return the numerical value of the 'WNOHANG' macro.
 
-@DOCSTRING(WTERMSIG)
+@ref{XREFWSTOPSIG, , @code{WSTOPSIG}}: Given STATUS from a call to 'waitpid', return the number of the signal
+which ...
 
-@DOCSTRING(WUNTRACED)
+@ref{XREFWTERMSIG, , @code{WTERMSIG}}: Given STATUS from a call to 'waitpid', return the number of the signal
+that c...
 
-@DOCSTRING(fcntl)
+@ref{XREFWUNTRACED, , @code{WUNTRACED}}: Return the numerical value of the 'WUNTRACED' macro.
+
+@ref{XREFfcntl, , @code{fcntl}}: Change the properties of the open file FID.
 
-@DOCSTRING(kill)
+@ref{XREFkill, , @code{kill}}: Send signal SIG to process PID.
 
-@DOCSTRING(SIG)
+@ref{XREFSIG, , @code{SIG}}: Return a structure containing Unix signal names and their defined
+values.
 
 @node Process ID Information
 @section Process, Group, and User IDs
 
-@DOCSTRING(getpgrp)
+@ref{XREFgetpgrp, , @code{getpgrp}}: Return the process group id of the current process.
 
-@DOCSTRING(getpid)
+@ref{XREFgetpid, , @code{getpid}}: Return the process id of the current process.
 
-@DOCSTRING(getppid)
+@ref{XREFgetppid, , @code{getppid}}: Return the process id of the parent process.
 
-@DOCSTRING(geteuid)
+@ref{XREFgeteuid, , @code{geteuid}}: Return the effective user id of the current process.
 
-@DOCSTRING(getuid)
+@ref{XREFgetuid, , @code{getuid}}: Return the real user id of the current process.
 
-@DOCSTRING(getegid)
+@ref{XREFgetegid, , @code{getegid}}: Return the effective group id of the current process.
 
-@DOCSTRING(getgid)
+@ref{XREFgetgid, , @code{getgid}}: Return the real group id of the current process.
 
 @node Environment Variables
 @section Environment Variables
 
-@DOCSTRING(getenv)
+@ref{XREFgetenv, , @code{getenv}}: Return the value of the environment variable VAR.
 
-@DOCSTRING(setenv)
+@ref{XREFsetenv, , @code{setenv}}: Set the value of the environment variable VAR to VALUE.
 
-@DOCSTRING(unsetenv)
+@ref{XREFunsetenv, , @code{unsetenv}}: Delete the environment variable VAR.
 
-@DOCSTRING(get_home_directory)
+@ref{XREFget_home_directory, , @code{get_home_directory}}: Return the current home directory.
 
 @node Current Working Directory
 @section Current Working Directory
 
-@DOCSTRING(cd)
+@ref{XREFcd, , @code{cd}}: Change the current working directory to DIR.
 
-@DOCSTRING(ls)
+@ref{XREFls, , @code{ls}}: List directory contents.
 
-@DOCSTRING(ls_command)
+@ref{XREFls_command, , @code{ls_command}}: Query or set the shell command used by Octave's 'ls' command.
 
-@DOCSTRING(dir)
+@ref{XREFdir, , @code{dir}}: Display file listing for directory DIRECTORY.
 
-@DOCSTRING(pwd)
+@ref{XREFpwd, , @code{pwd}}: Return the current working directory.
 
 @node Password Database Functions
 @section Password Database Functions
@@ -476,15 +516,19 @@
 In the descriptions of the following functions, this data structure is
 referred to as a @var{pw_struct}.
 
-@DOCSTRING(getpwent)
+@ref{XREFgetpwent, , @code{getpwent}}: Return a structure containing an entry
+from the password database, opening it...
 
-@DOCSTRING(getpwuid)
+@ref{XREFgetpwuid, , @code{getpwuid}}: Return a structure containing the first
+entry from the password database with...
 
-@DOCSTRING(getpwnam)
+@ref{XREFgetpwnam, , @code{getpwnam}}: Return a structure containing the first
+entry from the password database with...
 
-@DOCSTRING(setpwent)
+@ref{XREFsetpwent, , @code{setpwent}}: Return the internal pointer to the
+beginning of the password database.
 
-@DOCSTRING(endpwent)
+@ref{XREFendpwent, , @code{endpwent}}: Close the password database.
 
 @node Group Database Functions
 @section Group Database Functions
@@ -508,65 +552,76 @@
 
 In the descriptions of the following functions, this data structure is
 referred to as a @var{grp_struct}.
-
-@DOCSTRING(getgrent)
-
-@DOCSTRING(getgrgid)
-
-@DOCSTRING(getgrnam)
-
-@DOCSTRING(setgrent)
-
-@DOCSTRING(endgrent)
+ 
+@ref{XREFgetgrent, , @code{getgrent}}: Return an entry from the group database,
+opening it if necessary.
+ 
+@ref{XREFgetgrgid, , @code{getgrgid}}: Return the first entry from the group
+database with the group ID GID.
+ 
+@ref{XREFgetgrnam, , @code{getgrnam}}: Return the first entry from the group
+database with the group name NAME.
+ 
+@ref{XREFsetgrent, , @code{setgrent}}: Return the internal pointer to the
+beginning of the group database.
+ 
+@ref{XREFendgrent, , @code{endgrent}}: Close the group database.
 
 @node System Information
 @section System Information
 
-@DOCSTRING(computer)
-
-@DOCSTRING(uname)
-
-@DOCSTRING(nproc)
-
-@DOCSTRING(ispc)
-
-@DOCSTRING(isunix)
-
-@DOCSTRING(ismac)
-
-@DOCSTRING(isieee)
-
-@DOCSTRING(isdeployed)
-
-@DOCSTRING(isstudent)
-
-@DOCSTRING(OCTAVE_HOME)
-
-@DOCSTRING(OCTAVE_EXEC_HOME)
+@ref{XREFcomputer, , @code{computer}}: Print or return a string of the form
+CPU-VENDOR-OS that identifies the type o...
+ 
+@ref{XREFuname, , @code{uname}}: Return system information in the structure.
+ 
+@ref{XREFnproc, , @code{nproc}}: Return the current number of available
+processors.
+ 
+@ref{XREFispc, , @code{ispc}}: Return true if Octave is running on a Windows
+system and false otherwise.
+ 
+@ref{XREFisunix, , @code{isunix}}: Return true if Octave is running on a
+Unix-like system and false otherwise.
+ 
+@ref{XREFismac, , @code{ismac}}: Return true if Octave is running on a
+Mac OS X system and false otherwise.
+ 
+@ref{XREFisieee, , @code{isieee}}: Return true if your computer _claims_
+to conform to the IEEE standard for flo...
+ 
+@ref{XREFisdeployed, , @code{isdeployed}}: Return true if the current program has been compiled and is running
+separatel...
+ 
+@ref{XREFisstudent, , @code{isstudent}}: Return true if running in the student edition of MATLAB.
+ 
+@ref{XREFOCTAVE_HOME, , @code{OCTAVE_HOME}}: Return the name of the top-level Octave installation directory.
+ 
+@ref{XREFOCTAVE_EXEC_HOME, , @code{OCTAVE_EXEC_HOME}}: Return the name of the top-level Octave installation directory for
+architectu...
+ 
+@ref{XREFmatlabroot, , @code{matlabroot}}: Return the name of the top-level Octave installation directory.
+ 
+@ref{XREFOCTAVE_VERSION, , @code{OCTAVE_VERSION}}: Return the version number of Octave as a string.
+ 
+@ref{XREFversion, , @code{version}}: Get version information for Octave.
+ 
+@ref{XREFver, , @code{ver}}: Display a header containing the current Octave version number, license
+string...
+ 
+@ref{XREFcompare_versions, , @code{compare_versions}}: Compare two version strings using the given OPERATOR.
+ 
+@ref{XREFverLessThan, , @code{verLessThan}}: Return true if the installed version of the package is less than
+VERSION.
+ 
+@ref{XREFlicense, , @code{license}}: Get license information for Octave and Octave packages.
+ 
+@ref{XREFmemory, , @code{memory}}: Display or return information about the memory usage of Octave.
+ 
+@ref{XREFgetrusage, , @code{getrusage}}: Return a structure containing a number of statistics about the current
+Octave...
 
-@DOCSTRING(matlabroot)
-
-@DOCSTRING(user_config_dir)
-
-@DOCSTRING(user_data_dir)
-
-@DOCSTRING(OCTAVE_VERSION)
-
-@DOCSTRING(version)
-
-@DOCSTRING(ver)
-
-@DOCSTRING(compare_versions)
-
-@DOCSTRING(verLessThan)
-
-@DOCSTRING(license)
-
-@DOCSTRING(memory)
-
-@DOCSTRING(getrusage)
-
-@DOCSTRING(winqueryreg)
+@ref{XREFwinqueryreg, , @code{winqueryreg}}: Query names or value from the Windows registry.
 
 @node Hashing Functions
 @section Hashing Functions
@@ -586,4 +641,4 @@
 function.  The @code{hash} function supports the most common used
 cryptographic hash functions, namely MD5 and SHA-1.
 
-@DOCSTRING(hash)
+@ref{XREFhash, , @code{hash}}: Calculate the hash value of the string STR using the hash function HFUN.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/testfun.txi
--- a/doc/interpreter/testfun.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/testfun.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -32,7 +32,8 @@
 @node Test Functions
 @section Test Functions
 
-@DOCSTRING(test)
+@ref{XREFtest, , @code{test}}: Perform built-in self-tests from the first file in the loadpath matching
+NAME.
 
 @code{test} scans the named script file looking for lines which start
 with the identifier @samp{%!}.  The prefix is stripped off and the rest
@@ -459,19 +460,22 @@
 path and the user will have to remember to type
 @code{test ("funcname.cc")}.
 
-@DOCSTRING(assert)
+@ref{XREFassert, , @code{assert}}: Produce an error if the specified condition is not met.
 
-@DOCSTRING(fail)
+@ref{XREFfail, , @code{fail}}: Return true if CODE fails with an error message matching PATTERN,
+otherwise p...
 
 @node Demonstration Functions
 @section Demonstration Functions
 
-@DOCSTRING(demo)
+@ref{XREFdemo, , @code{demo}}: Run example code block N associated with the function NAME.
 
-@DOCSTRING(example)
+@ref{XREFexample, , @code{example}}: Display the code for example N associated with the function NAME, but do
+not ...
 
-@DOCSTRING(oruntests)
+@ref{XREForuntests, , @code{oruntests}}: Execute built-in tests for all m-files in the specified DIRECTORY.
 
-@DOCSTRING(rundemos)
+@ref{XREFrundemos, , @code{rundemos}}: Execute built-in demos for all m-files in the specified DIRECTORY.
 
-@DOCSTRING(speed)
+@ref{XREFspeed, , @code{speed}}: Determine the execution time of an expression (F) for various input
+values (N).
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/var.txi
--- a/doc/interpreter/var.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/var.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -64,15 +64,16 @@
 before they have been given a value.  Doing so results in an error.
 
 @cindex @code{ans}
-@DOCSTRING(ans)
+@ref{XREFans, , @code{ans}}: The most recently computed result that was not explicitly assigned to a
+varia...
 
-@DOCSTRING(isvarname)
+@ref{XREFisvarname, , @code{isvarname}}: Return true if NAME is a valid variable name.
 
-@DOCSTRING(matlab.lang.makeValidName)
+@ref{XREFmatlab_lang_makeValidName, , @code{matlab.lang.makeValidName}}: Create valid variable name VARNAME from STR.
 
-@DOCSTRING(matlab.lang.makeUniqueStrings)
+@ref{XREFmatlab_lang_makeUniqueStrings, , @code{matlab.lang.makeUniqueStrings}}: Construct a list of unique strings from a list of strings.
 
-@DOCSTRING(namelengthmax)
+@ref{XREFnamelengthmax, , @code{namelengthmax}}: Return the MATLAB compatible maximum variable name length.
 
 @menu
 * Global Variables::
@@ -193,7 +194,7 @@
 systemic changes so that localizing a bug to a particular function, or to a
 particular loop within a function, becomes difficult.
 
-@DOCSTRING(isglobal)
+@ref{XREFisglobal, , @code{isglobal}}: Return true if NAME is a globally visible variable.
 
 @node Persistent Variables
 @section Persistent Variables
@@ -355,11 +356,12 @@
 @end group
 @end example
 
-@DOCSTRING(who)
+@ref{XREFwho, , @code{who}}: List currently defined variables matching the given patterns.
 
-@DOCSTRING(whos)
+@ref{XREFwhos, , @code{whos}}: Provide detailed information on currently defined variables matching the
+give...
 
-@DOCSTRING(whos_line_format)
+@ref{XREFwhos_line_format, , @code{whos_line_format}}: Query or set the format string used by the command 'whos'.
 
 Instead of displaying which variables are in memory, it is possible
 to determine if a given variable is available.  That way it is possible
@@ -374,7 +376,8 @@
 @end group
 @end example
 
-@DOCSTRING(exist)
+@ref{XREFexist, , @code{exist}}: Check for the existence of NAME as a variable, function, file,
+directory, or ...
 
 Usually Octave will manage the memory, but sometimes it can be practical
 to remove variables from memory manually.  This is usually needed when
@@ -391,18 +394,19 @@
 it can be necessary to remove it manually from memory.  The @code{clear}
 or @code{clearvars} functions do this.
 
-@DOCSTRING(clear)
+@ref{XREFclear, , @code{clear}}: Delete the names matching the given PATTERNs thereby freeing memory.
 
-@DOCSTRING(clearvars)
+@ref{XREFclearvars, , @code{clearvars}}: Delete the variables matching the given PATTERNs from memory.
 
-@DOCSTRING(pack)
+@ref{XREFpack, , @code{pack}}: Consolidate workspace memory in MATLAB.
 
 Information about a function or variable such as its location in the
 file system can also be acquired from within Octave.  This is usually
 only useful during development of programs, and not within a program.
 
-@DOCSTRING(type)
+@ref{XREFtype, , @code{type}}: Display the contents of NAME which may be a file, function (m-file),
+variable...
 
-@DOCSTRING(which)
+@ref{XREFwhich, , @code{which}}: Display the type of each NAME.
 
-@DOCSTRING(what)
+@ref{XREFwhat, , @code{what}}: List the Octave specific files in directory DIR.
diff -r 11a8c8e0ad14 -r fade650e869d doc/interpreter/vectorize.txi
--- a/doc/interpreter/vectorize.txi	Tue Mar 30 21:57:59 2021 +0200
+++ b/doc/interpreter/vectorize.txi	Tue Mar 30 22:08:44 2021 +0200
@@ -361,7 +361,8 @@
 For functions that are not written with broadcasting semantics,
 @code{bsxfun} can be useful for coercing them to broadcast.
 
-@DOCSTRING(bsxfun)
+@ref{XREFbsxfun, , @code{bsxfun}}: Apply a binary function F element-by-element to two array arguments A
+and B, ...
 
 Broadcasting is only applied if either of the two broadcasting
 conditions hold.  As usual, however, broadcasting does not apply when two
@@ -478,13 +479,13 @@
 Octave provides facilities for applying a function to each element of an
 array, cell, or struct.
 
-@DOCSTRING(arrayfun)
+@ref{XREFarrayfun, , @code{arrayfun}}: Execute a function on each element of an array.
 
-@DOCSTRING(spfun)
+@ref{XREFspfun, , @code{spfun}}: Compute 'f (S)' for the nonzero elements of S.
 
-@DOCSTRING(cellfun)
+@ref{XREFcellfun, , @code{cellfun}}: Evaluate the function named NAME on the elements of the cell array C.
 
-@DOCSTRING(structfun)
+@ref{XREFstructfun, , @code{structfun}}: Evaluate the function named NAME on the fields of the structure S.
 
 Consistent with earlier advice, seek to use Octave built-in functions whenever
 possible for the best performance.  This advice applies especially to the four
@@ -502,9 +503,11 @@
 of an array when performing a computation, accumulation functions can be
 useful.
 
-@DOCSTRING(accumarray)
+@ref{XREFaccumarray, , @code{accumarray}}: Create an array by accumulating the elements of a vector into the
+positions d...
 
-@DOCSTRING(accumdim)
+@ref{XREFaccumdim, , @code{accumdim}}: Create an array by accumulating the slices of an array into the
+positions def...
 
 @node JIT Compiler
 @section JIT Compiler
@@ -533,13 +536,16 @@
 functions @code{jit_failcnt} and @code{debug_jit} are not likely to be of use
 to anyone not working directly on the implementation of the JIT compiler.
 
-@DOCSTRING(jit_enable)
+@ref{XREFjit_enable, , @code{jit_enable}}: Query or set the internal variable that enables Octave's JIT compiler.
 
-@DOCSTRING(jit_startcnt)
+@ref{XREFjit_startcnt, , @code{jit_startcnt}}: Query or set the internal variable that determines whether JIT
+compilation wi...
 
-@DOCSTRING(jit_failcnt)
+@ref{XREFjit_failcnt, , @code{jit_failcnt}}: Query or set the internal variable that counts the number of JIT fail
+excepti...
 
-@DOCSTRING(debug_jit)
+@ref{XREFdebug_jit, , @code{debug_jit}}: Query or set the internal variable that determines whether
+debugging/tracing ...
 
 @node Miscellaneous Techniques
 @section Miscellaneous Techniques
