Vad är filformatet CLS?
En .cls-fil är en LaTeX-dokumentklassfil - en makrodefinition i klartext som bestämmer den övergripande strukturen, layouten och typografin för ett LaTeX-dokument. När du öppnar en .tex-källa som börjar med \documentclass{article} eller \documentclass{beamer}, söker LaTeX i sitt TEXMF-katalogträd efter en matchande fil med namnet article.cls eller beamer.cls och laddar den innan innehållet bearbetas.
Klassfilen styr globala dokumentinställningar: sidgeometri, typsnittsval, avsnittshierarki, sidhuvuden och sidfötter, flytobjekt och listmiljöer. Inuti en .cls-fil deklareras alternativ med \DeclareOption, paketberoenden med \RequirePackage och klassens identitet med \ProvidesClass{klassnamn}[ÅÅÅÅ/MM/DD vX.Y beskrivning]. Den konventionella inledande raden \NeedsTeXFormat{LaTeX2e} skyddar mot laddning av en inkompatibel TeX-motor.
Standardklasser - article, book, report, letter - följer med alla större TeX-distributioner, inklusive TeX Live och MiKTeX. Förlag som IEEE, ACM, Elsevier, Springer och AMS distribuerar anpassade .cls-mallar som författare måste använda för tidskrifts- eller konferensinlämningar.
En .cls-fil skiljer sig från ett stilpaket (.sty): en klass sätter hela dokumentramverket, medan en stilfil kompletterar det. Klasskällkod distribueras ofta som en .dtx «literate»-fil med en tillhörande .ins-installerare som extraherar den användbara .cls-filen. Eftersom de är i klartext integreras .cls-filer smidigt i arbetsflöden för versionshantering.
Säkerhet & trygghet
RISK: LOWMakrofil i klartext; utgör ingen direkt exekverbar risk för operativsystemet. Skadlig LaTeX-kod är teoretiskt möjlig via \write18 shell-escape-kommandon, men exploatering kräver att offret kompilerar ett .tex-dokument med shell-escape aktiverat - vilket inte är en realistisk attackvektor för .cls-filer som distribueras som mallar.
Formatdetaljer
i ett nötskal- Visual Basic / Visual C++ klassmodul - Klassdefinition i källkod (klartext) genererad av VB6/VBA/VC++ IDE; samma filtillägg, annat innehåll.
- Apex (Salesforce) klassfil - Objektorienterad Apex-språkklassfil som används vid utveckling på Salesforce-plattformen.
- AutoCAD / ArcGIS färgklassificeringsfil - Klassificeringsschemafil som används av ArcGIS och AutoCAD för färgskalor och geokodningsinställningar.
Program som öppnar CLS-filer
Tekniska detaljer
djup specifikation| MIME-typ | text/plain; känns även igen som application/x-tex |
| Teckenkodning | ASCII eller UTF-8; ren ASCII rekommenderas för bredast kompatibilitet med TeX-motorer |
| Binär signatur | Ingen - klartextfil utan magic bytes; identifieras endast genom filtillägg och innehållsmönster |
| Klassdeklarationskommando | \ProvidesClass{namn}[ÅÅÅÅ/MM/DD vX.Y beskrivning] bäddar in klassnamn, datum och versionssträng |
| Formatkompatibilitetsskydd | \NeedsTeXFormat{LaTeX2e} som konventionell första rad förhindrar laddning av inkompatibla TeX-format |
| Alternativmekanism | Alternativ deklareras med \DeclareOption och körs via \ProcessOptions eller \ProcessOptions* |
| Laddning av beroenden | \RequirePackage{paketnamn}[min-datum] hämtar in .sty-paket med valfria skydd för minsta datum |
| Klassarv | \LoadClass{föräldraklass} tillåter en klass att utöka en annan och endast åsidosätta valda definitioner |
| Typisk filstorlek | 2 KB - 200 KB; från enkel skelettklass till fullständiga mallar för tidskriftsförlag |
| Laddningsmekanism | Anropas med \documentclass[alternativ]{klassnamn} som det första kommandot i alla .tex-dokument |
| Sökväg för filer | LaTeX hittar klassnamn.cls genom TEXMF-trädet; kpsewhich klassnamn.cls visar den matchade sökvägen |
| Kompatibla TeX-motorer | pdfLaTeX, XeLaTeX, LuaLaTeX och klassisk LaTeX (DVI-läge); motorspecifika skydd använder \ifXeTeX, \ifLuaTeX |
| Inbyggda standardklasser | article, book, report, letter och slides följer med varje LaTeX2e-distribution |
| Ekosystem för förlag | IEEE, ACM, Elsevier, Springer och AMS distribuerar proprietära .cls-mallar för tidskrifts- och konferensinlämningar |
| Källkodens distributionsformat | Klasskällkod paketeras ofta som en .dtx-fil som extraheras av en tillhörande .ins-installerare |
| Släppt | 1985 (LaTeX 2.09); .cls extension standardized with LaTeX2e, June 1994 |
| Senaste version | LaTeX2e (current; periodic dated releases, e.g. 2023-06-01) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.latex-project.org |
CLS-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om CLS-filer.