AureusPhoenix
29-09-2010, 18:02
Hi Leute,
ich bin dabei das erste mal ein Packet mit optionalem Argument zu schreiben und irgendwie funzt da was nicht.
Wenn ich das Packet so schreibe, dann gibt der Befehl \aaa jeweils true oder false aus. Das funktioniert also.
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesPackage{JenMath}[2010/09/29]
\makeatletter
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{amsfonts}
\RequirePackage{ifthen}
\newboolean{@normidx}
\setboolean{@normidx}{true}
\DeclareOption{normidx}{\setboolean{@normidx}{fals e}}
\ProcessOptions\relax
\if@normidx
\newcommand{\aaa}{false}
\else
\newcommand{\aaa}{true}
\fi
\makeatother
Sobald ich aber in die if-Anweisung den Code einfüge den ich da wirklich haben will, dann macht dieser Code nicht mehr das, was er machen soll.
\if@normidx
\begingroup
\catcode`\_=\active
\def_#1{\sb{\operator@font#1}}
\endgroup
\fi
Füge ich den Code übrigens ohne if-Anweisung ein, dann funktioniert er. Das Problem muss also irgendwie in der Kombination aus if-Anweisung und Befehlsdeklaration liegen.
Kann mir da jemand weiter helfen?
Schonmal vielen vielen Dank!
ich bin dabei das erste mal ein Packet mit optionalem Argument zu schreiben und irgendwie funzt da was nicht.
Wenn ich das Packet so schreibe, dann gibt der Befehl \aaa jeweils true oder false aus. Das funktioniert also.
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesPackage{JenMath}[2010/09/29]
\makeatletter
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{amsfonts}
\RequirePackage{ifthen}
\newboolean{@normidx}
\setboolean{@normidx}{true}
\DeclareOption{normidx}{\setboolean{@normidx}{fals e}}
\ProcessOptions\relax
\if@normidx
\newcommand{\aaa}{false}
\else
\newcommand{\aaa}{true}
\fi
\makeatother
Sobald ich aber in die if-Anweisung den Code einfüge den ich da wirklich haben will, dann macht dieser Code nicht mehr das, was er machen soll.
\if@normidx
\begingroup
\catcode`\_=\active
\def_#1{\sb{\operator@font#1}}
\endgroup
\fi
Füge ich den Code übrigens ohne if-Anweisung ein, dann funktioniert er. Das Problem muss also irgendwie in der Kombination aus if-Anweisung und Befehlsdeklaration liegen.
Kann mir da jemand weiter helfen?
Schonmal vielen vielen Dank!