/latextableviewer

Local LaTeX table visualizer for quick PDF creation during the research process. Built using WASM and React.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

LaTeX Table Viewer

Background

Out of personal frustration of visualizing complicated LaTeX tables generated by code, and a passion for web development, LaTeX Table Viewer came to life! This project is my first-ever React application and I also got to play around with WASM in the makings of this. It is far from done and is being actively developed.

Instructions

Usage

Simply copy and paste your LaTeX table code into the code editor and compile your table. All compilation happens on your computer, no data/information is collected. If you need additional packages, view the full source code and add it where appropriate.

Deploying

To deploy this on your own, you just need to install all the dependencies with npm install and can then run it using npm run start or build it with npm run build.

Although all the compilation happens locally using a WASM binary, due to the nature of LaTeX, it requires running a server to fetch all the necessary LaTeX files. Thanks to the amazing work of the SwiftLaTeX team, there is a simple Docker container available to host your own server. I slightly modified it to make it compatible with modern Docker container deployments. You can download my fork here. The publicly accessible LaTeX Table Viewer uses a server hosted by me. Please host your own endpoint and change the texlive_endpoint URL in the swiftlatexdvipdfm.js and swiftlatexxetex.js files.

To compile the engine from scratch, check out SwiftLaTeX's tutorial. There are some small tweaks you need to do to get it to work nicely with webpack and web workers. You can see the tweaks in my fork. I am working on a PR to merge it with the SwiftLaTeX project.

Credits

This project is powered by SwiftLaTeX and their efforts of creating a Web Assembly binary for TeXLive. I tweaked their code slightly to make it work nice with Webpack and it is freely available on GitHub alongside this application.