11# Run-REDUCE-FX
22
3- ## A JavaFX GUI to run any CLI version of the REDUCE Computer Algebra System
3+ ## A JavaFX GUI to run CLI versions of the REDUCE Computer Algebra System
44
55### Francis Wright, November 2020
66
@@ -19,6 +19,9 @@ Guide](https://fjwright.github.io/Run-REDUCE-FX/UserGuide.html) (which
1919is also included in Run-REDUCE-FX and easily accessible via the Help
2020menu).
2121
22+ See also the [ release notes for all
23+ releases] ( https://github.com/fjwright/Run-REDUCE-FX/releases ) .
24+
2225Run-REDUCE-FX should run on any platform that supports JavaFX 11 (or
2326later), but I can only test it on Microsoft Windows and Linux.
2427(Whilst Java is portable, filesystem structures, installation
@@ -37,209 +40,3 @@ Run-REDUCE-FX currently uses a bundled copy of
3740[ KaTeX] ( https://katex.org/ ) to render LaTeX output by code based on
3841the REDUCE * tmprint* package when the * Typeset Maths* option is
3942selected.
40-
41- ## Release Notes
42-
43- ### Version 1.1
44-
45- * Avoid warning messages and hanging Help menu items on Ubuntu, but
46- suppress display of PDF files via the Help menu on non-Windows
47- platforms since it's probably not currently very helpful!
48- * Add instructions for installing and running using Java 11 on Linux
49- and improve the appearance of the User Guide.
50- * Use CSS to set the REDUCE font, size, weight and colour, and use the
51- same font and size for input as well as output.
52- * Validate direct input to the FontSizeDialog via the editor.
53- * Validate generic root directories in REDUCEConfigDialog. Rebuild
54- the Run REDUCE submenus on saving REDUCEConfigDialog. Improve error
55- messages.
56-
57- ### Version 1.2
58-
59- * Update the build environment to Java 11 and JavaFX 11, which are now
60- also required to run Run-REDUCE-FX.
61- * Provide batch files to run Run-REDUCE-FX more easily.
62- * Re-instate display of PDF files via the Help menu on non-Windows
63- platforms.
64- * Fix truncated text in the About dialogue.
65-
66- ### Version 1.3
67-
68- * Provide templates for * df* , * int* and * mat* expressions and * for*
69- statements.
70- * Add a hyperlinked Contents section to the User Guide.
71-
72- ### Version 1.4
73-
74- * Provide templates for multiple integrals, finite sums and products,
75- double- and single-sided limits, and solve.
76- * Provide a Functions menu offering dialogues that facilitate access
77- to key elementary functions, Gamma, Beta and related functions,
78- integral functions, Airy, Bessel and related functions, Struve,
79- Lommel, Kummer, Whittaker and spherical harmonic functions, and
80- classical orthogonal polynomials. Special function names link to
81- the online NIST Digital Library of Mathematical Functions.
82- * Appropriate templates include a symbolic/numeric option and access
83- to relevant REDUCE switches and packages.
84- * Provide a pop-up keyboard (currently only on template and function
85- dialogues) for symbolic constants, Greek letters, elementary
86- functions, trigonometric functions (using radians or degrees) and
87- hyperbolic functions. ** Still need to arrange that the pop-up
88- keyboard loads the trigd package as appropriate.**
89- * The function dialogues and pop-up keyboard together offer all the
90- functions listed in section 7.2 Mathematical Functions of the REDUCE
91- Manual plus degree versions of all trigonometric functions.
92-
93- ### Version 1.5
94-
95- * Add REDUCE Manual hyperlinks to all template and function dialogues.
96- * Add Help menu items that open the REDUCE Web Site and SourceForge
97- Project Site in the default browser.
98-
99- ### Version 1.6
100-
101- * Use WebView to display REDUCE output, and update instructions and
102- batch files for running Run-REDUCE-FX accordingly.
103- * Set the default Session Log filename to ` session.log ` .
104- * Turning bold prompts on and off now works retrospectively.
105- * Turning I/O colouring on and off now works retrospectively (as far
106- as possible).
107-
108- ### Version 1.7
109-
110- * Add experimental Typeset I/O option, currently hidden, to the View
111- menu to use fmprint and KaTeX, which does not yet work reliably.
112- * Update the documentation to try to make it easier to access the
113- latest jar.
114- * Redesign the REDUCE Configuration dialogue:
115- - Replace Packages Root Directory with REDUCE Packages Directory.
116- - Split Documentation Root Dir into REDUCE Manual Directory and
117- REDUCE Primers Directory.
118- - ** The above two changes are not backwards compatible!**
119- - Add Initial I/O Directory, which defaults to the user's home
120- directory, as before.
121- - Add a ContextMenu to implement key choices for Initial I/O
122- Directory: Home Directory; Current Directory; Another Directory.
123-
124- ### Version 1.8
125-
126- * The Typeset Maths View menu option enables typeset-style display of
127- algebraic-mode output. But beware that this is currently
128- experimental and has a number of limitations.
129- * Rename Initial I/O Directory to REDUCE Working Directory in the
130- REDUCE Configuration dialogue. This now sets the initial directory
131- for both REDUCE and the file selectors and defaults to the user's
132- home directory.
133- * View options apply to each REDUCE panel independently, initialised
134- from the last selected (and saved) values, and the redfront View
135- option takes effect after the next prompt.
136- * A toggle button on each REDUCE panel hides the input editor.
137- * When split-pane view is enabled after startup, the new panel is
138- active and a green dot at the top right shows which panel is
139- selected.
140-
141- ### Version 1.9
142-
143- * Detect question prompts correctly.
144- * Add a * Print Session Log...* item to the File menu, which prints the
145- entire content of the I/O Display pane as it appears on screen.
146- * Fix the * Save Session Log...* code to output the TeX markup used to
147- display typeset maths.
148- * Move * Load Packages...* to the * REDUCE* menu.
149- * Support the pop-up keyboard on the input editor and add a label
150- "Control+Click for the Pop-Up Keyboard" with a tooltip to the top of
151- the input editor and the bottom of each template dialogue.
152- * Handle more of the non-standard TeX markup generated by fmprint.
153-
154- ### Version 2.0
155-
156- * Fix the display of big delimiters in typeset maths.
157- * Always insert parentheses when calling a function using the pop-up
158- keyboard, rewrite ln to log and remove the space after sqrt.
159-
160- ### Version 2.1
161-
162- * Remember the directory used in the filechooser.
163- * Always decode non-ASCII characters from the pop-up keyboard and from
164- templates to their correct REDUCE or TeX names.
165- * Replace loading the fmprint package with inputting and compiling the
166- new source file "rrprint.red" contained in the JAR file, which is
167- based on "tmprint.red".
168- * Typeset maths improvements:
169- * Apply the fix by Eberhard Shruefer so that order commands work.
170- * Output identifiers in mathit instead of mathrm style.
171- * Correct spacing of := and leading + and - signs.
172- * Display a trailing multiplication sign but otherwise ignore
173- multiplications. (This may be too drastic.)
174- * Support all trigonometric and hyperbolic functions and their
175- inverses, and logb and log10.
176- * Display the gamma function, but not the identifier gamma, using a
177- capital Gamma.
178- * Support the polygamma, iGamma, iBeta, dilog, Pochhammer and
179- integral functions.
180- * Support Airy and Hankel functions.
181- * Support Struve, Lommel, Kummer, Whittaker and spherical harmonic
182- functions, and the classical orthogonal polynomials.
183-
184- ### Version 2.2
185-
186- * Remove the middle mouse button binding for the pop-up keyboard,
187- since it clashes with the X Window primary paste gesture (although
188- this is not supported).
189- * Scroll more reliably to the bottom of the REDUCE I/O display window.
190- * Add a Kill REDUCE item to the bottom of the REDUCE menu. Display an
191- information alert when REDUCE is killed and an error message if this
192- may have failed. Handle failure of REDUCE to start better and check
193- that REDUCE is alive before trying to send it input.
194- * Improve alerts relating to printing.
195- * Display the version number on the title bar.
196- * Add new sections on Editing, Typeset Maths Display and Printing on
197- Linux to the User Guide.
198- * Typeset maths improvements:
199- * Restore compatibility with tmprint so that ` excalc.tst ` runs.
200- * Use a narrow space to indicate multiplication (except at the end of
201- a line) because with no space x* y is indistinguishable from xy.
202- * Output strings as text rather than maths and identifiers using
203- mathit. Support the dfprint switch.
204- * Treat trailing digits in an identifier (optionally preceded by \_ )
205- as a subscript. Treat the final _ in an identifier as introducing
206- a subscript if it is followed by (the name of) a single character.
207- But as a special case, display body_bar as \bar{body} for a
208- single-character body or \overline{body} for a multi-character
209- body.
210- * Ensure that operator identifiers are subscripted like non-operator
211- identifiers. Note that line breaking is thoroughly broken!
212- * Display repart and impart as \Re and \Im.
213- * Display matrices more readably by using \displaystyle for each
214- element and increasing the row spacing to 1.5em.
215- * REDUCE Configuration Dialogue improvements:
216- * Use \ as directory separator in the Windows default configuration.
217- * Detect unreadable directories and files in more fields.
218- * Substantial revision to fix some subtle misbehaviour.
219-
220- ### Version 2.3
221-
222- * Make * Generic information for all REDUCE commands* fields all
223- optional, resetting to defaults where appropriate. Correct the
224- behaviour to allow the REDUCE Root Directory text field to be empty,
225- and to use the Command Root Directory if it is set.
226- * Add a * Restart REDUCE* item to the REDUCE menu to do a full clean
227- restart of the last-run REDUCE command.
228- * Set a minimum size for the main window.
229- * Allow space at the bottom of the main display so that the horizontal
230- scroll bar does not obscure the prompt.
231- * Improve automatic scrolling to the bottom of the display pane.
232- * Highlight warnings and errors with an appropriate background colour.
233- * Typeset maths improvements:
234- * Improve line breaking.
235- * Allow special function symbols to depend on a function's arity and
236- use this for the gamma function to avoid perturbing "excalc.tst".
237- * Process ` _bar ` in an identifier as an over-bar even if it is
238- followed by digits or ` _k ` .
239- * Improve display with ` on list ` and display matrix assignments as
240- assignments, which now both appear correct for "alg.tst".
241- * Display ` abs(x) ` as |x|.
242- * Remove all superfluous space around commas in algebraic lists and
243- flat printed matrix rows.
244-
245- ### Updates since last release
0 commit comments