The Numerals plugin is a powerful tool that enables users to perform mathematical calculations and insert the results into their Obsidian notes. With this plugin, you can write complex math expressions in Markdown code blocks and evaluate them instantly. The plugin also offers advanced features such as result annotation, autocompletion of functions and variables, and style settings for customization. Additionally, Numerals supports mapping currency symbols to different currencies and allows users to specify the format of rendered results. Overall, this plugin is an excellent choice for anyone who needs to perform complex calculations or visualize data in their Obsidian notes.
Introducing some of the most requested features including the ability to:
@sum
or @total
Also new convenience features such as Greek letter auto-completion and custom currency support. Upgrade now and take your note-taking calculations to the next level!
@sum
or @total
(closes #18, #49, #36)@total
or @sum
it inserts the sum of all previous lines up until the last blank line or commentNumerals can now reference note frontmatter or dataview inline values. Set the numerals
property on a page to share specific properties with all math blocks on a page.
In order to access metadata, you need to tell Numerals to make the value available by:
numerals
metadata value (either frontmatter or dataview inline property) to the name of the value you want to include, or a list of valuesnumerals: other_metadata_name
, or numerals: [metadata_1, metadata_2]
[numerals:: other_metadata_name]
numerals
to all
: will index all metadata and make it available to dataviewNumerals is able to write back to dataview values, through use of Result Insertion
Any variable name preceeded by an $
symbol will be made available to all math blocks on a page (closes #34)
Using the new @[...]
syntax (for example: @[profit]
), Numerals will insert the results of a calculation into the raw text of your notes. (closes #22)
:
. e.g. :mu
in a math block will offer μ
as an auto-complete suggestion (closes #69)math-tex
block.₿100 / day * 3 hours → 12.5 BTC
if you set ₿ as the custom currency:
Numerals gives you the power of an advanced calculator inside a math
code block, complete with currencies, units, variables, and math functions! Now you can perform calculations inline with your notes, and see both the input and the evaluated result. Numerals works with Live Preview as well as Reader view, and offers TeX-style rendering or Syntax Highlighting as well as auto-completion suggestions. Comments or explanations can be added with #
, and important results can be indicated with =>
after the calculation.
1ft + 12in
→ 2ft
20 mi / 4 hr to m/s
→ 2.235 m / s
100 km/hr in mi/hr
→ 62.137 mi / hr
9.81 m/s^2 * 100 kg * 40 m
→ 39.24 kJ
$1,000 * 2
→ 2,000 USD
£10 + £0.75
→ 10.75 GBP
$100/hr * 3days
→ 7,200 USD
₿
sqrt
, sin
, cos
, abs
, log
, etc (see mathjs for full list)0xff + 0b100
→ 259
hex(0xff + 0b100)
→ "0x103"
e
, i
, pi
, speedOfLight
, gravitationConstant
, vacuumImpedance
, avogadro
@total
or @sum
special operator@total
or @sum
it inserts the sum of all previous lines up until the last blank line or commentμ = 3 m/s
:
, e.g. :mu
in a math block will offer μ
as an auto-complete suggestion$
symbol will be made available to all math blocks on a pagefraction(1/3) + fraction(1/4)
→ 7/12
#
at the end of a line will be ignored, but rendered in faint text as a comment#
will be ignored by the math engine, but will be bolded when rendered=>
at the end of a line (but before a comment) will tell Numerals that a result should be highlighted. Any line in that code block without a =>
annotation will be rendered faintly (or hidden depending on settings).@[...]
syntax (for example: $[profit]
), Numerals will insert the results of a calculation into the raw text of your note, following ::
@[profit]
will be modified to say @[profit::10 USD]
numerals:
property. Setting numerals
to all
, will make all properties in a note available to Numeralsnumerals: [apples, pears]
will makes both the apples
and pears
property available to NumeralsNumerals utilizes the mathjs library for all calculations. Numerals implements a preprocessor to allow more human-friendly syntax, such as currency symbols and thousands separators. For all available functions and capabilities (which includes matrices, vectors, symbolic algebra and calculus, etc), see the mathjs documentation
Numerals has been tested with the default theme and most other top themes. It uses default values such that it should play nice with any other theme. There are also several configurable settings to modify how Numerals renders math blocks
Numerals supports rendering inputs/ouputs as either:
One of these options can either be chosen as a default from Numerals settings, or then can be applied on a per-block basis by using math-plain
, math-tex
, or math-highlight
rather than a math
code block.
Choose between a consistent code block background color (left), or alternating rows to help track from input to result (right).
By default, Numerals will provide auto-completion suggestions for variables that have been defined in a particular math
codeblock. Turning on Include Functions and Constants in Suggestions will also provide suggestions for all functions, math constants, and physical constants supported in Numerals.
Numerals allows the user to specify the format of rendered results.
100000.1
)1.000001e5
)100.0001e3
)100,000.1
100.000,1
100 000,1
1,00,000.1
Numerals can be found in the Obsidian community plugin list.
To try the latest features of Numerals before they are released, and provide helpful feedback and testing, try Numerals by using the Obsidian BRAT plugin. All new Numerals features will be pushed to beta testers first.
Obsidian42 - BRAT: Add a beta plugin for testing
gtg922r/obsidian-numerals
$
and ¥
can be mapped to different currencies in settings Feel free to suggest additional features by creating an issue!
There are a number of other plugins that address math and calculation use cases in Obsidian.
There are also a number of "calculator as notes" apps that acted as the inspiration for Numerals. If you are looking for a purpose-built app outside of Obsidian, consider: