Warum .tex und nicht .txt?

3 views
Skip to first unread message

Friedrich Vosberg

unread,
Sep 3, 2022, 4:32:44 AMSep 3
to
Warum eigentlich haben die Quelltextdateien von LaTeX-Dokumenten das Suffix .tex und nicht das gängige Suffix von Text-Dateien .txt?

Ulrike Fischer

unread,
Sep 3, 2022, 5:05:24 AMSep 3
to
Aus demselben Grund aus dem die docstrip-Quelldateien .dtx,
docstrip-Installationsdateien .ins, Pakete .sty, Klassen .cls,
Logdateien .log, bib-Dateien .bib, bibtex-Logdateien .blg,
bibtex-Ausgabedateien .bbl, css-Dateien .css etc, markdown .md
verwenden: Damit man mehr über den Inhalt weiß, als dass es
irgendwie ein Textformat ist.

--
Ulrike Fischer
http://www.troubleshooting-tex.de/

Başar Alabay

unread,
Sep 3, 2022, 5:08:04 AMSep 3
to
Ulrike Fischer schrieb:
Und entsprechend auch einen dedizierten Editor zuweisen kann. Das würde
bei txt nicht sinnvoll realisierbar sein. Dann könnten auch log txt
sein.

B. Alabay

Olaf Schultz

unread,
Sep 3, 2022, 5:27:30 AMSep 3
to
Am 03.09.22 um 10:32 schrieb Friedrich Vosberg:
> Warum eigentlich haben die Quelltextdateien von LaTeX-Dokumenten das Suffix .tex und nicht das gängige Suffix von Text-Dateien .txt?

Weil ich dann hier mit anderen .txt ohne tex-Formatierung
durcheinanderkomme;-) ?

Es hindert Dich keiner dran .txt zu nutzen.

BTW: Abaqus (FE-Software) hat einige Ausgabedateien, die .com als Endung
haben und sinnvolle ASCII-Informationen enthalten... wer schüttelt jetzt
nicht mit dem Kopf?

Olaf

Ignatios Souvatzis

unread,
Sep 3, 2022, 6:40:08 AMSep 3
to
Batchjob- bzw. Scriptdateien unter VMS heissen *.COM (wg. COMmands).

-is

Ulrich D i e z

unread,
Sep 3, 2022, 10:27:20 AMSep 3
to
Am 03.09.22 um 10:32 schrieb Friedrich Vosberg:

> Warum eigentlich haben die Quelltextdateien von LaTeX-Dokumenten
> das Suffix .tex und nicht das gängige Suffix von Text-Dateien .txt?

Ich fasse diese Frage nicht als Kritik sondern als Interesse daran
auf, wie Gepflogenheiten im Lauf der Zeit entstehen.

Dass bei Quelltextdateien von LaTeX-Dokumenten die Dateinamen oft die
Extension ".tex" haben ist nur bei Dateisystemen so, bei denen
Dateinamen eine Dateinamenserweiterung, auch "Extension" genannt,
haben.

Zu den Zeiten, zu denen Donald E. Knuth TeX entwickelt hat und
Leslie Lamport den LaTeX-Kern, war das nicht bei allen Computern
selbstverständlich. Unter anderem deshalb kann man bei TeX/LaTeX
technisch gesehen nahezu beliebige Dateinamen und
Dateinamenserweiterungen verwenden, sofern das zum Abspeichern
verwendete Dateisystem und die zum Abspeichern verwendeten
Routinen mitmachen.

Ein paar Namen würden vom Dateisystem her gehen, gehen aber bei der
Eingabe an der Shell/Konsole/Kommandozeile von der verwendeten Shell
her nicht, weil die Shell die Zeichen nicht als Teil des Dateinamens
sondern anders interpretiert.
Zum Beispiel verbietet der ISO 9669:1999-Standard, der bei CDRFS-Datei-
systemen von CD-ROM Anwendung findet, keine Sternchen (*) und keine
Anführungszeichen (") bzw (') in Dateinamen, aber versuche zB mal
an einem alten MS-DOS-Rechner, zB MS-DOS 5.0, eine Datei über
command.com zu öffnen, deren Name Sternchen enthält, oder versuche
an einer Shell nach POSIX-Standard eine Datei zu öffnen, deren
Name aus sich abwechselnden einfachen und doppelten Anführungszeichen
besteht. ;-)

Ein paar weitere Namen würden vom Dateisystem und der Shell her
gehen, gehen aber bei Web2C-Implementatierungen von TeX nicht, weil
sie von den Kpathsea-Routinen fürs Verarbeiten von Dateipfaden anders
verarbeitet werden.


Die Sache mit den Dateinamenserweiterungen sollte ursprünglich ein
Indikator dafür sein, was für Daten eine Datei enthält und nach welchen
Konventionen die Nullen und Einsen, aus denen sie besteht, angeordnet
sind.

