@latex2js/macros
v3.0.10
Published
latex2js macros
Maintainers
Readme
@latex2js/macros
A comprehensive collection of LaTeX macro definitions for mathematical notation, providing shortcuts and enhancements for mathematical typesetting in LaTeX2JS.
Installation
npm install @latex2js/macrosFeatures
- Transform Pairs: Fourier, Z-transform, and Laplace transform notation
- Mathematical Symbols: Extended collection of mathematical operators and symbols
- Set Theory: Comprehensive set theory notation and operators
- Category Theory: Morphisms, functors, and categorical constructs
- Theorem Environments: Shortcuts for theorem, lemma, proposition, and proof environments
- Typography: Enhanced spacing and formatting for mathematical expressions
Usage
Basic Import
import macros from '@latex2js/macros';
// The macros are provided as a template string
console.log(typeof macros); // 'string'Integration with LaTeX2JS
import { LaTeX2HTML5 } from 'latex2js';
import macros from '@latex2js/macros';
// Initialize with macros
const parser = new LaTeX2HTML5();
parser.addMacros(macros);Integration with MathJax
import macros from '@latex2js/macros';
// Configure MathJax with the macros
window.MathJax = {
tex: {
macros: macros
}
};Available Macros
Transform Pairs
Perfect for signal processing and mathematical analysis:
% Fourier Transform
$$\mathscr{F}\{f(t)\} = F(\omega)$$
$$f(t) \FTpair F(\omega)$$
% Z-Transform
$$\mathscr{Z}\{x[n]\} = X(z)$$
$$x[n] \ZTpair X(z)$$
% Laplace Transform
$$\mathscr{L}\{f(t)\} = F(s)$$
$$f(t) \LTpair F(s)$$Mathematical Operators
Extended mathematical notation:
% Enhanced operators
$$\E[X]$$ % Expectation
$$\Var(X)$$ % Variance
$$\Cov(X,Y)$$ % Covariance
$$\argmax_x f(x)$$ % Argument maximum
$$\argmin_x f(x)$$ % Argument minimumSet Theory
Comprehensive set operations:
% Set operations
$$A \intersection B$$ % Intersection
$$A \union B$$ % Union
$$A \setminus B$$ % Set difference
$$\powerset{A}$$ % Power set
$$A \symdiff B$$ % Symmetric differenceCategory Theory
Advanced categorical constructs:
% Category theory
$$\Hom(A, B)$$ % Hom-set
$$A \iso B$$ % Isomorphism
$$f \colon A \to B$$ % Morphism notation
$$\End(A)$$ % Endomorphisms
$$\Aut(A)$$ % AutomorphismsTheorem Environments
Shortcuts for mathematical writing:
\begin{thm}[Fundamental Theorem]
Every continuous function on a closed interval is uniformly continuous.
\end{thm}
\begin{lem}
This is a supporting lemma.
\end{lem}
\begin{prop}
This is a proposition.
\end{prop}
\begin{proof}
The proof follows from the definition.
\end{proof}Typography Enhancements
Improved spacing and formatting:
% Enhanced spacing
$$a \,+\, b$$ % Thin spaces around operators
$$\int_a^b f(x) \dd x$$ % Proper differential notation
$$\vec{v} \cdot \vec{u}$$ % Vector notationComplete Macro List
The package includes over 140 macro definitions covering:
- Analysis: Real and complex analysis notation
- Algebra: Group theory, ring theory, field theory
- Topology: Topological spaces and continuous maps
- Probability: Probability theory and statistics
- Logic: Logical operators and quantifiers
- Geometry: Geometric constructions and notation
- Computer Science: Algorithms and complexity theory
Integration Examples
With React Components
import { LaTeX } from 'latex2react';
import macros from '@latex2js/macros';
function MathDocument() {
const content = `
\\begin{thm}[Fourier Transform]
For any function $f \\in L^1(\\mathbb{R})$:
$$f(t) \\FTpair F(\\omega) = \\int_{-\\infty}^{\\infty} f(t) e^{-i\\omega t} \\dd t$$
\\end{thm}
`;
return <LaTeX content={content} macros={macros} />;
}With Vue Components
<template>
<latex :content="mathContent" :macros="macros" />
</template>
<script>
import macros from '@latex2js/macros';
export default {
data() {
return {
macros,
mathContent: `
$$\\E[X] = \\int_{-\\infty}^{\\infty} x f_X(x) \\dd x$$
`
};
}
};
</script>With HTML5 Integration
<!DOCTYPE html>
<html>
<head>
<script src="path/to/latex2html5.bundle.js"></script>
</head>
<body>
<script type="text/latex">
\begin{thm}
The Pythagorean theorem: $a^2 + b^2 = c^2$
\end{thm}
</script>
<script>
// Macros are automatically included in the HTML5 bundle
LaTeX2HTML5.init();
</script>
</body>
</html>