
La clase de documento iopart define lo siguiente en el iopart.cls
archivo
\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 amsmath
de 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 \rm
y \bf
están obsoletos y han estado en desuso durante casi tres décadas.
Existe una forma muy sencilla de poder cargar amsmath
junto con iopart
. También usaré un truco para comparar el resultado de iopart
's \cases
y 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}
Si prefiere la forma en iopart
que lo hace, puede definir un iopcases
entorno (no anularía amsmath
ninguno).
\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}
¿Quieres el espacio delgado como iopart
lo hace? Cambie a
\makeatletter
\newcases{iopcases}{\tqs}
{$\m@th\displaystyle\,##$\hfil}
{##\hfil}
{\lbrace}
{.}
\makeatother
y obtendrás
No lo usaría iopart
para fines privados. Hay varias otras clases que no necesitan trucos para utilizar herramientas básicas para componer matemáticas.