PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Im Package auf geladene Klasse prüfen



SpockinDresden
31-01-2008, 19:04
Ich hab auch mal wieder eine Frage:

Ich möchte ein Package y erstellen, was aber vorraussetzt, dass das Dokument auf der Klasse x basiert. Dazu soll das Package prüfen, ob wirklich x geladen wurde. Also irgendwas in dem Stile:



\documentclass{x}
\usepackage{y}
% ...

^-- läuft durch



\documentclass{z}
\usepackage{y}
% ...

^-- gibt nen Fehler "Klasse x nicht geladen"

Ich hoffe, es ist verständlich, was ich eigentlich will ;)

bischi
31-01-2008, 19:58
Es gibt den Befehl \RequirePackage{} - vielleicht hilft der dir weiter.

MfG Bischi

PS: Schau sonst mal noch bei mir auf der HP nach - da hats noch den einen oder anderen Link an LaTeX-Paketautoren.

localghost
31-01-2008, 20:12
Es gibt den Befehl \RequirePackage{} - vielleicht hilft der dir weiter. […]
Das entspräche aber der Anforderung eines anderen Pakets aus einer Klasse (oder einem Paket) heraus.

[…] Ich möchte ein Package y erstellen, was aber vorraussetzt, dass das Dokument auf der Klasse x basiert. Dazu soll das Package prüfen, ob wirklich x geladen wurde. […]
Vielleicht hilft dir das Dokument "LaTeX2e for class and package writers" (clsguide (http://dante.ctan.org/CTAN/help/Catalogue/entries/clsguide.html)) weiter.


MfG
Thorsten

voss
31-01-2008, 20:47
Ich hab auch mal wieder eine Frage:

Ich möchte ein Package y erstellen, was aber vorraussetzt, dass das Dokument auf der Klasse x basiert. Dazu soll das Package prüfen, ob wirklich x geladen wurde. Also irgendwas in dem Stile:


dann erstelle gleich eine Klasse:

% deine Klasse, die auf article basiert
\LoadClass[optionen]{article}
\RequirePackage{...}
usw.

Herbert

SpockinDresden
01-02-2008, 17:50
Es gibt den Befehl \RequirePackage{} - vielleicht hilft der dir weiter.
Nein, denn ich will ja prüfen, ob eine bestimmte Klasse geladen wurde. \RequirePackage prüft auf eine package... ;)


Vielleicht hilft dir das Dokument "LaTeX2e for class and package writers" (clsguide (http://dante.ctan.org/CTAN/help/Catalogue/entries/clsguide.html)) weiter.
Leider nicht, da hab ich schon drin gesucht.


dann erstelle gleich eine Klasse
Die Klasse gibts ja schon: Ich hab eine Buchklasse "tudbook" erstellt. Das neue Package "tudthesis" erweitert um 2-3 neue Befehle, nutzt aber seinerseits Befehle, die in "tudbook" eingeführt wurden. Dafür aber eine neue Klasse zu erstellen halte ich für etwas übertrieben.

SpockinDresden
01-02-2008, 18:43
ich hab nun etwas getrickst: ich habe in der Klasse "tudbook" einen befehl definiert, auf dessen vorhandensein in im paket prüfe. ist er da ist alles gut, wenn nicht wird geschimpft... ;)

rais
03-02-2008, 20:23
Moin Klaus,

Ich hab eine Buchklasse "tudbook" erstellt. Das neue Package "tudthesis" erweitert um 2-3 neue Befehle, nutzt aber seinerseits Befehle, die in "tudbook" eingeführt wurden. Dafür aber eine neue Klasse zu erstellen halte ich für etwas übertrieben.
wenn Du Dich scheust, eine neue Klasse zu basteln, warum machst Du Dir dann den Umstand mit einem Paket, das eh eine bestimmte Klasse voraussetzt? Bring Deiner "tudbook" doch diese 2--3 Befehle bei, ggf. in Verbindung mit einer entsprechenden Option, die vielleicht `thesis' heißen könnte.;)

MfG