LatexToCalc is a powerful Chrome extension that simplifies working with mathematical formulas. It now includes two major features:
- LaTeX to Calculator Converter - Translates LaTeX formulas into calculator-compatible syntax (TI-Nspire CX CAS or Speedcrunch)
- MathJax to LaTeX Converter (NEW!) - Click on any MathJax equation to copy it as LaTeX
- MathJax to LaTeX Support: Click on any MathJax equation on a webpage to instantly copy it as LaTeX
- Tabbed Interface: Clean, organized popup with separate tabs for each feature
- Feature Toggles: Enable or disable each feature independently
- Improved Performance: Optimized code structure with modular architecture
- Enhanced Compatibility: Better support for various math websites
- Translates LaTeX formulas to TI-Nspire or Speedcrunch syntax
- Keyboard shortcut:
Ctrl + Shift + Z(customizable) - Works with selected text, focused equations, or clipboard content
- Server-based translation for accuracy
- Customizable constants handling (Coulomb's constant, Euler's number, etc.)
- Click-to-copy functionality for MathJax equations
- Visual hover highlighting
- Supports both SVG and CHTML MathJax formats
- Works on any website with MathJax equations
- Special optimizations for kampus.sanomapro.fi
- Select a LaTeX formula on any webpage, or copy it to your clipboard
- Press
Ctrl + Shift + Z(or your custom shortcut) - The translated formula is automatically copied to your clipboard
- Paste it into your calculator
- Navigate to any webpage with MathJax equations
- Hover over an equation to see the purple highlight
- Click on the equation
- The LaTeX code is automatically copied to your clipboard
- You'll see a "Copied!" notification
- TI-Nspire: Optimizes output for TI-Nspire CX CAS calculators (default)
- Speedcrunch: Formats output for Speedcrunch calculator
- Constants: General toggle for mathematical constants
- k as Coulomb's constant: Treats 'k' as Coulomb's constant in equations
- e as Euler's number: Treats 'e' as Euler's number (β2.71828)
- i as imaginary unit: Treats 'i' as the imaginary unit (β-1)
- g as gravity: Treats 'g' as the gravitational constant
- Enable/disable LaTeX to Calculator converter
- Enable/disable MathJax to LaTeX converter
The extension has been tested and works perfectly with:
- math-demo.abitti.fi
- sanomapro.fi
- kampus.sanomapro.fi
- mafytaulukot.fi
- maol.otava.fi
- Any website using MathJax for equation rendering
- Visit the Chrome Web Store page for LatexToCalc
- Click Add to Chrome
- The extension is ready to use!
- Clone or download this repository
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" in the top-right corner
- Click "Load unpacked" and select the
LatexToCalcfolder - The extension is now installed
- LaTeX to Calculator:
Ctrl + Shift + Z(Windows/Linux) orCmd + Shift + Z(Mac) - To customize: Visit
chrome://extensions/shortcuts
- Shortcut not working: Visit
chrome://extensions/shortcutsto set/verify the shortcut - Translation fails: Check your internet connection (server-based translation requires internet)
- No output: Ensure you have text selected or content in clipboard
- Equations not clickable: Refresh the page - the extension needs to detect MathJax elements
- No hover effect: Check if MathJax to LaTeX is enabled in settings
- Wrong output: Some complex equations may require manual adjustment
- The extension only processes mathematical formulas
- LaTeX to Calculator sends formulas to our secure translation server
- MathJax to LaTeX works entirely locally in your browser
- No personal data is collected or stored
- All settings are saved locally in your browser
- Modular Design: Separate modules for each feature
- Namespace Isolation: Features don't interfere with each other
- Performance Optimized: Lazy loading and caching mechanisms
- Clean Code: Well-documented and maintainable codebase
LatexToCalc/
βββ manifest.json # Extension configuration
βββ popup.html/js # Unified popup interface
βββ content.js # Main content script
βββ background.js # Service worker
βββ config.js # Configuration constants
βββ timing.js # Performance tracking
βββ mathJaxToLatex/ # MathJax to LaTeX module
βββ content-mjl.js # MathJax detection and conversion
βββ translate.js # Core conversion logic
βββ utils.js # Utility functions
βββ config/ # Configuration files
βββ modules/ # Conversion modules
Contributions are welcome! Please feel free to submit issues or pull requests on our GitHub repository.
This extension is provided as-is for educational and personal use.
Created by Otso VeisterΓ€
- Fixed: Allow typing in \cases and \matrix fields
- Added: Domain exclusion logic to disable MathJaxToLatex on specific domains
- Updated: Warmup expression, dynamic version display in popup, and settings separator
- Added: CONTRIBUTING.md with contribution guidelines
- Added: GNU GPL v3 License
- Updated: Issue templates
- Files updated: manifest.json (version bump), mathJaxToLatex/content-mjl.js, background.js, popup.html, popup.js, styles.css, mathJaxToLatex/config/settings.js, CONTRIBUTING.md, LICENSE, .github/ISSUE_TEMPLATE/
- Integrated MathJaxToLatex into the main extension
- Added tabbed interface and feature toggles
- Improved performance with modular architecture
- Refactored configuration settings and timing management
- Updated default settings to disable constants option
- Files updated: README.md, manifest.json, mathJaxToLatex/ (multiple files), popup.html, popup.js, background.js, config.js, content.js, timing.js
- Initial public release
- LaTeX to Calculator conversion
- Support for TI-Nspire and Speedcrunch
- Customizable constants handling
Special thanks to all users who provided feedback and suggestions for improvements!