Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Troff
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== ''troff'''s origins can be traced to a [[text formatting|text-formatting]] [[computer program|program]] called [[RUNOFF]], which was written by [[Jerome H. Saltzer]] for [[Massachusetts Institute of Technology|MIT]]'s [[Compatible Time-Sharing System|CTSS]] [[operating system]] in the mid-1960s. (The name allegedly came from the phrase ''I'll run off a document''.) [[Robert Morris (cryptographer)|Bob Morris]] ported it to the [[GE 635]] architecture and called the program [[roff (software)|roff]] (an abbreviation of ''runoff'').{{citation needed|date=February 2020}} It was rewritten as [[rf (program)|rf]] for the [[PDP-7]], and at the same time (1969), [[Doug McIlroy]] rewrote an extended and simplified version of ''roff'' in the [[BCPL]] [[programming language]]. The first version of [[Unix]] was developed on a PDP-7 which was sitting around [[Bell Labs]]. In 1971 the developers wanted to get a [[PDP-11]] for further work on the operating system. In order to justify the cost for this system, they proposed that they would implement a document-formatting system for the Bell Labs patents department.<ref>{{cite book |last=Kernighan |first=B. W. |author-link=Brian Kernighan |date=October 2019 |title=Unix: A History and a Memoir |url=https://www.cs.princeton.edu/~bwk/memoir.html|publisher=Kindle Direct Publishing |page=42 |isbn=9781695978553}}</ref> This first formatting program was a reimplementation of McIllroy's ''roff'', written by [[Joe Ossanna|Joe F. Ossanna]]. When they needed a more flexible language, a new version of ''roff'' called [[nroff]] (''newer "roff"'') was written, which provided the basis for all future versions. When they got a [[CAT (phototypesetter)|Graphic Systems CAT phototypesetter]], Ossanna modified ''nroff'' to support multiple fonts and [[Typeface#Proportion|proportional spacing]]. Dubbed ''troff'', for ''typesetter roff'', its sophisticated output amazed the typesetter manufacturer and confused [[peer review]]ers, who thought that manuscripts using ''troff'' had been published before.<ref>J. F. Ossanna. ''Nroff/Troff User's Manual''. CSTR #54, Bell Labs, 1976. Revised by B. W. Kernighan, 1992.</ref><ref name="reader">{{cite tech report |first1=M. D. |last1=McIlroy |author-link1=Doug McIlroy |year=1987 |url=http://www.cs.dartmouth.edu/~doug/reader.pdf |title=A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971β1986 |series=CSTR |number=139 |institution=Bell Labs}}</ref> As such, the name ''troff'' is pronounced {{IPAc-en|Λ|t|iΛ|r|Ι|f}} rather than *{{IPAc-en|Λ|t|r|Ι|f}}. With ''troff'' came ''nroff'' (they were actually almost the same program), which was for producing output for [[line printer]]s and character [[computer terminal|terminal]]s. It understood everything ''troff'' did, and ignored the commands which were not applicable, e.g., [[typeface|font]] changes. Ossanna's ''troff'' was written in [[PDP-11]] [[assembly language]] and produced output specifically for the [[CAT (phototypesetter)|CAT phototypesetter]]. He rewrote it in [[C (programming language)|C]], although it was now 7000 lines of uncommented code and still dependent on the CAT. As the CAT became less common, and was no longer supported by the manufacturer, the need to make it support other devices became a priority. Ossanna died before this task was completed, so [[Brian Kernighan]] took on the task of rewriting ''troff''. The newly rewritten version produced a device-independent code which was very easy for post-processors to read and translate to the appropriate printer codes. Also, this new version of ''troff'' (often called '''ditroff''' for ''device independent troff'') had several extensions, which included drawing functions.<ref>B. W. Kernighan. ''A Typesetter-Independent TROFF''. CSTR #97, Bell Labs, 1981, revised March 1982.</ref> The program's documentation defines the output format of ''ditroff'', which is used by many modern ''troff'' clones like GNU [[groff (software)|groff]]. In 1983, ''troff'' was one of several UNIX tools available for Charles River Data Systems' [[UNOS (operating system)|UNOS]] operating system under [[Bell Laboratories]] license.<ref>{{Cite book|year=1983|title=The Insider's Guide To The Universe|publisher=Charles River Data Systems, Inc.|url=https://www.1000bit.it/ad/bro/charles/CharlesRiverSystem-Universe.pdf|page=13}}</ref> The ''troff'' collection of tools (including [[#Preprocessors|pre]]- and post-processors) was eventually called [[Documenter's WorkBench]] (DWB), and was under continuous development in Bell Labs and later at the spin-off [[Unix System Laboratories]] (USL) through 1994. At that time, [[SoftQuad]] took over the maintenance, although Brian Kernighan continued to improve ''troff'' on his own. Thus, there are at least the following variants of the original Bell Labs ''troff'' in use: * the SoftQuad DWB, based on USL DWB 2.0 from 1994; * the DWB 3.4 from [[Lucent]] Software Solutions (formerly USL); * troff, [[Plan 9 from Bell Labs|Plan 9]] edition. While ''troff'' has been supplanted by other programs such as [[Interleaf]], [[FrameMaker]], and [[LaTeX]], it is still being used quite extensively. It remains the default formatter for the [[UNIX manual|UNIX documentation]]. The software was reimplemented as [[groff (software)|groff]] for the [[GNU's Not Unix|GNU]] system beginning in 1990. In addition, due to the [[open-source software|open sourcing]] of [[Ancient UNIX]] systems, as well as modern successors such as the ditroff-based open-sourced versions found on [[OpenSolaris]] and [[Plan 9 from Bell Labs]], there are several versions of AT&T troff (CAT and ditroff-based<ref>See the man page of the ditroff -> postscript converter on OpenSolaris: {{man|1|dpost|OpenSolaris}}</ref>) available under various open-source licenses.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Troff
(section)
Add topic