So verwenden Sie \cases in der iopart-Dokumentklasse

So verwenden Sie \cases in der iopart-Dokumentklasse

Die Dokumentklasse iopart definiert in der iopart.clsDatei

\def\cases#1{%
     \left\{\,\vcenter{\def\\{\cr}\normalbaselines\openup1\jot\m@th%
     \ialign{\strut$\displaystyle{##}\hfil$&\tqs
     \rm##\hfil\crcr#1\crcr}}\right.}%

Ist dies ein Ersatz für amsmathdie casesUmgebung? Wie verwende ich es? Die Definition erscheint nirgendwo sonst in der Datei.

Die Frage, wie man eine Cases-Umgebung manuell implementiert, wurde bereits gestelltHier. Ich frage mich, ob dies angesichts des Alters dieses Beitrags noch erforderlich ist.

Antwort1

Diese Definition \cases(die keine Umgebung ist) ist eine Modifikation der Definition im LaTeX-Kernel, die wiederum im Wesentlichen mit der in einfachem TeX identisch ist.

Übrigens sind Befehle wie \rmund \bfveraltet und werden seit fast drei Jahrzehnten nicht mehr unterstützt.

amsmathEs gibt eine sehr einfache Möglichkeit, zusammen mit laden zu können iopart. Ich werde auch einen Trick verwenden, um das Ergebnis von iopart's \casesund amsmath's zu vergleichen cases.

\documentclass[10pt]{iopart}

% for using amsmath
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax

%%% This is just to compare the results
\let\iopartcases\cases
%%%

\usepackage{amsmath}

\begin{document}

In the following display I'll be using \verb|\cases| as
defined by \verb|iopart| in order to check the differences
\[
f(x)=\iopartcases{1 & abc \\ 0 & uvw}
\]
The following display will use \verb|cases| as defined by
\verb|amsmath| in order to check the differences
\[
f(x)=\begin{cases} 1 & abc \\ 0 & uvw \end{cases}
\]
Now we can decide which one to use.

\end{document}

Bildbeschreibung hier eingeben

Wenn Sie diese Vorgehensweise bevorzugen iopart, können Sie eine Umgebung definieren iopcases(ich würde keine überschreiben amsmath).

\documentclass[10pt]{iopart}

% for using amsmath
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax

%%% This is just to compare the results
\let\iopartcases\cases
%%%

\usepackage{amsmath}
\usepackage{mathtools}

\makeatletter
\newcases{iopcases}{\tqs}
 {$\m@th\displaystyle##$\hfil}
 {##\hfil}
 {\lbrace}
 {.}
\makeatother

\begin{document}

In the following display I'll be using \verb|\cases| as
defined by \verb|iopart| in order to check the differences
\[
f(x)=\iopartcases{1 & abc \\ 0 & uvw}
\]
The following display will use \verb|iopcases| as defined
above in order to check the differences
\[
f(x)=\begin{iopcases} 1 & abc \\ 0 & uvw \end{iopcases}
\]
Now we can decide which one to use.

\end{document}

Bildbeschreibung hier eingeben

Willst du den dünnen Raum wie iopart? Verwandle dich in

\makeatletter
\newcases{iopcases}{\tqs}
 {$\m@th\displaystyle\,##$\hfil}
 {##\hfil}
 {\lbrace}
 {.}
\makeatother

und du bekommst

Bildbeschreibung hier eingeben

Für private Zwecke würde ich es nicht verwenden iopart. Es gibt mehrere andere Kurse, in denen man ohne Tricks grundlegende Werkzeuge für den Mathematiksatz verwenden kann.

verwandte Informationen