1
1
# Run-REDUCE-FX
2
2
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
4
4
5
5
### Francis Wright, November 2020
6
6
@@ -19,6 +19,9 @@ Guide](https://fjwright.github.io/Run-REDUCE-FX/UserGuide.html) (which
19
19
is also included in Run-REDUCE-FX and easily accessible via the Help
20
20
menu).
21
21
22
+ See also the [ release notes for all
23
+ releases] ( https://github.com/fjwright/Run-REDUCE-FX/releases ) .
24
+
22
25
Run-REDUCE-FX should run on any platform that supports JavaFX 11 (or
23
26
later), but I can only test it on Microsoft Windows and Linux.
24
27
(Whilst Java is portable, filesystem structures, installation
@@ -37,209 +40,3 @@ Run-REDUCE-FX currently uses a bundled copy of
37
40
[ KaTeX] ( https://katex.org/ ) to render LaTeX output by code based on
38
41
the REDUCE * tmprint* package when the * Typeset Maths* option is
39
42
selected.
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