Was ist das CLS-Dateiformat?
Eine .cls-Datei ist eine LaTeX-Dokumentklassen-Datei - eine Klartext-Makrodefinition, die die allgemeine Struktur, das Layout und die Typografie eines LaTeX-Dokuments bestimmt. Wenn Sie eine .tex-Quelle öffnen, die mit \documentclass{article} oder \documentclass{beamer} beginnt, durchsucht LaTeX seinen TEXMF-Verzeichnisbaum nach einer passenden Datei namens article.cls oder beamer.cls und lädt diese vor der Verarbeitung des Inhalts.
Die Klassendatei steuert globale Dokumenteinstellungen: Seitengeometrie, Schriftwahl, Abschnittshierarchie, Kopf- und Fußzeilen, Floats und Listen-Umgebungen. Innerhalb einer .cls-Datei werden Optionen mit \DeclareOption deklariert, Paketabhängigkeiten mit \RequirePackage und die Klassenidentität mit \ProvidesClass{klassenname}[JJJJ/MM/TT vX.Y Beschreibung]. Die konventionelle Eröffnungszeile \NeedsTeXFormat{LaTeX2e} schützt vor dem Laden durch eine inkompatible TeX-Engine.
Standardklassen - article, book, report, letter - werden mit jeder größeren TeX-Distribution wie TeX Live und MiKTeX ausgeliefert. Verlage wie IEEE, ACM, Elsevier, Springer und die AMS verteilen eigene .cls-Vorlagen, die Autoren für Journal- oder Konferenzbeiträge verwenden müssen.
Eine .cls-Datei unterscheidet sich von einem Style-Paket (.sty): Eine Klasse legt das gesamte Dokumentgerüst fest, während eine Style-Datei dieses ergänzt. Der Klassen-Quellcode wird oft als .dtx-Literate-Datei mit einem begleitenden .ins-Installer verteilt, der die einsatzbereite .cls extrahiert. Da sie aus reinem Text bestehen, lassen sich .cls-Dateien sauber in Versionskontroll-Workflows integrieren.
Sicherheit
RISIKO: LOWKlartext-Makrodatei; stellt kein direktes ausführbares Risiko für das Betriebssystem dar. Bösartiger LaTeX-Code ist theoretisch über \write18-Shell-Escape-Befehle möglich, aber die Ausnutzung erfordert, dass das Opfer ein .tex-Dokument mit aktiviertem Shell-Escape kompiliert - kein realistischer Angriffsvektor für als Vorlagen verteilte .cls-Dateien.
Formatdetails
kurz gefasst- Visual Basic / Visual C++ Klassenmodul - Klartext-Quellcode-Klassendefinition, generiert von der VB6/VBA/VC++ IDE; gleiche Erweiterung, anderer Inhalt.
- Apex (Salesforce) Klassendatei - Objektorientierte Apex-Sprachklassendatei, die in der Salesforce-Plattfomentwicklung verwendet wird.
- AutoCAD / ArcGIS Farbklassifizierungsdatei - Klassifizierungsschema-Datei, die von ArcGIS und AutoCAD für Farbverläufe und Geokodierungseinstellungen verwendet wird.
Programme zum Öffnen von CLS-Dateien
Technische Details
technische Spezifikation| MIME-Typ | text/plain; auch als application/x-tex erkannt |
| Zeichenkodierung | ASCII oder UTF-8; reines ASCII wird für die breiteste TeX-Engine-Kompatibilität empfohlen |
| Binäre Signatur | Keine - Klartextdatei ohne Magic Bytes; wird nur über die Erweiterung und das Inhaltsmuster identifiziert |
| Klassendeklarations-Befehl | \ProvidesClass{name}[JJJJ/MM/TT vX.Y Beschreibung] bettet Klassenname, Datum und Versionsstring ein |
| Format-Kompatibilitätsschutz | \NeedsTeXFormat{LaTeX2e} als konventionelle erste Zeile verhindert das Laden durch inkompatible TeX-Formate |
| Options-Mechanismus | Optionen werden mit \DeclareOption deklariert und über \ProcessOptions oder \ProcessOptions* ausgeführt |
| Abhängigkeiten laden | \RequirePackage{paketname}[min-datum] bindet .sty-Pakete mit optionalem Mindestdatumsschutz ein |
| Klassenvererbung | \LoadClass{elternklasse} ermöglicht es einer Klasse, eine andere zu erweitern und nur ausgewählte Definitionen zu überschreiben |
| Typische Dateigröße | 2 KB - 200 KB; von der einfachen Skelettklasse bis zur vollständigen Verlagsvorlage |
| Lademechanismus | Aufgerufen durch \documentclass[optionen]{klassenname} als erster Befehl in jedem .tex-Dokument |
| Dateisuchpfad | LaTeX lokalisiert klassenname.cls über den TEXMF-Baum; kpsewhich klassenname.cls zeigt den aufgelösten Pfad an |
| Kompatible TeX-Engines | pdfLaTeX, XeLaTeX, LuaLaTeX und klassisches LaTeX (DVI-Modus); engine-spezifische Weichen nutzen \ifXeTeX, \ifLuaTeX |
| Integrierte Standardklassen | article, book, report, letter und slides werden mit jeder LaTeX2e-Distribution ausgeliefert |
| Verlags-Ökosystem | IEEE, ACM, Elsevier, Springer und AMS verteilen proprietäre .cls-Vorlagen für Journal- und Konferenzbeiträge |
| Quellverteilungsformat | Der Klassenquellcode wird oft als .dtx-Literate-Datei verpackt, die durch einen begleitenden .ins-Installer extrahiert wird |
| Veröffentlicht | 1985 (LaTeX 2.09); .cls extension standardized with LaTeX2e, June 1994 |
| Neueste Version | LaTeX2e (current; periodic dated releases, e.g. 2023-06-01) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | www.latex-project.org |
CLS-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu CLS-Dateien.