Releases: artisticat1/obsidian-latex-suite
1.9.7
1.9.5
1.9.4
1.9.3
- The math popup preview no longer blocks LaTeX source code for long inline math equations when its position is set to "Below". (#288 by @bdm-k)
- When an IME is active, snippets are now disabled by default. (#286 by @RyotaUshio)
1.9.2
- Improved the default snippets.
- Reorganised snippets into categories and added more comments.
- Added shortcut
"
->\text{}
. - Added shortcut
\sum
Tab ->\sum_{i=1}^{N}
. - Added snippets under "Misc" section that enable you to automatically convert lone letters or Greek letters in text to math.
- Made some snippets less aggressive.
- You can now choose to load snippet variables from files, as well as snippets from files. (#280 by @itay-raveh)
- The "highlight matching bracket" highlight is now more visible.
- Updated the appearance of snippet placeholders.
1.9.1
- The math popup preview can now be positioned below instead of above your equation source, so it doesn't obscure text above your equation (#257 by @bdm-k)
- Added
lVert
andrVert
default snippets, auto-enlarge and conceal (#253 by @Comprehensive-Jason) - Snippets can now have more than 9 tabstop placeholders (#256 by @git-wil)
- Default snippets: Added overbrace shortcut (#249 by @you-n-g)
- Default snippets: Matrix environment snippets (e.g. pmatrix) now take into account block/inline math
1.9.0
Function snippets
You can now run JavaScript code in snippets! To do this, make your replacement
a function. For example, the snippet
{trigger: "date", replacement: () => (new Date().toDateString()), options: "t"},
will expand "dateTab" to the current date, such as "Mon Jan 15 2023".
Function snippets work with regex and visual snippets as well.
For regex snippets, Latex Suite will pass in the RegExpExecArray
returned by the matching regular expression to your replacement function. This lets you access the value of capture groups inside your function. For example, the regex snippet
{trigger: /iden(\d)/, replacement: (match) => {
const n = match[1];
let arr = [];
for (let j = 0; j < n; j++) {
arr[j] = [];
for (let i = 0; i < n; i++) {
arr[j][i] = (i === j) ? 1 : 0;
}
}
let output = arr.map(el => el.join(" & ")).join(" \\\\\n");
output = `\\begin{pmatrix}\n${output}\n\\end{pmatrix}`;
return output;
}, options: "mA"},
will expand "iden4" to a 4×4 identity matrix:
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
. More generally, it will expand "idenN" to an N×N identity matrix.
For more information on function snippets, see the docs here. (Closes #16, thanks to #241 by @duanwilliam)
Other minor improvements
- Added new identity matrix default snippet
- Fixed/improved snippet placeholder mark decorations appearing when not necessary
1.8.10
- Auto-enlarge
lfloor
,rfloor
,lceil
,rceil
(#226 by @m4rch3n1ng) - Added default snippets for
floor
andceil
(#227 by @m4rch3n1ng)
1.8.9
- Fixed Latex Suite causing cards to be blurry in canvases. (#187)
- Fixed auto-fraction removing parentheses in
(a)(b)/
when it shouldn't. (#206, #220 by @duanwilliam)
1.8.8
-
You can now use Regular Expression literals in snippet triggers! e.g. The regex snippet
{trigger: "([A-Za-z])(\\d)", replacement: "[[0]]_{[[1]]}", options: "rA"}
will expand
x2
tox_{2}
.
The same snippet can now be written using a RegExp literal as{trigger: /([A-Za-z])(\d)/, replacement: "[[0]]_{[[1]]}", options: "A"}
.
-
You can now set regex flags in a snippet using the
flag
property on a snippet, e.g.{ trigger: "foo", replacement: "bar", options: "rA", flags: "i" },
will replace "foo", "FOO", and "fOo" with "bar".
-
For power users: you can now treat snippet files as javascript modules, with the snippets array being the default export (#219 by @duanwilliam). For example,
const SHORT_SYMBOL = "to|pm|mp" export default [ { trigger: `([^\\\\])(${SHORT_SYMBOL})`, replacement: "[[0]]\\[[1]]", options: "rmA" }, ]
is now a valid snippet file. See #219 for more information.
-
Improved setting description for snippet file location.