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
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.