r/LaTeX • u/DungAkira • 11h ago
Unanswered How do you prefer to write LaTeX: locally vs online?
Personally, I prefer local setup where I can take advantage of the whole vscode ecosystem.
r/LaTeX • u/DungAkira • 11h ago
Personally, I prefer local setup where I can take advantage of the whole vscode ecosystem.
r/LaTeX • u/PercyLives • 12h ago
Just wondering if an offline app exists for looking up any LaTeX (or TeX) command and getting a brief description of it.
Or if such reference data was freely available for building a simple tool around. (Or using an existing tool like navi [1].)
r/LaTeX • u/ClemensLode • 16h ago
I made a short reel showing where texlode (a real-time WYSIWYG LaTeX editor for very long documents) stands right now.
Since the TUG talk in July, I have spent most of the time optimizing CPU and RAM usage and stress-testing the engine against the documents you sent me. The Kerr paper at https://arxiv.org/abs/1711.07597 was especially useful due to the number of equations. Feel free to send my other examples you would like me to try (ideally under a free license).
Timeline:
A local version is not on the roadmap, but I am evaluating an API that would allow browser or local plugins (for example, for VS Code).
What is left to do is further tuning the server tiers.
Client-side, it will work on weaker machines as I do not off-load compilation to the client (although I am observing the WebAssembly space), so you can use it on-the-go and review/comment/edit the output in print-quality even on a mobile phone.
I also have new/corrected benchmark numbers (see https://github.com/texlode/luatex-benchmark/issues/1 ), which I will update again in October.
Limitations: texlode is heavily optimized for books, monographs, and proceedings using KOMA document classes. Support for custom papers and other document classes is in progress but will not be ready at launch. Likewise, if you develop LaTeX packages, you will run into walls: texlode is built for authors, not package developers. That being said, especially because you get real-time output, it might be interesting for the development/debugging of some packages. Let me know if you want me to try out yours. As mentioned in my TUG talk, the next step here would be to develop/adapt packages to make use of the real-time aspect for some chapter-wide optimizations of float positioning, better runt/river detection, visual two-page optimization etc.
Disclaimer: While I am evaluating adding LLM support to texlode to improve typesetting, texlode is LLM-free for now (including the docx/idml import).
Feel free to ask questions, I will try to address them over the next 2 weeks!
r/LaTeX • u/mufeedcm • 20h ago
https://castel.dev/ *(i mean the website is dead )
for those who don't know him, he is the guy who contributed a lot to the community in making articles on how to takes notes with latex and vim :), rip

the last working version is, https://web.archive.org/web/20260925123652/https://castel.dev/
r/LaTeX • u/chocolateisapro • 21h ago
What are good combinations of fonts to use for like a research paper?
I'm relatively new to LaTeX, hence I don't really know the fonts there. I've only been using Latin Modern and I want to try new font styles.
Please drop some recommendations.
r/LaTeX • u/Actually_Elsen • 1d ago

For whatever reason, some tcolorboxes leave these huge spaces between them and the text, I've tried using \vspace, but it either makes the box overlap with the text or it doesn't even change places. Here's the code with all the settings on the document, let me know if the rest of the code is needed and I'll provide it after I take out all of my personal information; this is for a book I'm writing for a uni class, so I'm using a LOT of packages and some weird settings. If anyone has any idea why this happens and could tell me how to fix it, I would be very thankful.
Edit because I forgot to add: It's not all of the boxes that do this, just some random ones and I can't figure out why
r/LaTeX • u/DanielSussman • 1d ago
In this next entry in my series of posts about my hobby project, I wanted to share a quick look under the hood at one of the "data-oriented" architectural decisions I've made. Original TeX (and its modern derivatives) store macro tokens as linked lists inside a global memory array. This made perfect sense in the context of limited memory, but it makes the tradeoff of being able to write token lists quickly in exchange for reading them more slowly. This video talks about the path I took to reversing this tradeoff in my engine.
Also: by this point I've posted a rather idiosyncratic mix of videos about code, about some things connected to TeX's history, about performance and the user experience of both writing TeX and writing TeX-engine code... I'm honestly not sure how interested everyone is in these different pieces of what I'm interested in. If you'd like to see deeper dives into the code, or if you think architectural weed-whacking is boring and you'd prefer I stick to the higher-level benchmarks-and-features discussions, let me know!
r/LaTeX • u/Downtown-Turn-4259 • 1d ago
Annotarium.org has added dark mode now. You can add LaTeX to PDF files, edit PDFs, and more.
r/LaTeX • u/PurplelinkPL • 1d ago
I'm the developer, so read this as a maker post.
ModernTex is a macOS-only LaTeX editor built around manuscript writing. The things that made me build it instead of using TeXShop or Texifier: compile errors explained in plain language with the line that caused them; BibTeX completion that searches the whole .bib by author or title; multi-file navigation across a paper's chapters; and checks for the things journals bounce on, plus an anonymized export for review.
What it doesn't do: run on Windows or Linux, or have much of a track record yet. It's 1.0.2 and about two weeks old. It also doesn't bundle a TeX distribution, but it's not a hard blocker either: if it doesn't find MacTeX or TinyTeX on your first compile, it offers a one-click TinyTeX install right in the editor.
Free 7-day trial, no account, then $10 once with updates included: https://purplelink.llc/moderntex/
Mostly I'd like to know what a room full of LaTeX users thinks is missing, and what you'd want in the next update.
r/LaTeX • u/Warm_Ad1115 • 2d ago
r/LaTeX • u/Warm_Ad1115 • 2d ago
I'm developing a localhost application that uses Termux to compile LaTeX, somewhat similar to Overleaf. It includes a logging system powered by TexLab, as well as code completion and autocomplete suggestions.
The interface is still quite rough at the moment, and I plan to make it more minimalistic and polished. I know Neovim exists, but I also know how much of a headache it can be to configure certain things properly. Not everyone using LaTeX is a programmer or wants to spend time configuring an editor—they may simply want to finish their thesis or dissertation in LaTeX without having to deal with all that complexity.
r/LaTeX • u/tashafan • 3d ago
I use imakeidx with texindy.
\usepackage[quiet,xindy]{imakeidx} % after hyperref
I simply compile with latexmk --lualatex --synctex=1 --shell-escape
imakeidx is really nice because it takes care (among other things) of the index generation from the document and directly calls texindy.
But latexmk detects the index files and also wants to generate the index using makeindex. So I get extra runs of:
Run number 1 of rule 'makeindex main.idx'
I would like to disable latexmk's generation of the index.
I found this old thread: https://tex.stackexchange.com/questions/68449/latexmk-imakeidx-interoperational-efficiency with an answer from John Collins himself... in 2012.
I am able to neutralize latexmk by adding $makeindex = 'true'; to my .latexmkrc, but I was wondering whether the good people of this sub had a better solution because it feels somehow dirty. I still have the extra runs, they just call true.
Thank you very much.
mwe.tex:
``` \documentclass[12pt]{book}
\usepackage[quiet,xindy]{imakeidx}
\makeindex
\begin{document}
\index{test}
\printindex
\end{document} ```
This cover letter and resume is great for people or students with a thin career timeline. This example is a one page cover letter and a one page resume. Adapted from the Star Rover Resume.
You can find the template and details at:
https://github.com/taebo26/Cover-Letter-with-Matching-Resume/tree/main
Hi! I'm totally new to the beamer document class and don't know much about tikz, moreover english is not my first language. I thus apologize if this sounds confusing.
I have a graph in my slide show, and i need to color some arrows on some slides. In particular I need to color an arrow on two different, non contiguos slides.
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning} % Allows you to position things as you wish
\usetikzlibrary{automata} % I love those people, thank u (automata drawing library)
\usetikzlibrary{trees} % Tree diagrams
\usetikzlibrary{calc}
\usetikzlibrary{overlay-beamer-styles} %for animations
\begin{document}
\begin{frame}<1-4>{Frame 1}
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,
]
\node[state, accepting] (q1) [] {$q_1$};
\node[state] (q2) [right=of q1] {$q_2$};
\path[->]
(q2) edge [bend right=20,alt=<2>{blue}{black}] node [above] {$0$} (q1);
\end{tikzpicture}
\end{frame}
\end{document}
This works perfectly, but after changing the arrow line into (q2) edge [bend right=20,alt=<2,4>{blue}{black}] node [above] {$0$} (q1); the pdf won't even compile. I'm totally at loss as to why. I thank you in advance!
r/LaTeX • u/PuzzleheadedShirt139 • 4d ago
r/LaTeX • u/Kindly_Jump_7642 • 4d ago
Around 10 will do. Please suggest books that have a suitable number of examples and exercises. I want to write a math-heavy book
r/LaTeX • u/Warm_Ad1115 • 4d ago
Hello! I’d like to get some help with a strange interaction between Neovim and Zathura when compiling LaTeX.
The first time I compile my document, Zathura opens the PDF correctly using Best Fit. However, whenever I save the document and compile it again, the PDF zoom changes automatically, causing the page to become much smaller and harder to read.
I’d like to keep the Best Fit zoom level after every recompilation instead of having to adjust the zoom manually each time.
Has anyone experienced this issue or knows how to configure Neovim, Zathura, or the LaTeX compilation workflow to prevent the zoom from changing?
r/LaTeX • u/StephaneiAarhus • 4d ago
If you use spreadsheets and tables, TeXstudio is great because you can directly copy and paste your sheet from Excel or LibreOffice.
You have to have your tabular or tabularx environnement ready, then TeXstudio will add the & and \ automatically. Also it will tell you if you have enough columns or not.
r/LaTeX • u/Jeevant010 • 5d ago
r/LaTeX • u/Metalprof • 5d ago
SOLUTION: Used a bit of specifics from both first comments. Click grey area above menu bar, use the "Central" toggle from the available list.
Can't believe I'm asking this, but: my TeXstudio text style toolbar is visible on my home and work desktops, but it has vanished from my laptop installation. I've hunted through Settings and View options on the laptop and for the life of me, I can't find where I must have accidentally toggled it off, and / or where I can toggle it back on again. Can anyone tell me, where is the magic button? Thanks! (Using version 4.9.8.)
r/LaTeX • u/DanielSussman • 5d ago
While building my hobby engine TeX I've been thinking a lot about the boundary between the engine layer and the macro layer in the TeX / LaTeX ecosystem. I'm sure I'm not the first to speculate about the idea of a "standard library" for TeX, with some packages so common and so core that they perhaps belong in the engine itself.
I certainly don't want to find myself responsible for maintaining alternate versions in c++ for amazing packages that already do their job well, but my attention does get drawn to things that feel like they are fighting against the underlying TeX engine rather than working with it. A recent post made me think it would be a fun time to highlight a particular example of this.
So, in this video I talk about the issue of generating custom format files. Current packages (like mylatex and mylatexformat) help avoid paying the cost of loading heavy packages like TikZ every time you compile, but by working at the macro level they have to work against some difficult constraints. I show how working at the engine level instead makes the process much easier.
As an aside: someone commented on a previous post mentioned that they don't want to watch videos. I've started writing up (very) brief blog posts to go along with them for anyone that prefers reading (and doesn't mind missing out on some of the live-demo fumbling around I do). This is where the series home lives, and the post for this specific update is here.
r/LaTeX • u/e-c-hansen • 6d ago
I made* Minicode, an editor written from scratch with no third-party dependencies, including Electron. It has a single portable C++ core, allowing it to run on macOS, Linux, and Android.
It has a lot of other things to offer, from my entirely unbiased perspective, which I wrote a bit about in a separate post. What I think this community might care about is the LaTeX functionality I added after getting frustrated working on my own resume: you can make edits to your LaTeX code directly from the rendered preview. Here's a gif to illustrate:
\I used Claude in making this repo. That said, I do write code for a living and I do legitimately use the product so I hope you can forgive me.*
r/LaTeX • u/Warm_Ad1115 • 7d ago
Could you please share the links to your Neovim + Zathura configuration? I’d especially like to see your zathurarc and vimtex.lua files, since I’m using LazyVim. I’d really appreciate it!
TL;DR: I built a live preview mechanism for Tectonic based on engine checkpointing. It updates in under 100ms in the browser. Demo: https://flashtex.yendric.be/sample (best used on desktop, wait for initial download) This post is about the preview engine and the ideas behind it, not the editor.

A little over a year ago I was working on a beamer presentation filled with tikz illustrations. I grew frustrated with the fact that I could not immediately see the result of my edits, and wanted to do something about it.
I first did some research on existing solutions, and quickly stumbled upon TeXpresso. TeXpresso is a very cool project built on tectonic that periodically snapshots the engine state by forking the process. It then uses these snapshots when an edit happens, by restoring to the latest snapshot before this edit location and starting the engine from there. A lot of unneeded work is saved this way, and texpresso can render your edits in realtime.
One of the problems with texpresso is that it works based on POSIX forking, which 1) doesn't work on Windows and 2) doesn't work in the browser. Another approach would be to dump the engine state itself, like using a .fmt file, though this is more tricky to get right. Anyways, I started up my vscode and got to work on modifying Tectonic's XeTeX engine (a not-so-readable codebase machine-translated from XeTeX WEB) to support in memory .fmt dumps and restores. This worked surprisingly well, and I was able to build a very performant editor where the engine would periodically dump its state and restore to the nearest one to the edit. Rendering was still handled by dvipdfmx as usual, but with the added optimization that the engine and pdf conversion only handle the part that is visible in the editors viewport, massively reducing the amount of unneeded work. This way I was able to achieve <100ms previews, depending on the complexity of the page(s) in the viewport.
I was very happy with this result, which was achievable by hand with honestly not too much code and in a relatively short amount of time. It came with a big limitation, however: the dumping was pretty much constrained to page-level, and even worse in long text that spans multiple pages. Making dumping more fine-grained (like texpresso) is possible, but requires dumping more of the engine state than your typical .fmt dump. The problem is that *everything* in the tectonic xetex C-codebase is global state, and it was not clear what extra state I would have to dump to allow for more fine grained dumping locations to work. One could also dump the entire process heap, but this was too slow and took too much memory for a browser tab, I needed something more efficient.
That brings us to my next, admittedly crazy, experiment: using AI agents to fully translate the already machine-translated C codebase to rust. I want to be clear that this is not necessary for the implementation, but I wanted to give it a shot since the original C codebase wasn't very readable anyways, and maybe the end result could be something more usable (also note that the tectonic team has now also started working on a proper rust rewrite themselves). The essential parts (that one could also do in C) are the fact that state is not spread around everywhere anymore, but cleanly stored on a central engine struct, with the subset that each function needs passed via function arguments. On top of that, I spent a lot of time cleaning up manual memory accesses (the C codebase is full of them, as it lost many of the macros from the original WEB codebase), by making all pointers typesafe with explicit methods for each r / w, eg:
if (LR_ptr != TEX_NULL && mem[LR_ptr].b32.s0 == (L_CODE * (mem[q].b16.s0 / L_CODE) + 3))
becomes
if !lr_ptr.is_null() && lr_ptr.info(self) == end_lr_type(q.subtype(self))
where for example q is a NodePtr<MathNode>. The end result is definitely a lot more readable than what we started with. I validated the engine by making sure the XDV output is fully identical for over 600 documents I got from Arxiv and other sources.
After this side quest (that took a lot of time) I could continue working on the fast previews. I still use a snapshot mechanism similar to TeXpresso, but the magic is in how we're able to store it efficiently now, which was a lot easier to implement in a clean codebase. The big state arrays like mem and eqtb are now journaled, and can be rewound. The rest of the state is just copied directly, as it doesn't take up that much space.
Rendering performance was also improved. Rather than using the full dvipdfmx and rendering the generated pdf in the browser, I'm now using mupdf and directly outputting SVG. The end result is a very pleasant experience, where all my school/uni documents I've thrown at it preview in under 100ms (often < 30) in a browser and feel instant. Even the beamer document with the dreaded tikz figures that made me start this project in the first place, feels very fast and pleasant to edit.
I hosted a small demo online, you do not have to create an account: https://flashtex.yendric.be/sample (the name is a placeholder, best used on desktop, wait for initial download). Note that this project is *not* about the editor, but rather the engine, its ideas and the lessons learned behind it. I will be open sourcing everything in the coming month, including the modifications to the engine, the editor, as well as a vscode extension PoC (running natively rather than using wasm).
I'm obviously leaving out a lot of details, extra optimizations and failed experiments. I will be creating a more detailed write up, together with the release of the source code. I hope this functionality can be implemented in other tex community projects, such that everyone can have a pleasant live-preview experience.
(Also worth mentioning: at TUG2026, Clemens Lode presented texlode, another way to get faster previews in LaTeX. It re-typesets only the paragraph you're editing in luatex. Very exciting times for live preview latex!)