TBLCVT(1)
π TBLCVT(1) π
okay so bestie, welcome to the General Commands Manual, section 1 β this is the glow-up era of tblcvt, and she's about to change your whole table-processing life fr fr π
β¨ NAME β¨
tblcvt β a troffcvt preprocessor that converts tbl-format tables π¦
πΈ SYNTAX πΈ
tblcvt [ file ] ...
π DESCRIPTION π
so tblcvt goes through your troff input looking for tables β the ones that would normally get handled by the tbl program, i.e. lines bracketed by the .TS table start and .TE table end requests. she parses the table specifications and the data, then converts all of it into a form that troffcvt can handle way more easily. and why do we care?? because document processing commands that use troffcvt only know the troff input language, and they literally know nothing about the tbl input language. so tblcvt is doing the translating, and she's serving π«Ά
tblcvt is a direct replacement for tbl. so like, imagine you'd normally process a document using tbl and troff (or groff, etc.) like this:
% tbl file ... | troff ...
to format that same document using tblcvt and troffcvt, you'd use a command like this instead:
% tblcvt file ... | troffcvt ...
but lowkey, it's way more likely that you'll be using one of the troffcvt front ends such as troff2html rather than troffcvt directly. so troffcvt in that command up there can just be swapped for the name of the front end:
% tblcvt file ... | troff2html ...
now, if it seems like troffcvt or a front end is not reading the output from tblcvt, here's the fix bestie: specify - after the option list to explicitly tell them to read the standard input after they've processed their other options:
% tblcvt file ... | troffcvt ... -
% tblcvt file ... | troff2html ... -
periodt. that's the whole vibe β¨
π DIAGNOSTICS π
diagnostic messages get written in this format:
tblcvt:line l (table t, section s): message...
what this is telling you: a problem was detected at line number l, and tblcvt considers that line to be part of table number t and section s within the table. section numbers start at one and get incremented for each .T& request that occurs within a table specification. iykyk π
π SEE ALSO π
troffcvt(1)tblcvtβ A troffcvt Preprocessor
π WHO-TO-BLAME π
Paul DuBois, dubois@primate.wisc.edu.
π BUGS π
for the most part, tblcvt assumes your tables make sense β i.e., that they're legal according to the tbl input language. she may complain about malformed table constructs (if she detects them), but she may also get confused by them and generate garbage output. so like, not her fault, but also kind of her fault π
π¨ real talk:tblcvtgenerates troff output that uses long request names, so you can't use compatibility mode-C(option) withtroffcvtor atroffcvtfront end. no cap, that one's just not happening.
also β tblcvt doesn't support vertically-spanned lines. she prints a warning when she detects one, but the table output won't be correct. so heads up πΈ
and that's the whole page bestie!! π¦β¨ this was section 1 of the General Commands Manual, filed under TBLCVT(1) β catch you in the group chat, mwah π
π
π¦ where this page comes from
- debian bookworm: troffcvt 1.04+repack1-1
- ubuntu noble: troffcvt 1.04+repack1-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms