von KOMA » Do 14. Apr 2011, 09:13
Das ist eigentlich kein großes Problem. Als ersten Schritt empfehle ich ein eigenes Paket. Dazu alles zwischen \documentclass[...]{...} und \begin{document} bis auf \usepackage[...]{inputenc} in eine Datei mit Endung .sty kopieren, alle \usepackage durch \RequirePackage ersetzen, alle \makeatletter und \makeatother entfernen, ganz am Anfang der neuen Datei noch
\ProvidesPackage{NamesDesPakets}[2011/04/14 v1.0 Paket fuer fmichel}
\ProcessOptions\relax
einfügen und als letzte Zeile des neuen Pakets vorzugsweise noch ein \endinput.
Falls in dem neuen Paket Umlaute oder ß vorkommen, sollten die noch in TeX-Schreibweise geändert werden, also »\"a« statt »ä«, »\"A« statt »Ä« und »\ss « (man beachte hier das Leerzeichen!) statt »ß«. Dann sollte es auch funktionieren, wenn Du inputenc in einem Dokument nach dem neuen Paket lädst. Genau das solltest Du als nächstes testen.
Wenn bis hierher alles funktioniert, kommt als nächstes der Umbau in eine Klasse. Dabei muss \ProvidesPackage in \ProvidesClass geändert werden. Die Klasse wird dann nach \ProcessOptions per \LoadClass oder \LoadClassWithOptions geladen. Der Unterschied ist clsguide.pdf zu entnehmen. Wichtig ist, dass bei \LoadClass keine Optionen angegeben werden können, die an Pakete weitergereicht werden sollen. Diese Optionen sind stattdessen bei den entsprechenden \RequirePackage anzugeben oder (besser) per \PassOptionsToPackage an die jeweiligen Pakete zu reichen.
Eine solche Klasse nennt man übrigens
Wrapper-Klasse.
Das ist eigentlich kein großes Problem. Als ersten Schritt empfehle ich ein eigenes Paket. Dazu alles zwischen \documentclass[...]{...} und \begin{document} bis auf \usepackage[...]{inputenc} in eine Datei mit Endung .sty kopieren, alle \usepackage durch \RequirePackage ersetzen, alle \makeatletter und \makeatother entfernen, ganz am Anfang der neuen Datei noch [code]\ProvidesPackage{NamesDesPakets}[2011/04/14 v1.0 Paket fuer fmichel}
\ProcessOptions\relax[/code] einfügen und als letzte Zeile des neuen Pakets vorzugsweise noch ein \endinput.
Falls in dem neuen Paket Umlaute oder ß vorkommen, sollten die noch in TeX-Schreibweise geändert werden, also »\"a« statt »ä«, »\"A« statt »Ä« und »\ss « (man beachte hier das Leerzeichen!) statt »ß«. Dann sollte es auch funktionieren, wenn Du inputenc in einem Dokument nach dem neuen Paket lädst. Genau das solltest Du als nächstes testen.
Wenn bis hierher alles funktioniert, kommt als nächstes der Umbau in eine Klasse. Dabei muss \ProvidesPackage in \ProvidesClass geändert werden. Die Klasse wird dann nach \ProcessOptions per \LoadClass oder \LoadClassWithOptions geladen. Der Unterschied ist clsguide.pdf zu entnehmen. Wichtig ist, dass bei \LoadClass keine Optionen angegeben werden können, die an Pakete weitergereicht werden sollen. Diese Optionen sind stattdessen bei den entsprechenden \RequirePackage anzugeben oder (besser) per \PassOptionsToPackage an die jeweiligen Pakete zu reichen.
Eine solche Klasse nennt man übrigens [i]Wrapper-Klasse[/i].