<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Troff</id>
	<title>Troff - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Troff"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Troff&amp;action=history"/>
	<updated>2026-05-28T13:17:03Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Troff&amp;diff=265936&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Troff&amp;diff=265936&amp;oldid=prev"/>
		<updated>2026-01-11T00:08:41Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:troff}}&lt;br /&gt;
{{Begriffsklärungshinweis|Zu weiteren Bedeutungen siehe [[Troff (Begriffsklärung)]].}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;troff&amp;#039;&amp;#039;&amp;#039; [{{IPA|ˈtiːrɒf}}] ist ein [[Desktop-Publishing|Textsatzsystem]], das von [[AT&amp;amp;T]] für das Betriebssystem [[Unix]] entwickelt wurde. Es erlaubt professionellen und qualitativ hochwertigen [[Satz (Druck)|Textsatz]], samt [[Typografie|typographischen]] Merkmalen wie verschiedenen [[Schriftart]]en, und [[Schriftschnitt]]en, [[Typografischer Weißraum|Abständen]], [[Absatz (Text)|Absätzen]], [[Satzspiegel|Rändern]], automatischer [[Worttrennung]] am Zeilenende, [[Fußnote]]n und [[Inhaltsverzeichnis]], um nur einige zu nennen. Es gibt Erweiterungen, um [[Tabelle]]n, [[Diagramm]]e und [[Formelsatz|mathematische Formeln]] darzustellen. &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; ist eine Markupsprache wie z.&amp;amp;nbsp;B. [[Hypertext Markup Language|HTML]] und wird daher als reiner Text mit einem [[Texteditor]] geschrieben.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;troff&amp;#039;&amp;#039; wird in fast allen UNIX-artigen Systemen zur Formatierung der Online-Dokumentationen ([[Manpage|man-Pages]]) verwendet.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;troff&amp;#039;&amp;#039; und [[TeX]] sind insofern miteinander verwandt als beide das Ziel verfolgen, qualitativ hochwertigen Textsatz zu ermöglichen. Allerdings sind die Ansätze sehr verschieden, nicht nur in der Syntax, sondern auch in der Handhabung der Programmpakete und Schriftarten.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
&amp;#039;&amp;#039;Troff&amp;#039;&amp;#039; hat seinen Ursprung in einem [[Textverarbeitung]]&amp;lt;nowiki /&amp;gt;s[[Computerprogramm|programm]] namens &amp;#039;&amp;#039;RUNOFF&amp;#039;&amp;#039;, geschrieben von Jerome H. Saltzer für das [[Compatible Time-Sharing System|CTSS]]-[[Betriebssystem]] des [[Massachusetts Institute of Technology|MIT]] in der Mitte der 1960er. (Angeblich kam der Name von der damals gebräuchlichen Phrase, &amp;#039;&amp;#039;I’ll run off a document&amp;#039;&amp;#039;.)&lt;br /&gt;
&lt;br /&gt;
[[Ausbelichtung|Fotobelichter]] funktionierten damals mit [[Schablone]]n der einzelnen Zeichen. Eine [[Lichtquelle]] hat durch eine zweckmäßige Anordnung von [[Linse (Optik)|Linsen]] und Zeichenschablone einen [[Fotografischer Film|Film]] belichtet, Buchstabe für Buchstabe, Zeile für Zeile. Eine andere Schriftart konnte durch halbautomatisches Austauschen der Zeichenschablonen, das Ändern des Schriftschnittes ein internes Rotieren derselben, erzielt werden. Ein Schablonensatz bestand immer aus einer Schriftart mit verschiedenen Schriftschnitten. Der Belichter konnte eine Anzahl dieser Schablonensätze verwalten, aus dieser Einschränkung rührt auch die Notwendigkeit, Schriftarten zu Beginn des Dokuments zu „laden“.&lt;br /&gt;
&lt;br /&gt;
Bob Morris portierte &amp;#039;&amp;#039;RUNOFF&amp;#039;&amp;#039; auf die [[General Electric|GE]]-635-Architektur und nannte das Programm &amp;#039;&amp;#039;roff&amp;#039;&amp;#039; (eine Abkürzung von &amp;#039;&amp;#039;runoff&amp;#039;&amp;#039;). Es wurde als &amp;#039;&amp;#039;rf&amp;#039;&amp;#039; für die [[PDP-7]] neu geschrieben, und zur gleichen Zeit (1969) schrieb [[Douglas McIlroy]] eine erweiterte und vereinfachte Version von &amp;#039;&amp;#039;roff&amp;#039;&amp;#039; in der [[Programmiersprache]] [[Basic Combined Programming Language|BCPL]].&lt;br /&gt;
&lt;br /&gt;
Die erste Version für [[Unix]] wurde auf einer PDP-7 entwickelt, die bei den [[Bell Laboratories|Bell Labs]] stand. 1971 benötigten die Entwickler eine [[PDP-11]], um weiter an dem Betriebssystem zu arbeiten. Um die Kosten dieses Systems zu rechtfertigen, schlugen sie vor, ein Dokumentenformatierungssystem für die AT&amp;amp;T-Patentdivision zu entwickeln. Dieses erste Formatierungsprogramm war eine von [[Joseph Ossanna|Joe F. Ossanna]] geschriebene Reimplementation von McIllroys &amp;#039;&amp;#039;roff&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[nroff]] (&amp;#039;&amp;#039;Newer ‚roff‘&amp;#039;&amp;#039;), wurde hinsichtlich der bisher eingeschränkten Befehle entwickelt. Es hatte eine wesentlich kompliziertere [[Syntax]], war aber die Basis für alle späteren Versionen. Es konnte allerdings nur Ausgaben für zeichenorientierte Geräte wie [[Zeilendrucker]], [[Drucker (Gerät)#Typenraddrucker|Typenraddrucker]], [[Terminal (Computer)|Computerterminals]] usw. formatieren.&lt;br /&gt;
&lt;br /&gt;
Als die Labs einen &amp;#039;&amp;#039;Graphic Systems C/A/T Phototypesetter&amp;#039;&amp;#039; bekamen, schrieb Ossanna eine angepasste Version von &amp;#039;&amp;#039;nroff&amp;#039;&amp;#039; in PDP-11-[[Assemblersprache]], die ihn ansteuern konnte. Diese Version wurde &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; (&amp;#039;&amp;#039;typesetter roff&amp;#039;&amp;#039;) genannt, obwohl viele spekulierten, dass es eigentlich &amp;#039;&amp;#039;Times roff&amp;#039;&amp;#039; bedeute, aufgrund der Benutzung der Schriftenfamilie [[Times New Roman|Times Roman]] in &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; als Standardschrift.&lt;br /&gt;
&lt;br /&gt;
Die Festlegung auf die PDP-11 und den C/A/T erwies sich in Folge jedoch als Einschränkung. Ossanna portierte &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; nach [[C (Programmiersprache)|C]], obwohl es inzwischen auf 7000 Zeilen vom C/A/T abhängigen, unkommentierten Programmcode angewachsen war. Als der C/A/T älter wurde und der Hersteller die Unterstützung einstellte, bekam die Notwendigkeit, dass &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; andere Geräte ansteuern kann, Priorität. Ossanna starb jedoch an einem Herzinfarkt, bevor dies realisiert werden konnte.&lt;br /&gt;
&lt;br /&gt;
So kam [[Brian W. Kernighan]] zu der Aufgabe, &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; in C zu programmieren. Diese von Grund auf neu entwickelte Version produzierte geräteunabhängigen Code, der sehr einfach von Treibern gelesen und in entsprechende druckerspezifische Ausgabesprachen übersetzt werden konnte. Diese neue Version von &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; (ditroff, für &amp;#039;&amp;#039;device independent ‚troff‘&amp;#039;&amp;#039;, genannt) hatte außerdem einige Erweiterungen wie z.&amp;amp;nbsp;B. [[Vektorgrafik|Zeichenfunktionen]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;troff&amp;#039;&amp;#039; wurde dann zur &amp;#039;&amp;#039;Documenter’s WorkBench&amp;#039;&amp;#039; und wurde bei den Bell Labs (die in [[Unix System Laboratories]], USL, umbenannt wurden) bis 1994 ständig weiterentwickelt. Danach übernahm &amp;#039;&amp;#039;SoftQuad&amp;#039;&amp;#039; die Pflege. Brian Kernighan entwickelte &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; trotzdem alleine weiter. Deshalb gibt es zurzeit drei Varianten des Bell-Labs-&amp;#039;&amp;#039;troff&amp;#039;&amp;#039;. Der Quellcode von &amp;#039;&amp;#039;ditroff&amp;#039;&amp;#039; aus der &amp;#039;&amp;#039;Documenter’s WorkBench&amp;#039;&amp;#039; wurde am 14. Juni 2005 zusammen mit Solaris von Sun veröffentlicht und unter die Open-Source-Lizenz [[Common Development and Distribution License|CDDL]] gestellt.&lt;br /&gt;
&lt;br /&gt;
== Interner Aufbau ==&lt;br /&gt;
&amp;#039;&amp;#039;Troff&amp;#039;&amp;#039; kann als [[Pipe (Informatik)|Filter]] verstanden werden. Mit einem Editor wird ein Textdokument erstellt, welches mittels &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; in ein anderes Format übersetzt wird, unter Beachtung der Anweisungen, die im Dokumententext eingebettet sind.&lt;br /&gt;
&lt;br /&gt;
Früher wurde mit dem &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Ausgabekode direkt der Fotobelichter angesteuert. Mit dem Aufkommen anderer hochauflösender Druckmethoden (z.&amp;amp;nbsp;B. [[Laserdrucker]]) wurde troff derart umgeschrieben, dass eine Art Metakode generiert wurde, sogenanntes &amp;#039;&amp;#039;device independent troff&amp;#039;&amp;#039;, kurz &amp;#039;&amp;#039;ditroff&amp;#039;&amp;#039;. Weitere Filterprogramme generierten dann aus diesem Zwischenformat den endgültigen, gerätespezifischen Kode zur Ansteuerung.&lt;br /&gt;
&lt;br /&gt;
=== Makros ===&lt;br /&gt;
Da die troff-Steuerbefehle teilweise komplex sind und innerhalb eines Dokumentes mehrfach vorkommen können, wurde von Anfang an die Möglichkeit der [[Makro]]erstellung vorgesehen. So können verschiedene &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Befehle, z.&amp;amp;nbsp;B. zum Verkleinern des Fontgröße bei gleichzeitigem Ändern des linken und rechten [[Einzug (Typografie)|Einzuges]] zu einem Makro zusammengefasst werden. Das erhöht die Übersichtlichkeit im Dokument enorm und ermöglicht ähnlich der [[Cascading Style Sheets|CSS]] bei [[Hypertext Markup Language|HTML]] oder [[Stylesheet|Stilvorlagen]] in den bekannten grafischen [[Textverarbeitung]]en eine zentralisierte Formatstruktur, die bei Anpassungen einmal geändert werden muss und so Änderungen an vielen Stellen im Dokument vermeidet.&lt;br /&gt;
&lt;br /&gt;
Es wurden umfangreiche Makro-Pakete für unterschiedlichste Dokumentenstile entwickelt. Eine typische &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Distribution enthält z.&amp;amp;nbsp;B. die &amp;#039;&amp;#039;me&amp;#039;&amp;#039;-Makros, um wissenschaftliche Arbeiten zu formatieren, &amp;#039;&amp;#039;man&amp;#039;&amp;#039;-Makros, um Unix-[[Manpage|man-pages]] zu erstellen, und die &amp;#039;&amp;#039;ms&amp;#039;&amp;#039;-Makros für Bücher, technische Dokumentationen und Berichte.&lt;br /&gt;
&lt;br /&gt;
=== Präprozessoren ===&lt;br /&gt;
Als sich &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; zur DWB weiterentwickelte, begann die Arbeit an diversen [[Präprozessor]]-Programmen, da sich in &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; nicht alles einfach realisieren ließ. Diese Programme transformieren – auch wieder als Filter – bestimmte Teile eines Dokuments in &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Input. Diese Filterprogramme haben ihre eigene Syntax und erkennen ihren Kode im troff-Dokument anhand bestimmter Schlüsselbefehle (die genau eine Zeile umfassen) und übersetzen den Kode dazwischen in &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Steuerbefehle (&amp;#039;&amp;#039;Requests&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Präprozessor&lt;br /&gt;
! Funktion&lt;br /&gt;
|-&lt;br /&gt;
| tbl&lt;br /&gt;
| Tabellensatz&lt;br /&gt;
|-&lt;br /&gt;
| eqn&lt;br /&gt;
| Formeln und mathematische Ausdrücke&lt;br /&gt;
|-&lt;br /&gt;
| pic&lt;br /&gt;
| Einfache Illustrationen und Flussdiagramme (Bestandteil von Documenters Workbench/ditroff)&lt;br /&gt;
|-&lt;br /&gt;
| ideal&lt;br /&gt;
| Zeichenfunktionen ähnlich pic&lt;br /&gt;
|-&lt;br /&gt;
| grap&lt;br /&gt;
| Graphen, wandelt aber diesen code in pic code, nicht direkt troff&lt;br /&gt;
|-&lt;br /&gt;
| refer&lt;br /&gt;
| Bibliografische Verweise- und Zitateverwaltung&lt;br /&gt;
|-&lt;br /&gt;
| bib&lt;br /&gt;
| Siehe &amp;#039;&amp;#039;refer&amp;#039;&amp;#039; weiter oben&lt;br /&gt;
|-&lt;br /&gt;
| soelim&lt;br /&gt;
| Externe Textdateien laden, die von einem Präprozessor bearbeitet werden müssen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;nroff&amp;#039;&amp;#039; erzeugt Ausgaben für zeichenorientierte Geräte wie [[Zeilendrucker]], [[Typenraddrucker]], [[Terminal (Computer)|Computerterminals]] usw. Kommandos, die nicht anwendbar sind (wie [[Schriftart]]&amp;lt;nowiki /&amp;gt;änderungen), werden ignoriert.&lt;br /&gt;
&lt;br /&gt;
== Varianten ==&lt;br /&gt;
* &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;, von [[Bill Joy]], wurde bis SunOS-4.x von [[Sun Microsystems|Sun]] ausgeliefert; seit SunOS-5.x liefert Sun ditroff&lt;br /&gt;
* Die &amp;#039;&amp;#039;Heirloom Documentation Tools&amp;#039;&amp;#039; sind eine Version von ditroff mit einigen Erweiterungen; der frei verfügbare Quellcode basiert auf den gleichnamigen Programmen von [[OpenSolaris]]&lt;br /&gt;
* Die SoftQuad DWB, die auf der USL DWB 2.0 von 1994 basiert&lt;br /&gt;
* Die DWB 3.4 von [[Lucent Technologies|Lucent]] Software Solutions (USL)&lt;br /&gt;
* [[groff]], eine [[GNU-Projekt|GNU]]-Implementation für &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; und &amp;#039;&amp;#039;nroff&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Troff heute ==&lt;br /&gt;
In den 1990er Jahren ließ die Popularität der &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Familie nach, aber sie wird dennoch recht intensiv benutzt. Obwohl &amp;#039;&amp;#039;troff&amp;#039;&amp;#039; von anderen Programmen wie Interleaf, [[FrameMaker]] und [[LaTeX]] ersetzt werden kann, ist es immer noch das Standard-Format der UNIX-Dokumentation, der sogenannten &amp;#039;&amp;#039;[[Manpage]]s&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Die Möglichkeit, formatierten [[Plain text]] auszugeben, ist heutzutage die wohl wichtigste Funktion von troff: Das Anzeigen einer Manpage auf vielen modernen unixoiden Systemen startet im Hintergrund einen &amp;#039;&amp;#039;nroff&amp;#039;&amp;#039;-Prozess, welcher die im &amp;#039;&amp;#039;troff&amp;#039;&amp;#039;-Format vorliegenden Manpages formatiert und diese an ein Textbetrachtungsprogramm (z.&amp;amp;nbsp;B. [[More (Kommandozeilenbefehl)|more]] oder [[Less (Unix)|less]]) weiterreicht.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Dale Dougherty, [[Tim O’Reilly]]: [http://oreilly.com/openbook/utp/ &amp;#039;&amp;#039;Unix Text Processing&amp;#039;&amp;#039;.] Hayden Books 1987, sowie als [http://home.windstream.net/kollar/utp/ Groff-Quelltext] unter [[Creative Commons|CC-by]]-Lizenz&lt;br /&gt;
* [[Joseph Ossanna|Joseph F. Ossanna]], [[Brian W. Kernighan]]: [http://www.kohala.com/start/troff/cstr54.ps &amp;#039;&amp;#039;Troff User’s Manual&amp;#039;&amp;#039;.] ([[Postscript]]), AT&amp;amp;T Bell Laboratories, New Jersey, Revised November 1992, (englisch); „the definitive guide to all troff commands“ (lt. [http://www.kohala.com/start/troff/troff.html Troff Resources])&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.troff.org/ troff.org] The Text Processor for Typesetters (englisch)&lt;br /&gt;
* [http://www.kohala.com/start/troff/troff.html Troff Resources] (englisch): kommentierte Linksammlung zu troff, groff, Makros und Präprozessoren&lt;br /&gt;
* [http://www.gnu.org/software/groff/ GNU troff (groff) – a GNU project] Homepage (englisch)&lt;br /&gt;
* [https://heirloom.sourceforge.net/doctools.html The Heirloom Documentation Tools] für [[Opensolaris]] als Variante von ditroff (englisch)&lt;br /&gt;
* Eine Portierung der [https://github.com/n-t-roff/DWB3.3 Documenter’s Workbench (DWB) Release 3.3] von [http://www2.research.att.com/sw/download/ research.att.com] auf moderne UNIX-Systeme&lt;br /&gt;
* {{man|1|troff|FreeBSD|the troff processor of the [[groff]] text formatting system}}&lt;br /&gt;
* {{Internetquelle|autor=Mel Melchner|url=https://groups.google.com/forum/#!msg/comp.text/COkqrii4W0E/7HarA8Ha2dAJ|titel=This is a relation of what happened to DWB, not a justification.|titelerg=Antwort auf die Frage „Where does one get the real troff and DWB system these days?“|werk=[[Newsgroup]] comp.text|datum=1996-04-22|sprache=en|abruf=2014-06-12}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Typografie]]&lt;br /&gt;
[[Kategorie:Beschreibungssprache]]&lt;br /&gt;
[[Kategorie:Datenformat]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:Solaris-Software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>