[WIP] Tiny LaTeX viewer for TI-84 Plus CE (fractions, super/subscripts, smooth scrolling)
I’m building a mini LaTeX pipeline for the TI-84 Plus CE: write notes in a tiny LaTeX subset on PC, convert them, and read them on-calc with proper fractions and superscripts/subscripts.
Repo: https://github.com/daniSoares08/LatexViewer-in-TI-84-Plus-CE
Goal: practical readability on the CE’s 8×8 font — class notes, step-by-step solutions, and formula sheets. Not full TeX.
What works today
Build & run (manual steps)
Code:
LaTeX subset (what you can write)
Code:
Helpful aliases (converter maps to ASCII)
Code:
Example .tex
Code:
Status
Want to help?
Questions, ideas, PRs welcome!
https://github.com/daniSoares08/LatexViewer-in-TI-84-Plus-CE
I’m building a mini LaTeX pipeline for the TI-84 Plus CE: write notes in a tiny LaTeX subset on PC, convert them, and read them on-calc with proper fractions and superscripts/subscripts.
Repo: https://github.com/daniSoares08/LatexViewer-in-TI-84-Plus-CE
Quote:
Goal: practical readability on the CE’s 8×8 font — class notes, step-by-step solutions, and formula sheets. Not full TeX.
What works today
- On-calc viewer (.8xp): real fractions, inline super/subscripts, line & paragraph breaks.
- Word-wrapping for long text (prevents “writing over itself”).
- Anti-flicker scroll (top line is skipped once it leaves the screen).
- Smooth ↑/↓ scrolling (edge-trigger) and instant exit with ON.
- PC converter (tools/tex2ce.c → tex2ce.exe): parses the subset and outputs bytecode.
- ASCII-only sanitization + aliases so common LaTeX commands don’t print literally.
Build & run (manual steps)
Code:
# 1) Compile the converter (desktop)
gcc -O2 tools\tex2ce.c -o tools\tex2ce.exe
# 2) Convert .tex -> bytecode
tools\tex2ce.exe tools\YOUR.tex tools\out.bin
# 3) Pack into an AppVar (.8xv) with internal name (<= 8 chars)
convbin -r -k 8xv -n NAME -i tools\out.bin -o tools\NAME.8xv
# 4) Build the viewer (.8xp) pointing to that name
make clean
make NAME=NAME CFLAGS="-Wall -Wextra -Oz -DDOC_NAME=NAME"
# 5) Send to the calc
# - bin\NAME.8xp (program)
# - tools\NAME.8xv (AppVar with internal name NAME)
LaTeX subset (what you can write)
Code:
Fractions: \frac{NUM}{DEN}
Superscripts: x^2 x^{10}
Subscripts: y_1 A_{k+1}
Line break: \
Paragraph: (blank line)
ASCII only: yes (no Unicode)
No breaks inside: \frac{...}{...}
Scientific notation: 2.8e-8
Helpful aliases (converter maps to ASCII)
Code:
\rho -> rho \pi -> pi \varepsilon, \verepsilon -> epsilon
\approx, \simeq -> ~= \Rightarrow -> => \rightarrow, \to -> ->
\left, \right, \Big, \big -> (discarded; normal parentheses remain)
\int -> integral \quad -> (one space)
\cdot -> * \times -> * \leq -> <= \geq -> >= \neq -> != \pm -> +/-
\ (backslash+space) -> normal space
Example .tex
Code:
EX1 - RC steady state
Given: R1 = 2.25 ohm, R2 = 4.61 ohm, C = 6.99e-6 F, Q = 12e-6 C. \
V_C = \frac{Q}{C}, I = \frac{E}{R1+R2}, and V_C = I*R1
=> E = \frac{Q}{C} * \frac{R1+R2}{R1}. \
E ~= 5.23 V.
Status
- ✅ Stable rendering & scrolling; converter hardened (CR/LF handling, aliases, ASCII sanitize).
- 🚧 Not yet: general math symbols, wrapping inside fractions (NUM/DEN are single line), document browser UI.
Want to help?
- C/CEdev: spacing/profiling, tiny menu/UI, glyph width cache.
- Parser: more safe aliases, friendlier errors for malformed \frac.
- Content: classroom templates and examples.
- Testing: deep nesting, long docs, various OS versions / CE Python models.
Questions, ideas, PRs welcome!
https://github.com/daniSoares08/LatexViewer-in-TI-84-Plus-CE