Release Notes for Blockpad 1.3

February 2023

Summary

New features with this release include:

  • Custom units
  • Paragraph tab stops and other word processing features
  • Custom number list formatting
  • New math layout features
  • Improved Mathcad file import
  • Numerous other features and bug fixes

Breaking changes include:

  • Changes to how Hz and rpm units are defined
Number units

Blockpad now supports custom units. You can define both custom derived units and custom base units. Custom units can now be used throughout Blockpad in the same way as built-in units.

To define a custom derived unit, create an equation that states the relationship between the new unit and other units. For example:

1 Mm = 1e6 m

1 Gm = 1000 Mm

To define a custom base unit, create an equation that defines 1 of the new unit equal to the result of the BaseUnit function. For example:

1 apple = BaseUnit()

Custom base units can be used in custom derived units, as other units may be. For example:

1 bushel = 12 apple

The unit being defined must be on the left side of the definition, but the multiplier can be any number. For example:

10 dm = 1m (effectively the same as 1 dm = 0.1 m)

Note that custom units definitions are different from other equations. Note that regardless of where unit definitions are located in a file, they are scoped to the entire file.

Also, note that it is not possible to override built-in units.

It is also now possible to define currency relationships for built-in currency units. This gives you control over the the exchange rates used in your calculations. For example:

1.03 usd = 1 eur

In built-in units, there is a change to how the Hz and rpm units are defined. Now, Hz is defined primarily as 1/s, with an alternate definition of rev/s when compared to any type of angle units; and rpm is defined primarily as rev/min, with an alternate definition of 1/min when not compared to any type of angle unit. Whenever you use conversions with Hz and rpm units now, Blockpad will give a warning message confirming which definition was used and asking you to check the equation that rpm is being interpreted as you intend.

Hz and rpm units may also now be overridden with custom definitions to lock them into specific definitions, using the same method as custom unit definitions.

The new Show Steps option can provide additional clarity on each equation how ambiguous units are interpreted.

Advanced word processing

Blockpad now supports custom tab stops. You can set tab stops either in the ruler or through the Tab Stops property. Tab stops can be aligned to left, center, right, decimal, or equals.

Paragraphs can now be set to justified alignment, by setting the Horizontal Alignment property to Justified in the Properties window.

Paragraphs now have a Hanging Indent property. In addition, you can adjust left, right, and hanging indent by dragging in the ruler.

You can now customize the position of paragraph numbers or bullets with the Label Offset property. Note that if a tab stop is provided to the left of the far left of the paragraph, that tab stop will have the effect of specifying the position of the paragraph number or bullet, unless the option to override tab stops is set in the Label Offset property.

List formatting

This version introduces the Format List tool, found either in the Write menu or in the right-click menu. It can customize the numbering format, both for single-level list as well as for complex outlines.

Math layout

Show last row and column of arrays after ellipsis

Option to reduce array element font size

Layout for Summation, Ifs functions

Array layout for linear series

In arrays, null value are shown with dash, and errors are indicated with red marker

New Show Steps options specifically to show or hide reference values, unit conversions, and function results.

Mathcad import improvements

Numerous improvements have been made to importing of Mathcad files, including support for more types of equations and support for importing images.

In addition, the speed of importing has been improved.

Matrices and vectors

Assigning equations to name array

Element-by-element operations

Built-in functions

New functions:

Functions with slightly changed behavior:

  • Add (as well as + operator) - now supports adding single number to array
  • Subtract (as well as - operator) - now supports subtracting single number from array
  • Multiply (as well as * operator) - now supports element-by-element multiplication of vectors
  • Divide (as well as / operator) - now supports element-by-element division of vectors
  • Exponent (as well as ^ operator) - now supports element-by-element exponentiation of vectors
  • EachRow - now supports function overloads with all cells of row as inputs
  • EachColumn - now supports function overloads with all cells of column as inputs
  • LinearSeries - now includes overload where step defaults to 1
  • Value - now interprets strings by same method as cell input (number, date, bool, or string)
Bug fixes
  • Fix to copy and paste frames issue
  • Fix links to outside files
  • Fix to Home and End key behavior
  • Fix to issue with printing notebooks
  • Fix to issue with printing when spreadsheets or tables cover multiple pages horizontally
  • Fix to issue with application locking up for a few seconds in some cases when Collapse Margins is on
  • Fix to issue with importing CSV files
  • Numerous others
Other new features
  • Improvements to tools to insert rows and columns around multiline cells, especially for word processing mode tables
  • Format Painter tool (under the Style menu)
  • Notebook textboxes now shrink to fit tighter around text by default
  • Grid background
  • Keep blank tab open setting
  • Warnings for equations with duplicate names
  • Show Rulers tool setting saved with frame
  • Page Numbers property
  • Page Border property
  • Help Tips panel
Other notes

This release contains many performance optimizations across the program.

Beginning with this release, the application is now provided as a 64-bit program. This change should not cause any noticeable differences. The program may run slightly faster on some machines, has a higher theoretical limit on how much data it can work with, and may use slightly more memory.

See also

Page modified 2023-02-12