Che cos'è il formato di file CLS?
Un file .cls è un file di classe documento LaTeX - una definizione di macro in testo semplice che determina la struttura generale, il layout e la tipografia di un documento LaTeX. Quando si apre una sorgente .tex che inizia con \documentclass{article} o \documentclass{beamer}, LaTeX cerca nel suo albero di directory TEXMF un file corrispondente chiamato article.cls o beamer.cls e lo carica prima di elaborare il contenuto.
Il file di classe controlla le impostazioni globali del documento: geometria della pagina, scelta dei font, gerarchia delle sezioni, intestazioni e piè di pagina, oggetti mobili (floats) e ambienti di lista. All'interno di un file .cls, le opzioni sono dichiarate con \DeclareOption, le dipendenze dei pacchetti con \RequirePackage e l'identità della classe con \ProvidesClass{classname}[YYYY/MM/DD vX.Y description]. La riga di apertura convenzionale \NeedsTeXFormat{LaTeX2e} protegge dal caricamento da parte di un motore TeX incompatibile.
Le classi standard - article, book, report, letter - sono fornite con ogni principale distribuzione TeX, inclusi TeX Live e MiKTeX. Editori come IEEE, ACM, Elsevier, Springer e l'AMS distribuiscono modelli .cls personalizzati che gli autori devono utilizzare per l'invio di articoli a riviste o conferenze.
Un file .cls differisce da un pacchetto di stile (.sty): una classe imposta l'intero framework del documento, mentre un file di stile lo integra. Il codice sorgente della classe è spesso distribuito come file literate .dtx con un programma di installazione compagno .ins che estrae il file .cls distribuibile. Essendo testo semplice, i file .cls si integrano perfettamente nei flussi di lavoro di controllo della versione.
Sicurezza e incolumità
RISCHIO: LOWFile macro in testo semplice; non comporta rischi eseguibili diretti per il sistema operativo. Codice LaTeX malevolo è teoricamente possibile tramite i comandi shell-escape \write18, ma lo sfruttamento richiede che la vittima compili un documento .tex con shell-escape abilitato - non un vettore di attacco realistico per i file .cls distribuiti come modelli.
Dettagli del formato
in sintesi- Modulo di classe Visual Basic / Visual C++ - Definizione di classe del codice sorgente in testo semplice generata dall'IDE VB6/VBA/VC++; stessa estensione, contenuto diverso.
- File di classe Apex (Salesforce) - File di classe del linguaggio orientato agli oggetti Apex utilizzato nello sviluppo della piattaforma Salesforce.
- File di classificazione colore AutoCAD / ArcGIS - File dello schema di classificazione utilizzato da ArcGIS e AutoCAD per le impostazioni della rampa di colore e della geocodifica.
Programmi che aprono file CLS
Dettagli tecnici
specifiche approfondite| Tipo MIME | text/plain; riconosciuto anche come application/x-tex |
| Codifica dei caratteri | ASCII o UTF-8; ASCII puro raccomandato per la più ampia compatibilità con i motori TeX |
| Firma binaria | Nessuna - file di testo semplice senza magic bytes; identificato solo dall'estensione e dal pattern del contenuto |
| Comando di dichiarazione classe | \ProvidesClass{name}[YYYY/MM/DD vX.Y description] incorpora nome classe, data e stringa di versione |
| Protezione compatibilità formato | \NeedsTeXFormat{LaTeX2e} come prima riga convenzionale impedisce il caricamento da formati TeX incompatibili |
| Meccanismo delle opzioni | Opzioni dichiarate con \DeclareOption ed eseguite tramite \ProcessOptions o \ProcessOptions* |
| Caricamento dipendenze | \RequirePackage{pkgname}[min-date] richiama pacchetti .sty con protezioni opzionali sulla data minima |
| Ereditarietà delle classi | \LoadClass{parentclass} consente a una classe di estenderne un'altra, sovrascrivendo solo definizioni selezionate |
| Dimensione tipica del file | 2 KB - 200 KB; dalla semplice classe scheletro al modello completo di un editore scientifico |
| Meccanismo di caricamento | Invocato da \documentclass[options]{classname} come primo comando in qualsiasi documento .tex |
| Percorso di ricerca file | LaTeX individua classname.cls attraverso l'albero TEXMF; kpsewhich classname.cls rivela il percorso risolto |
| Motori TeX compatibili | pdfLaTeX, XeLaTeX, LuaLaTeX e LaTeX classico (modalità DVI); le protezioni specifiche per motore usano \ifXeTeX, \ifLuaTeX |
| Classi integrate standard | article, book, report, letter e slides sono fornite con ogni distribuzione LaTeX2e |
| Ecosistema editoriale | IEEE, ACM, Elsevier, Springer e AMS distribuiscono modelli .cls proprietari per l'invio a riviste e conferenze |
| Formato distribuzione sorgente | Il sorgente della classe è spesso pacchettizzato come file literate .dtx estratto da un installatore .ins compagno |
| Rilasciato | 1985 (LaTeX 2.09); .cls extension standardized with LaTeX2e, June 1994 |
| Ultima versione | LaTeX2e (current; periodic dated releases, e.g. 2023-06-01) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.latex-project.org |
Conversioni CLS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CLS.