Fixes
- WebAssembly & initialization
- Fix TikZJax WebAssembly initialization issues.
- Fonts & symbol rendering
- Override DVI parser `machine.putText` to use split character code offsets from `tikzjax.js`.
- Map codes 0–9 starting at 161 to fix incorrect Γ rendering (was showing as Θ).
- Map codes 10–19 starting at 173 to resolve Ω and ⊗ collisions with soft hyphen.
- Layout & rendering
- Fix SVG clipping by switching to `position: relative` with `overflow: visible`.
- Adjust inline SVG behavior to prevent top-of-page clipping.
- Type compatibility
- Cast types to `unknown` in `TikzJaxLoader` and worker functions for compatibility.
- Error handling & cleanup
- Improve error handling across TikZ components.
- Remove unused dependencies and unnecessary console logs.
Features
- Package loading system
- Add robust dependency resolution in `loader.ts` for:
- `tikz-cd`
- `tikz-feynhand`
- `pgfcalendar`
- Ensure required libraries and keys load dynamically on demand.
- Rendering & layout improvements
- Enhance SVG bounding box calculation.
- Implement dynamic column width calculation.
- Improve row and column layout alignment and responsiveness.
- TikZ editor enhancements
- Add keyboard shortcut tooltips to sidebar buttons.
- Introduce thickness control slider for elements.
- Improve snapping system with modes:
- grid
- half
- none
- Add support for new shapes:
- circles
- rectangles
- triangles
- Improve TikZ code generation error handling.
Improvements
- Selection & editing UX
- Add lasso selection for multiple vertices in `CanvasGrid`.
- Support multi-element editing in `RightSidebar`.
- Refactor `TikzEditorModal` to handle multiple selected vertices.
- Enable batch updates for selected elements.
- Layout & styling
- Compact `.block-language-tikz` layout:
- margin: `1.5em 0` → `0.3em 0`
- padding: `1rem 0` → `0`
- Improve canvas controls and interaction styles.
- Component refactoring
- Refactor `CanvasGrid` to use template literals.
- Replace inline styles with `setCssStyles`.
- Improve `TikzCodec` node naming clarity.
- Improve `history manager` type safety with `EditorElement`.
- Use `window.setTimeout` in asset manager for better compatibility.
- Accessibility & UI polish
- Improve sidebar button titles and tooltips.
- Standardize live preview overlay button titles.
- Clean up modal styling and text consistency.
Documentation
- Revamp TeXcore plugin documentation:
- Clarify PDF export features and settings.
- Improve quick preview architecture explanation.
- Enhance equation search and autocomplete docs.
- Streamline snippets usage and transformations.
- Expand TikZ diagrams section with graphical editor guide.
- Improve getting started guide with clearer steps.
- Add navigation and configuration updates.
- Update plugin manifest descriptions for clarity.
2.2 KiB
Callout Support
TeXcore seamlessly integrates with Obsidian's native Callout system. Writing display math inside block quotes requires prepending the callout character > to every single line. TeXcore parses these prefixes automatically to keep your formula coordinates indexed, numbered, and styled correctly without breaking the callout container.
Indentation Syntax
When drafting formulas inside a callout box, make sure that all lines inside the math block maintain the correct prefix.
=== "Standard Callout"
markdown > [!theorem] Green's Theorem > $$ > \oint_C (L \, dx + M \, dy) = \iint_D \left(\frac{\partial M}{\partial x} - \frac{\partial L}{\partial y}\right) dx \, dy > % id: eq-greens > $$
=== "Nested Callouts"
markdown > [!note] Parent Callout > Outer text body. > > [!tip] Nested Equation > > $$ > > e^{i\pi} + 1 = 0 > > % id: eq-euler > > $$
Automatic Fix Command
Inconsistent callout prefixes (like a missing > on the % id: line or closing $$) will cause Obsidian to break out of the callout box. To resolve this, use the automatic fix tool:
- Open the Command Palette using ++ctrl+p++ (or ++cmd+p++ on macOS).
- Type and select
Fix callout equations in active note. - TeXcore will scan your active note, detect broken display blocks inside callouts, and automatically prepend missing prefixes or normalize spacing to a clean
>.
| Prefix Error Pattern | Fix Applied | Result |
|---|---|---|
Missing > prefix on % id line |
Injects missing callout character. | > % id: eq-name |
Missing > prefix on closing $$ |
Injects missing callout character. | > $$ |
Inconsistent spacing (e.g. > $$) |
Normalizes prefix spacing. | > $$ |
PDF Export & Preview Compatibility
Callouts containing math blocks fully support all other TeXcore features:
- Hover Previews: Hovering over inline references correctly renders the callout box context inside the Page Preview Popup.
- PDF Compilation: The callout color styles, borders, and equation number tags are preserved in the compiled PDF Export.