Es gibt ja nicht nur Textformate, sondern auch diverse Binärformate.
ZB bei vielen Programmiersprachen gibt es Datentypen (Sachen wie String,
Boolean, Long Integer, Integer, Word, Byte, Real etc) und man kann
verschiedenartige in Zusammenhang stehende Daten zB zu Record-Strukturen
und/oder Array-Strukturen zusammenfassen und diese dann auf Datenträger
schreiben lassen und muss dann beim Auslesen vom Datenträger darauf
achten, dass die Nullen und Einsen wieder genau entsprechend den
Komponenten dieser Strukturen zugeordnet und Variablen als Werte
zugewiesen werden.

Zurück zu den Textformaten: Bei Dateien im Textformat hat sich recht
schnell ergeben, dass - je nach ihrem Verwendungszweck - der Text, aus
dem sie bestehen, nach bestimmten Syntax-Regeln aufgebaut sein muss,
damit sie von bestimmten, den Text einlesenden/verarbeitenden Programmen
verarbeitet werden können - etwa Compilern, die anhand von Quelltext
andere Dateien erzeugen, zB .pdf-Dateien, zB ausführbare Dateien, etwa
Interpretern, etwa für HTML/XML, die den Computer Dinge tun lassen in
einer durch den Quelltext festgelegten zeitlichen Abfolge. Von
Programmen anderer Art, die Datensätze einlesen, die in einem
Textformat gespeichert sind, zB im JSON- oder YAML-Format oder als
CSV-Liste.

In diesen Fällen ist es für Editoren, mit denen man Textdateien erstellen/
bearbeiten kann, im Prinzp egal, was diese Dateinamen für Extensionen haben.

Aber es ist sehr praktisch, anhand der Dateinamensextension zu erkennen,
welche Konventionen, zB Syntax-Regeln einer Programmiersprache oder
Dokumentenbeschreibungssprache, zB Syntax-Regeln fürs Abspeichern
von auch mit Texteditoren einsehbaren Datenstrukturen (etwa Datenstrukturen
gemäß JSON- oder YAML- oder CSV-Standard), dem Text zugrunde liegen.
Denn mit diesem Wissen kann man das Verhalten der Eingabe-Editoren so
anpassen, dass es viel leichter fällt, beim Schreiben der jeweiligen
Dateien die verlangten Konventionen einzuhalten und Features wie Kürzel
für das Eingeben bestimmter Textstrukturen oder Syntax-Highlighting
und dergleichen implementieren.


Ich habe aber ehrlich gesagt nie verstanden warum LaTeX Dokumente
die gleiche Dateiextension haben wie Dokumente für Plain TeX von
Knuth.

Die .tex-Dateien von Knuth beinhalten keine LaTeX-Befehle.
LaTeX-Dateien aber schon.

Ich hätte LaTeX-Dateien vielleicht die Dateinamensextenstion ".ltx"
gegeben, von der ich nicht genau weiß, wann man sie vergibt außer bei
den Dateien des LaTeX-Kernels, die man erhält wenn man die
.dtx-Dateien, die den kommentierten Quelltext des Kernels darstellen,
an docstrip "verfüttert".

Mit freundlichem Gruß

Ulrich

Axel Reichert

unread,
Sep 3, 2022, 11:02:10 AMSep 3
to
Olaf Schultz <o.sc...@enhydralutris.de> writes:

> Abaqus (FE-Software) hat einige Ausgabedateien, die .com als Endung
> haben und sinnvolle ASCII-Informationen enthalten... wer schüttelt
> jetzt nicht mit dem Kopf?

Ein Abaqus-Support-Ingenieur. Der weiss, dass com-Dateien Python-Syntax
haben und mit Python ausfuehrbar sind, was viele Queueing-Systeme bei
Kunden auch machen. Als Ausgabedateien im eigentlichen Sinn wuerde ich
die auch nicht bezeichnen, da sie vor der eigentlichen FE-Analyse (sogar
vor der Syntaxpruefung des FE-Modells) vom sogenannten "Driver" erzeugt
werden.

Tschoe!

Axel

Juergen Fenn

unread,
Sep 3, 2022, 11:02:45 AMSep 3
to
Am 03.09.22 um 11:08 Uhr schrieb Başar Alabay:
+1.

Einen schönen historischen Überblick über den Zusammehang zwischen
Programmen, TeX- und Dateiformaten gibt übrigens

Components of TeX
https://www.ctan.org/pkg/components

von Joachim Schrod und Christine Detig aus dem Jahr 1991(!) auf den
Seiten 8 und 9.

Viele Grüße,
Jürgen.

Reply all
Reply to author
Forward
0 new messages