---
name: "texi2roff"
section: "1"
platform: "linux"
package: "zmailer"
version: "2.99.55-3"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/texi2roff"
---

# texi2roff(1)

convert Texinfo documents for formatting by troff.

## NAME

texi2roff, texi2index - convert Texinfo documents for formatting by troff.

## SYNOPSIS

**texi2roff** \[ **-me -mm -ms** \] \[ **-iIt** \] \[ file ... \]\
 **texi2index** \[ file ... \]

## DESCRIPTION

*Texi2roff* translates the named *file*s from the Texinfo macro language for TeX to the language accepted by [*troff*(1)](/troff/1.md). Files are read and processed in order. If no *file* is given or if the *file* is **-** *texi2roff* reads the standard input.

*Texi2index* generates indices for documents translated by *texi2roff*.

## OPTIONS

*Texi2roff*

- **-me -mm -ms**

  format the output for use with the *troff* macro package named.

- **-i**

  translate Texinfo index commands into  *troff* index commands. *troff* will then emit index entries onto the standard error output. You may capture this output and use *texi2index*(1) and *troff* to prepare indices from it.

- **-I**

  include Texinfo \`\`Info file'' menu and node contents and **@ifinfo** text in the output. This material does not appear in a Texinfo document formatted by TeX, but may contain interesting information or be useful when searching a machine-readable document.

- **-t**

  (transparent) print text affected by otherwise discarded commands, for people who are afraid of missing something.  For best results use **-It**.

## EXAMPLES

Translate **doc.texinfo** using the Bourne shell [*sh*(1)](/sh/1.md). Format with *troff* and **-ms**, placing the formatted output in **doc**, index entries in **index**, and the formatted index in **doc.index**.

```
$ texi2roff -i -ms doc.texinfo | troff -ms > doc 2> index
$ texi2index index | troff -ms >doc.index
```

As above, but use the C shell [*csh*(1)](/csh/1.md), *nroff* with **-me**, and transparent mode:

```
% (texi2roff -iIt -me doc.texinfo | nroff -me > doc ) >& index
% texi2index index | nroff -me >doc.index
```

## DIAGNOSTICS

Errors are reported giving file name and line number.

## AUTHOR

Beverly Erlebacher (erlebach@cs.toronto.edu).

## BUGS

**\\f(CW** is used to change to constant-width (typewriter-like) font. If this is not the standard at your site, run your *texi2roff* output through [*sed*(1)](/sed/1.md) or edit *texi2roff*'s translation tables.

There are a number of differences in formatting details compared to Texinfo. Indentation is occasionally imperfect.

**@def** commands do not generate index entries.

Although Texinfo provides for a **@contents** and **@summarycontents** Table of Contents, if both are specified only the first one will appear if **-ms** is used. To prevent loss of detail, *texi2roff* generates the same Table of Contents for both commands.

The **-mm** macro package regards keeps as a type of display.  This can cause *troff* to abort in the case of a keep nested in a display or vice versa.  Either use a different macro package or remove a pair of Texinfo commands to eliminate nesting.  Usually the **@group...@end group** is the best to remove.
