---
name: "tblcvt"
section: "1"
platform: "linux"
package: "troffcvt"
version: "1.04+repack1-1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/tblcvt"
---

# tblcvt(1)

troffcvt preprocessor to convert tbl-format tables

## NAME

tblcvt - *troffcvt* preprocessor to convert *tbl*-format tables

## SYNTAX

**tblcvt** \[ *file* \] ...

## DESCRIPTION

*tblcvt* examines *troff* input for tables that would normally be processed by the *tbl* program, i.e., for lines bracketed by the **.TS** table start and **.TE** table end requests. *tblcvt* parses table specifications and data and converts it to a form that *troffcvt* can more easily handle. This is useful for document processing commands that use *troffcvt*, since *troffcvt* has knowledge only of the *troff* input language, and knows nothing of the *tbl* input language.

*tblcvt* is a direct replacement for *tbl*. Suppose you would normally process a document using *tbl* and *troff* (or *groff,* etc.) like this:

`% tbl file ... | troff ...`

To format the document using *tblcvt* and *troffcvt*, use a command like this:

`% tblcvt file ... | troffcvt ...`

Actually, it's more likely that you'll be using one of the *troffcvt* front ends such as *troff2html* than that you'll be using *troffcvt* directly. *troffcvt* in the preceding command may be replaced by the name of the front end:

`% tblcvt file ... | troff2html ...`

If it seems that *troffcvt* or a front end are not reading the output from *tblcvt ,* specify **-** after the option list to explicitly tell them to read the standard input after processing their other options:

```
% tblcvt file ... | troffcvt ... -
% tblcvt file ... | troff2html ... -
```

## DIAGNOSTICS

Diagnostic messages are written in this format:

`tblcvt:line `*l*` (table `*t*`, section `*s*`): `*message...*

This indicates that a problem was detected at line number *l*, and that *tblcvt* considers the line to be part of table number *t* and section *s* within the table. Section numbers start at one and are incremented for each **.T&** request that occurs within a table specification.

## SEE ALSO

[**troffcvt**(1)](/troffcvt/1.md)

*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., are legal according to the *tbl* input language. *tblcvt* may complain about malformed table constructs (if it detects them), but it may also get confused by them and generate garbage output.

*tblcvt* generates *troff* output that uses long request names, so you can't use compatibility mode **-C  (** option) with *troffcvt* or a *troffcvt* front end.

*tblcvt* doesn't support vertically-spanned lines. It prints a warning when it detects one, but the table output won't be correct.
