---
name: "deroff"
section: "1"
platform: "linux"
package: "deroff"
version: "1.1-7"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/deroff"
---

# deroff(1)

remove roff and preprocessor constructs

## NAME

deroff - remove roff and preprocessor constructs

## SYNOPSIS

**deroff** \[-w\]  {*file(s)*}

## DESCRIPTION

**deroff** reads in the named files (or stdin if none are given) and strips out  **troff** constructs and macros. The preprocessor (**eqn**, **tbl**, **pic**, **grap**, and **vgrind**) sections are removed entirely. The resulting output, suitable for spelling, is sent to stdout.

## OPTIONS

- *-w*

  output a word-by-word list, delimited by newlines.

## SEE ALSO

[**troff**(1)](/troff/1.md), [**eqn**(1)](/eqn/1.md), [**pic**(1)](/pic/1.md), [**grap**(1)](/grap/1.md)**,** [**vgrind**(1)](/vgrind/1.md)**.**

## BUGS

**deroff** is not a full  [**troff**(1)](/troff/1.md) interpreter; in particular it doesn't know how to expand macros and how to treat  *m\[mse\]*'s registers.\
 Macros are assumed to end with  *..* and are simply skipped.\
 **deroff** can be fooled with circular  *.nx* requests. The *.so* request deepness is limited.

## AUTHOR

David Frey \<david@eos.lugs.ch\>
