Cómo usar \cases en la clase de documento iopart

Cómo usar \cases en la clase de documento iopart

La clase de documento iopart define lo siguiente en el iopart.clsarchivo

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

¿Es este un sustituto del entorno amsmathde China cases? ¿Como lo uso? La definición no aparece en ningún otro lugar del archivo.

Ya se ha planteado la cuestión de cómo implementar un entorno de casos manualmente.aquí. Me pregunto si esto todavía es necesario, dada la antigüedad de esa publicación.

Respuesta1

Esta definición de \cases(que no es un entorno) es una modificación de la del kernel de LaTeX, que a su vez es esencialmente la misma que en TeX simple.

Por cierto, comandos como \rmy \bfestán obsoletos y han estado en desuso durante casi tres décadas.

Existe una forma muy sencilla de poder cargar amsmathjunto con iopart. También usaré un truco para comparar el resultado de iopart's \casesy amsmath's 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}

ingrese la descripción de la imagen aquí

Si prefiere la forma en iopartque lo hace, puede definir un iopcasesentorno (no anularía amsmathninguno).

\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}

ingrese la descripción de la imagen aquí

¿Quieres el espacio delgado como iopartlo hace? Cambie a

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

y obtendrás

ingrese la descripción de la imagen aquí

No lo usaría iopartpara fines privados. Hay varias otras clases que no necesitan trucos para utilizar herramientas básicas para componer matemáticas.

información relacionada