Skip to main content

Release notes *2.9.1*

⏱️ 2 min read

  • Improved PDF export
  • Fixed output expressions for AlgebraicNumber
  • Better GUI for Manipulate
  • Tabular support!
  • New command palette features!
  • New I/O element InputTerminal
Download original notebook

Improved Export to PDF

We have reworked our exporter once more to make it possible to print large notebooks or render expressions within a bulky notebook. Now, our renderer won't try to rasterize hidden elements and waste resources on them.

Improved GUI of Manipulate

We have improved the layout, as well as added Copy Expression and Copy Parameters options to assist

Minor formatting improvements

AlgebraicNumber

ToNumberField[(*SqB[*)Sqrt[2](*]SqB*), (*SpB[*)Power[2(*|*),(*|*)1/4](*]SpB*)]
(*VB[*)(AlgebraicNumber[Root[-2 + #1^4 & , 2, 0], {0, 0, 1, 0}])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWlMIB4vkAjLTC13SU3OL0osyS8KBskH5eeXFJ2xrk+bt+CbPQCNIhCc"*)(*]VB*)

New command palette tools!

including Code Beautifier and String Escaper

(* try to apply on this one *)
(* place your cursor here and run Beautify from the command palette *)

f[ω_, eps_, list_List] := eps + Total @ Table[((Power[i[[2]],2])/(Power[i[[1]],2] - Power[ω,2] + I i[[3]] ω)), {i, list}]

n[ω_, params__] := Sqrt[f[ω, params]] 

r[ω_, L_, params__] :=With[{np = n[ω, params]},Power[Abs[((np - 1)/(np + 1))],2]]

Try Bull Running btw 😉

Tabular support

  • is one of new features in Wolfram in a long time, that significantly improves dataset workflow.

We added the corresponding representation to WLJS Notebook with lazy loading and progressive rendering:

Tabular[{{1, 2, 3}, {4, 5, 6}}]
(*VB[*)(tabular158)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJycbGaQapKboJianpOiaGBuk6lomp1rqGiYlJZqYW6QZWxqaAQCbIRZd"*)(*]VB*)

Here is another example

Tabular[{{1, x, Today}, {4, y, Tomorrow}}, {"col1", "col2", "col3"}]
(*VB[*)(tabular164)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKp5qYJRknmyXrGiVamumapKUk61qYWRroJhomGSYnWpqYpxgZAgCLaxXR"*)(*]VB*)
EntityValue[
 EntityClass["Book", "DuneBooks"], {"FirstPublished", "Author", 
  "Image"}, "Tabular"]
(*VB[*)(tabular33)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJ5kbmqUmJhnomhslJumaGBlY6CYZmyXpmpkZWBibm1taWqSZAACBthUb"*)(*]VB*)

InputTerminal

We added a new I/O element to our GUI building blocks

t = InputTerminal[]
(*VB[*)(EventObject[<|"StandardInput" -> OutputStream["/private/var/folders/fs/ch7ddlhn7jz5vyg5k8bbrxyh0000gn/T/m000050493621", 7], "StandardError" -> OutputStream["/private/var/folders/fs/ch7ddlhn7jz5vyg5k8bbrxyh0000gn/T/m000051493621", 8], "Id" -> "08892486-275c-4c18-9dbf-3af499c66145", "View" -> "35618a69-6e0e-48b2-9e96-39a440007831"|>])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG5uaGVokmlnqmqUapOqaWCQZ6VqmWprpGlsmmpgYGBiYWxgbAgB0mhSP"*)(*]VB*)

It uses the same EventObject interface as most GUI element, but allows to interact with default streams

WriteString[t["StandardOutput"], "Hi There!"];
WriteString[t["StandardError"], Sqrt[1/2]];

Here is a basic echo handler you can make using events interface:

EventHandler[t, {"Command" -> Function[c, c]}];

"Evaluate All Cells" Button

A highly requested feature now is available from the top menu

Better implementation of Information[]

We reimplemented the output form of Information, try it out:

??Plot

or for multiple symbols

?Log*

OpenerView

We implemented OpenerView aka spoiler element:

OpenerView[{"Show me a plot", Plot[x, {x,0,1}]}, False]