Previous: Introduction to alt-display, Up: alt-display [Contents][Index]
This function is similar to define
: it evaluates its arguments
and expands into a function definition. The function is a
function of a single input input. For convenience, a substitution
is applied to expr after evaluation, to provide easy access to
Lisp variable names.
Set a time-stamp on each prompt:
(%i1) load("alt-display.mac")$ (%i2) display2d:false$ (%i3) define_alt_display(time_stamp(x), block([alt_display1d:false,alt_display2d:false], prompt_prefix:printf(false,"~a~%",timedate()), displa(x))); (%o3) time_stamp(x):=block([\*alt\-display1d\*:false, \*alt\-display2d\*:false], \*prompt\-prefix\*:printf(false,"~a~%",timedate()),displa(x)) (%i4) set_alt_display(1,time_stamp); (%o4) done 2017-11-27 16:15:58-06:00 (%i5)
The input line %i3
defines time_stamp
using
define_alt_display
. The output line %o3
shows that the
Maxima variable names alt_display1d
, alt_display2d
and
prompt_prefix
have been replaced by their Lisp translations, as
has displa
been replaced by ?displa
(the display
function).
The display variables alt_display1d
and alt_display2d
are
both bound to false
in the body of time_stamp
to prevent
an infinite recursion in displa
.
Categories: Package alt-display
This is an alias for the default 1-d display function. It may be used as an alternative 1-d or 2-d display function.
(%i1) load("alt-display.mac")$ (%i2) set_alt_display(2,info_display); (%o2) done (%i3) x/y; (%o3) x/y
Categories: Package alt-display
Produces MathML output.
(%i1) load("alt-display.mac")$ (%i2) set_alt_display(2,mathml_display); <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>mlabel</mi> <mfenced separators=""><msub><mi>%o</mi> <mn>2</mn></msub> <mo>,</mo><mi>done</mi> </mfenced> </math>
Categories: Package alt-display
Produces TeX output.
(%i2) set_alt_display(2,tex_display); \mbox{\tt\red({\it \%o_2}) \black}$$\mathbf{done}$$ (%i3) x/(x^2+y^2); \mbox{\tt\red({\it \%o_3}) \black}$${{x}\over{y^2+x^2}}$$
Categories: Package alt-display
Produces Texinfo output using all three display functions.
(%i2) set_alt_display(2,multi_display_for_texinfo)$ (%i3) x/(x^2+y^2); @iftex @tex \mbox{\tt\red({\it \%o_3}) \black}$${{x}\over{y^2+x^2}}$$ @end tex @end iftex @ifhtml @html <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>mlabel</mi> <mfenced separators=""><msub><mi>%o</mi> <mn>3</mn></msub> <mo>,</mo><mfrac><mrow><mi>x</mi> </mrow> <mrow><msup><mrow> <mi>y</mi> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup><mrow> <mi>x</mi> </mrow> <mn>2</mn> </msup> </mrow></mfrac> </mfenced> </math> @end html @end ifhtml @ifinfo @example (%o3) x/(y^2+x^2) @end example @end ifinfo
Categories: Package alt-display
Resets the prompt prefix and suffix to the empty string, and sets both 1-d and 2-d display functions to the default.
Categories: Package alt-display
The input num is the display to set; it may be either 1 or 2. The
second input display-function is the display function to use. The
display function may be either a Maxima function or a lambda
expression.
Here is an example where the display function is a lambda
expression; it just displays the result as TeX.
(%i1) load("alt-display.mac")$ (%i2) set_alt_display(2, lambda([form], tex(?caddr(form))))$ (%i3) integrate(exp(-t^2),t,0,inf); $${{\sqrt{\pi}}\over{2}}$$
A user-defined display function should take care that it prints its output. A display function that returns a string will appear to display nothing, nor cause any errors.
Categories: Package alt-display
Set the prompt prefix or suffix to expr. The input fix must
evaluate to one of prefix
, suffix
, general
,
prolog
or epilog
. The input expr must evaluate to
either a string or false
; if false
, the fix is reset
to the default value.
(%i1) load("alt-display.mac")$ (%i2) set_prompt('prefix,printf(false,"It is now: ~a~%",timedate()))$ It is now: 2014-01-07 15:23:23-05:00 (%i3)
The following example shows the effect of each option, except
prolog
. Note that the epilog
prompt is printed as Maxima
closes down. The general
is printed between the end of input and
the output, unless the input line ends in $
.
Here is an example to show where the prompt strings are placed.
(%i1) load("alt-display.mac")$ (%i2) set_prompt(prefix,"<<prefix>> ",suffix,"<<suffix>> ",general, printf(false,"<<general>>~%"),epilog,printf(false,"<<epilog>>~%")); (%o2) done <<prefix>> (%i3) <<suffix>> x/y; <<general>> x (%o3) - y <<prefix>> (%i4) <<suffix>> quit(); <<general>> <<epilog>>
Here is an example that shows how to colorize the input and output when Maxima is running in a terminal or terminal emulator like Emacs8.
Each prompt string starts with the ASCII escape character (27) followed by an open square bracket (91); each string ends with a lower-case m (109). The webpages http://misc.flogisoft.com/bash/tip_colors_and_formatting and http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html provide information on how to use control strings to set the terminal colors.
Categories: Package alt-display
Readers using the info
reader in Emacs
will
see the actual prompt strings; other readers will see the colorized
output
Previous: Introduction to alt-display, Up: alt-display [Contents][Index]