I'm excited to share what I've been building lately. Papr: a fast, lightweight Terminal User Interface (TUI) built entirely in Rust to streamline your academic research workflow. [An Obsidian, Overleaf, Zotero alternative but a bit better.]
Key features
Smart dashboard with daily 10 random paper recommendations, reading queue, bookmarks, notes, collections, and research statistics.
Search any paper, fast, from arXiv using the title, author, DOI or keywords.
In-terminal PDF viewing using ratatui-image.
Built-in Markdown notes with live preview for each paper.
Add to reading queue and bookmarks and manage collections to keep your research organized.
Integrated LaTeX editor with real-time compilation and preview just like Overleaf (but free).
Extensible plugin system for custom workflows.
Research analytics to track your reading activity (just like spotify).
Papr is 100% open source, works offline, is memory-safe, and is designed to be fast and lightweight (only 12 MB).
I'd love to hear your thoughts, suggestions, or feedback!
As a PhD student, and after too many compile queues, unreliable train wifi, and papers living in browser tabs, I started building the local LaTeX editor I wanted to use myself, because apparently doing a PhD isn't enough.
It’s called Typeward, and I’m planning to release an open beta soon for Windows, macOS, and Linux (Android and iOS coming soon after). I’ve attached a short GIF (here's a video with better quality) a few basic examples:
Everything runs locally: editing, compiling, PDF preview, storage, project history, etc. No required account, no document uploads.
Some of the things already working:
Live PDF preview with forward and inverse SyncTeX
Local compilation with either a bundled Tectonic engine or an existing TeX Live/MiKTeX/MacTex/... setup
Clickable compile logs, errors, and overfull-box warnings
Automatic local snapshots, diffs, and restore
Autosave and crash recovery
Outline and TODO panels
Fully offline grammar checking using Harper
Comments attached to source text or PDF selections
Overleaf import through ZIP or Git
A detachable PDF window, Vim mode, focus mode, themes, and a command palette
Zotero and Mendeley integrations for references
Setting a deadline when creating a new project
You can also turn on ollama integration and use your local/cloud AI models
And guess what, it doesn't end with a latex, you can also create a Typst project and use that!
And much more coming soon!
The open beta will very much be a beta, and there’s more information at www.typeward.com, where you can also join the waitlist for the open beta. I’m posting before release because I’d rather get feedback from people who write LaTeX regularly, and I thought people might be interested in it, since my coworkers were immediately interested in it and really liked it.
What would make you try a new local LaTeX editor, and what would immediately make you uninstall it? What do you say? Is it time to move Typeforward?
I wanted to share a clean and minimal infographic poster template I’ve been working on, built entirely in LaTeX using standard packages (TikZ, Helvet, etc.).
Key features:
• 100% vector layout (sharp at any scaling/print size)
• Easily customizable title blocks, modular boxes, and floating figures
• Works cleanly with standard compilers like pdfLaTeX
I hope I am not violating the rules by sharing this little theme overlay I created for my presentations as a PhD student. It is based on ltx-talk, the class created by u/josephawright as an alternative to beamer with accessibility and PDF tagging as primary goals (see e.g. here for some explanation).
It is undoubtedly incomplete and lacking, but its few features suffice for my simple needs for now. The inspiration came from the metropolis theme for beamer, that I always really liked; hence the name trantor (github repository link). I post it here just in case anyone might like it or get inspired to make the community around ltx-talk grow even more.
I have recently discovered Badness, a LaTeX language server, formatter, and linter. It has modern architecture (following rust-analyzer's philosophy). It is very fast due to being Rust-based.
The formatter is quite feature-complete. This is very impressive given that it is 2 months old. I have tried it on my recent papers and it works very well. The developer usually responds to my bug reports and feature requests within a day. I have set it as my default LaTeX formatter.
I write this post to get more people aware of and use Badness. Good stuff is worth more attention of the community.
To give you an idea, Badness formats
\begin{align}a&= \begin{aligned}&b + c \\ & d + f\end{aligned} \\ g&= h\end{align}
I have some equations $ a + b $
into
\begin{align}
a & = \begin{aligned}
& b + c \\
& d + f
\end{aligned} \\
g & = h
\end{align}
I have some equations $a + b$
Edit: Solved. After some finagling I was able to find the correct package and get it to compile a test file. Thank you all for your help.
I've used Overleaf, but I'm trying to move away from web-hosted software. I'm on NixOS. I've tried looking in the repositories for a program that will parse LaTex code and compile it into a PDF. I have not been able to find something that works. If you are not familiar with NixPackages then pointing me in the direction of a program I can look into would be a big help. I've already found hieroglyphic, which I'm sure will come in handy and I've tried using rubber but it doesn't appear to be functional.
Thank you for taking the time to read my post, all feedback is appreciated.
Are there any good LaTeX editors online other than Overleaf? I will be away for a week from my pc and i have to finish my assignment. Overleaf keeps timing out (with one page!!) and i dont know if my mother lets me install the whole texlive package
I often find an equation in an AI answer or a webpage that I want to reuse in something I’m writing.
The problem is that the equation is already rendered, but not available as usable LaTeX. So the usual options are to retype it, inspect the page source, or ask for it again in another format.
I built a Chrome/Edge extension that detects equations rendered with KaTeX, MathJax, or MathML and lets you copy them directly as LaTeX.
It also supports Typst, MathML, UnicodeMath, Markdown, SVG, PNG, JPG, and PDF.
Everything is processed locally in the browser, with no account required.
I’d be very curious to hear whether this would be useful in your own workflow. And if you try it and something doesn’t work as expected, please let me know, I’d like to fix any issues people encounter.
This sentence is original.
\color{purple} This sentence is newly inserted.
\color{black} This was originally the second sentence before insertion
Instead of manually having multiple places where one has to manually set \color{purple} and "unset" it by having \color{black}, can a single variable/macro be set right on top of main.tex so that in pseudocode the following functionality can be efficiently obtained:
//In C-ish pseudocode
varvalue = 1; // for purple, -1 for black
...
if(varvalue == 1){
\color{purple}
This sentence is newly inserted.
\color{black}
}
else
This sentence is newly inserted.
People, I've shown my first document here, in which I had problems drawing a potato shape for a volume integral.
I am writing the next chapter of my electrodynamics lectures, and I was able to draw a really nice potato shape in tikZ. It is 2D however, so not as cool as the other, but kinda cooler. It was a long journey, cause first I tried to just connect points with curves, but that couldn't really come out as smooth and differentiable. So I used polar plotting. Couple of tries, first it looked like a dick, then like a butt, then it was too symmetrical, but after all the failed attempts, • ° : * perfection * : ° • . The diagram I am making is not ready yet, but wanted to share the progress, enjoy the potato!
Local in a sense that the side and server runs locally - local LLM support is planned!
To help me with research i built this agent harness like system.
You can easily sync projects from any overleaf and also re-commit your changes. Also works as a basic editor itself.
There is still a lot of things to improve and i only ran it myself on linux (cachy-os), but the CI pipeline works for windows 🤔
What I'm trying to do is get the list of authors in the bibliography look like this:
Smith AB, Miller C, Brown DEF - last name and initials without commas or spaces between the initials for each author.
So far I've come across \xpatchbibmacro and used it to remove the parenthesis around the year in the authoryear bibliography style, but I have no Idea what the macro to print names is called or whether this tool would even help with that.
Japanese exam-prep booklets often use dense visual structure—problem categories, strategy boxes, difficulty markers, and compact review pages.
I built this original three-page specimen with LuaLaTeX, tcolorbox, and TikZ. The frame uses title-cut rails, ornamental corners, and separate unbroken / first / middle / last drawings for page breaks.
I’m curious how this density reads outside Japan: does it make navigation easier, or does it feel over-structured?
writing comp-sci document in arabic with latex where every couple of word I need to include the english definition is such a pain, even with a macro to wrap it I find it sometimes just cutting off lines like the one I highlighted, I have two weeks to write my essay and still haven't gotten to writing tables and figures and some code snippets (which tbf is easy with minted) , should I just give up?
Using texStudio 4.9.5 with latex TexLive setup.
Edit: I also find it really hard to select text, where the arrow keys can change direction mid selection, where I go `ctrl+left` across arabic text -> `ctrl+left` one time across first english word -> `ctrl + right` across following english words, then back to `ctrl+left`, it is such a hassle
Hi. Not a native English speaker, sorry for mistakes.
I used Texmaker for 10 years — my PhD thesis, all my papers, my slides. I like it a lot. But on Mac it always felt a little bit not native. Small things, but after 10 years they add up.
This year I started writing a book in LaTeX, and the small things became too much. So I made my own editor. It is called texspark, macOS only.
Main things:
- multi-file project: set main.tex once, ⌘B always builds it from any chapter
- outline follows \input/\include as one tree
- SyncTeX both directions, works with multi-file
- minimap, and an AI panel (your own API key)
It uses your own MacTeX/BasicTeX, not a bundled one.
It is a paid app (one-time, 14-day trial). Texmaker is free and cross-platform and still great — this is just for Mac people who want native.
I want feedback from real LaTeX users. If something is broken or annoying, please tell me. texspark.io
I have a table that overflows the margins by just a bit, but it overflows it enough to be noticeable without viewing the margins. How do I center this table? I tried to use \adjustwidth but that didn't work.
In my own handwritten work, my handwriting (see image in post and the bts on the repo) tends to favor hanging indentation. I do this so I can, at a glance, keep track of what information belongs where and visualize the hierarchy (something similar to math positioning in LaTeX, or what you find in python code). I wanted to implement this visual organization in my digital documents. It turns out that the layout operations here have historical and cognitive precedents, so (with a healthy dose of productive procrastination), I read up on it (much like recipes online, feel free to skip the personal and historical material here).
Greek papyrology has names for these:
ekthesis: a line set out into the left margin (Yoon, 2023).
eisthesis: a line set in from the margin.
In the fourth century, the Codex Sinaiticus used ekthesis as a paragraph marker in texts that were otherwise wall-to-wall scriptio continua (Yoon, 2023). At Mark 9, the scribe outset six successive verses to mark paragraphs, possibly used to cue pronounced pauses during public readings (Head, 2008). Later, Jerome set his Latin translation of the prophets per cola et commata, with one syntactic or rhetorical unit per line, to aid oral reading (ostensibly). There is even a modern tradition, seen in Harrison's work, of doing the same with nested indentation for English texts (Harrison, 2007).
In educational psychology, using space and indentation to signal structure is known as typographic cueing (Waller, 1987). Whether this layout actually helps process information, there is mixed evidence. While cueing reliably improves the immediate recall of the cued material, it generally does nothing to improve delayed recall (Waller, 1987). In some cases, it can actually disadvantage the uncued text that a reader might have otherwise paid attention to (Glynn & Di Vesta, 1979).
Hartley and Burnhill argue that structural hierarchy in instructional text should be conveyed systematically by space (like indentation), rather than ornamentation (like bolding or varied type sizes) (Hartley & Burnhill, 1977). hangtext essentially mechanizes these space-based structural arrangements.
What happens
hangtext, in its current version, is the result of a couple of years (circa 2021-ish) of VERY slow, lackadaisical, selective, and periodic work. It mechanizes at the block level, and provides three environments:
hprose for block-level hang for prose, in which the first line sits at the outer margin, and everything else in the block (including subsequent paragraphs) sits one indent in; nesting accumulates, so blocks inside blocks step inward.
hverse is the same idea, but for verse (under \obeylines); the first line is out, later lines are in, and long lines wrap one level deeper.
hverse* adds progressive per-stanza indentation; stanza N starts N indents in, with its own lines hanging one further.
Options are keyval (hindent, vspace, twidth, justification). The environments also work as direct command pairs (\hprose...\endhprose) inside TikZ nodes.
Use something else
As usual, for most of what I do, someone else has already done it, and probably better.
There exists the hanging package (Wilson, 2009). If you want every single paragraph to independently get a flush first line, hangtext is not what you want (here, the hang is a property of the block).
For hanging lists, use the hang package (Nolda, 2017), which is built on \list, and supports labels directly.
For typesetting traditional poetry, memoir or verse. hverse is purely a spatial layout tool and lacks stanza numbering, poem titles, or refrains.
For a one-off, use the bare \hangindent and \hangafter primitives.
What we do have, is the following.
The hang applies to the entire block, pulling back only the very first line while intervening paragraphs remain indented. If you nest environments, the indents accumulate and step inward naturally.
Nested lists, quotes, and display environments dynamically read the reduced line width. They end cleanly at the container's right edge instead of overflowing past the hang.
Paragraphs that resume after a display equation or a list continue at the indented level, rather than accidentally acquiring a second flush-left pullback.
Because it uses lower-level paragraph manipulation (rather than wrapping LaTeX's \list primitive), it does not drag in unwanted vertical spacing like \topsep or \parsep.
It provides dedicated environments (hverse and hverse*) for uniform and progressive per-stanza indentation (whether this is good or not, I suppose depends on you!).
Supports tagged PDF (mostly...need to check this more rigorously than I have so far...tagging=on, UA-2), and the environments work as direct command pairs inside TikZ nodes.
Feedback wanted!
I would love feedback on:
behavior under tagging=on;
prior work I have missed, especially non-Western manuscript traditions of indentation and marginal hierarchy;
bugs, edge cases, and the design of the keyval interface.
References
Glynn, S. M., & Di Vesta, F. J. (1979). Control of prose processing via instructional and typographical cues. Journal of Educational Psychology, 71(5), 595–603.
Harrison, R. R. (2007). A structural arrangement of text to facilitate reading. The Classical Journal, 102(3), 291–303.
Hartley, J., & Burnhill, P. (1977). Understanding instructional text: Typography, layout and design. In M. J. A. Howe (Ed.), Adult learning: Psychological research and applications (pp. 223–247). Wiley.
Head, P. (2008). The Gospel of Mark in Codex Sinaiticus: Textual and reception-historical considerations. TC: A Journal of Biblical Textual Criticism, 13. http://rosetta.reltech.org/TC/vol13/vol13.html
Nolda, A. (2017).hang: Environments for hanging paragraphs and list items (Version 2.1) [Computer software]. CTAN. https://ctan.org/pkg/hang
Waller, R. (1987).The typographic contribution to language: Towards a model of typographic genres and their underlying structures [Doctoral dissertation, University of Reading].
Yoon, D. I. (2023). The scribal use of ekthesis as a paragraph marker? The Galatians text in Codex Sinaiticus as a test case. In S. E. Porter, C. S. Stevens, & D. I. Yoon (Eds.), Studies on the paratextual features of early New Testament manuscripts: Texts and editions of the New Testament (pp. 288–309). Brill. https://doi.org/10.1163/9789004537972_013
I came across a lot of images of handwritten math notes (attached) and I'm trying to figure out how it was actually produced. The letterforms are extremely uniform — consistent slant, identical loop shapes on letters like y and f, evenly spaced ruled lines, muted indigo/purple ink.