PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prüfen, welche Dokumentenklasse geladen ist



tobias.vdk
03-02-2006, 14:10
Hallo!

Weiß jemand, wie man in (La)TeX prüfen kann, welche Dokumentenklasse benutzt wird? :confused: Hintergrund: Ich schreibe ein Package und muss jenachdem ob 'scrartcl' oder 'scrreprt' geladen wird, 'section' bzw. 'chapter' benutzen.

Tschüss Tobias

rais
03-02-2006, 16:25
Hallo Tobias,
dazu brauchst Du eigentlich nur zu prüfen, ob chapter definiert ist, also z.B.
\RequirePackage{ifthen}
\newcommand{\bla}[1]{%
\ifthenelse{\isundefined{\chapter}}{\section{#1}}{ \chapter{#1}}
}

Da Du ein Paket schreibst, kannst Du Dir auch die Originaldefinition für z.B. thenomenclature aus dem nomencl-Paket ansehen, da mußte genau diese Unterscheidung gemacht werden (dort dann mit TeX-Syntax), um eine entsprechende Abschnittsüberschrift zu gestalten.
MfG,

pospiech
03-02-2006, 17:25
Genau das habe ich in meiner Preambel auch gebraucht. Hier mein Code:


%%% Internal Commands: ----------------------------------------------
\makeatletter
%
\providecommand{\IfPackageLoaded}[2]{\@ifpackageloaded{#1}{#2}{}}
\providecommand{\IfPackageNotLoaded}[2]{\@ifpackageloaded{#1}{}{#2}}
\providecommand{\IfElsePackageLoaded}[3]{\@ifpackageloaded{#1}{#2}{#3}}
%
\newboolean{chapteravailable}%
\setboolean{chapteravailable}{false}%
\@ifclassloaded{scrbook}{\setboolean{chapteravaila ble}{true}}{}%
\@ifclassloaded{scrreprt}{\setboolean{chapteravail able}{true}}{}%
\@ifclassloaded{book}{\setboolean{chapteravailable }{true}}{}%
\@ifclassloaded{report}{\setboolean{chapteravailab le}{true}}{}%
\@ifclassloaded{article}{\setboolean{chapteravaila ble}{false}}{}%
\@ifclassloaded{scrartcl}{\setboolean{chapteravail able}{false}}{}%
\providecommand{\IfChapterDefined}[1]{\ifthenelse{\boolean{chapteravailable}}{#1}{}}%
\providecommand{\IfElseChapterDefined}[2]{\ifthenelse{\boolean{chapteravailable}}{#1}{#2}}%
%
% Check for 'draft' mode - commands.
\newcommand{\IfNotDraft}[1]{\ifx\@draft\@undefined #1 \fi}
\newcommand{\IfNotDraftElse}[2]{\ifx\@draft\@undefined #1 \else #2 \fi}
\newcommand{\IfDraft}[1]{\ifx\@draft\@undefined \else #1 \fi}
%
\makeatother
%%% ----------------------------------------------------------------


Matthias